移除识别绑定旧计算命名
清理请求错误、结果校验和日志中的旧计算及联合文案
This commit is contained in:
+7
-8
@@ -350,13 +350,13 @@ fn validate_component_references(
|
||||
.as_ref()
|
||||
.is_some_and(|id| !known_sprite_ids.contains(id))
|
||||
{
|
||||
return Err("联合识别绑定引用了不存在的独立素材".to_string());
|
||||
return Err("识别绑定引用了不存在的独立素材".to_string());
|
||||
}
|
||||
}
|
||||
Component::Text(text) => {
|
||||
if let FontSource::Bound(id) = &text.font {
|
||||
if !known_font_ids.contains(id) {
|
||||
return Err("联合识别绑定引用了不存在的字体素材".to_string());
|
||||
return Err("识别绑定引用了不存在的字体素材".to_string());
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -674,7 +674,6 @@ pub(crate) async fn recognition_and_binding_impl_with_provider(
|
||||
});
|
||||
parts.push(LlmMessageContentPart::InputImage { image_url });
|
||||
}
|
||||
parts.push(LlmMessageContentPart::InputText { text: "请为每张输入图片各返回一棵 UI 树(trees 与输入图片一一对应);每个节点可包含 components,空数组表示无组件。不要输出 node_id。".to_string() });
|
||||
let (llm, client) = if provider_identity.is_none() {
|
||||
let llm = load_game_creator_app_config()?.llm;
|
||||
let client = build_game_creator_llm_client_from_llm_config(&llm, "llm")
|
||||
@@ -690,8 +689,8 @@ pub(crate) async fn recognition_and_binding_impl_with_provider(
|
||||
)
|
||||
.with_strict(true);
|
||||
let request = LlmRunRequest::new(vec![
|
||||
LlmMessage::system(RECOGNITION_AND_BINDING_SYSTEM_PROMPT),
|
||||
LlmMessage::user_multimodal(parts),
|
||||
LlmMessage::system(SYSTEM_PROMPT),
|
||||
LlmMessage::user_multimodal(parts),
|
||||
])
|
||||
.with_function_tools(vec![tool])
|
||||
.with_tool_choice(LlmToolChoice::Required);
|
||||
@@ -715,7 +714,7 @@ pub(crate) async fn recognition_and_binding_impl_with_provider(
|
||||
)
|
||||
.await
|
||||
}
|
||||
.map_err(|error| format!("UI 编辑器单次计算失败:{error}"))?;
|
||||
.map_err(|error| format!("UI 编辑器识别绑定失败:{error}"))?;
|
||||
let call = response
|
||||
.tool_calls
|
||||
.iter()
|
||||
@@ -724,7 +723,7 @@ pub(crate) async fn recognition_and_binding_impl_with_provider(
|
||||
let arguments = parse_limited_llm_tool_arguments(&call.arguments)?;
|
||||
validate_recognition_response_shape(&arguments)?;
|
||||
let parsed = serde_json::from_value::<RecognitionResponse>(arguments)
|
||||
.map_err(|error| format!("联合结果参数无效:{error}"))?;
|
||||
.map_err(|error| format!("识别绑定结果参数无效:{error}"))?;
|
||||
validate_tree_image_ids(&parsed.trees, &context_ids)?;
|
||||
let known_sprite_ids = state.sprite_assets.keys().cloned().collect::<HashSet<_>>();
|
||||
let known_font_ids = state.font_assets.keys().cloned().collect::<HashSet<_>>();
|
||||
@@ -765,7 +764,7 @@ pub(crate) async fn recognition_and_binding_impl_with_provider(
|
||||
});
|
||||
}
|
||||
app_log!(
|
||||
"ui_editor.compute.completed requests=1 ui_images={} sprites={} trees={}",
|
||||
"ui_editor.recognition_and_binding.completed requests=1 ui_images={} sprites={} trees={}",
|
||||
state.ui_design_images.len(),
|
||||
state.sprite_assets.len(),
|
||||
ui_trees.len()
|
||||
|
||||
Reference in New Issue
Block a user