新增: F-01阶段5模型路由调用点接入
This commit is contained in:
@@ -6,6 +6,11 @@ use serde::{Deserialize, Serialize};
|
||||
use tauri::State;
|
||||
|
||||
use df_ai::provider::{ChatMessage, CompletionRequest};
|
||||
// F-01 阶段5: 项目扫描描述路由 — TaskRequirements(Standard;采样含图时追加 Vision,
|
||||
// 当前采样(ProjectSample)未含图像,故仅 Text)。池空/无匹配兜底 default_model。
|
||||
use df_ai::router::{
|
||||
select_model_id, IntelligenceTier, Modality, TaskRequirements,
|
||||
};
|
||||
use df_core::types::new_id;
|
||||
use df_project::scan::{
|
||||
collect_sample, detect_stack, discover_projects, extract_description, is_monorepo,
|
||||
@@ -522,8 +527,19 @@ async fn extract_description_via_llm(
|
||||
.map_err(err_str)?
|
||||
.map_err(err_str)?;
|
||||
|
||||
// F-01 阶段5: 项目扫描描述路由 — Standard,无工具;采样未含图故仅 Text。
|
||||
// select_model_id None(池空/无匹配)→ 兜底 default_model(行为不变)。
|
||||
let scan_req = TaskRequirements {
|
||||
modalities: vec![Modality::Text],
|
||||
needs_tool_use: false,
|
||||
min_intelligence: IntelligenceTier::Standard,
|
||||
max_cost: None,
|
||||
estimated_context: 0,
|
||||
};
|
||||
let scan_model = select_model_id(&scan_req, &pc.model_configs)
|
||||
.unwrap_or_else(|| pc.default_model.clone());
|
||||
let request = CompletionRequest {
|
||||
model: pc.default_model.clone(),
|
||||
model: scan_model,
|
||||
messages: build_scan_prompt(&sample, &rule_stack),
|
||||
temperature: Some(0.2),
|
||||
max_tokens: Some(400),
|
||||
@@ -606,8 +622,19 @@ pub async fn scan_project_with_ai(
|
||||
});
|
||||
}
|
||||
};
|
||||
// F-01 阶段5: 项目扫描描述路由 — Standard,无工具;采样未含图故仅 Text。
|
||||
// select_model_id None(池空/无匹配)→ 兜底 default_model(行为不变)。
|
||||
let scan_req = TaskRequirements {
|
||||
modalities: vec![Modality::Text],
|
||||
needs_tool_use: false,
|
||||
min_intelligence: IntelligenceTier::Standard,
|
||||
max_cost: None,
|
||||
estimated_context: 0,
|
||||
};
|
||||
let scan_model = select_model_id(&scan_req, &pc.model_configs)
|
||||
.unwrap_or_else(|| pc.default_model.clone());
|
||||
let request = CompletionRequest {
|
||||
model: pc.default_model.clone(),
|
||||
model: scan_model,
|
||||
messages: build_scan_prompt(&sample, &rule_stack),
|
||||
temperature: Some(0.2),
|
||||
max_tokens: Some(400),
|
||||
|
||||
Reference in New Issue
Block a user