新增: F-01阶段5模型路由调用点接入

This commit is contained in:
lxy
2026-06-17 00:33:44 +08:00
parent 5b7f342e14
commit 2ddfea67c7
10 changed files with 220 additions and 24 deletions
+29 -2
View File
@@ -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),