修复图标规范 LLM 模型配置与错误提示
为图标规范优化与参数补全请求指定默认模型 将两类请求切换为 OpenAI Chat 协议 统一 VectorEngine LLM 客户端读取与未配置错误信息
This commit is contained in:
@@ -5,7 +5,7 @@ use axum::{
|
||||
extract::{Extension, State},
|
||||
http::StatusCode,
|
||||
};
|
||||
use platform_llm::{LlmMessage, LlmRunRequest};
|
||||
use platform_llm::{EDITOR_AGENT_GPT5_MODEL, LlmMessage, LlmRunRequest};
|
||||
use serde::{Deserialize, Deserializer, Serialize, Serializer, de};
|
||||
use serde_json::{Value, json};
|
||||
use shared_contracts::assets::EditorCanvasGenerationCompletionPayload;
|
||||
@@ -260,15 +260,17 @@ async fn run_icon_spec_extra_param_llm(
|
||||
state: &AppState,
|
||||
prompt: String,
|
||||
) -> Result<ExtraParam, AppError> {
|
||||
let configured_llm_client = state.llm_client().ok_or_else(|| {
|
||||
let configured_llm_client = state.vector_engine_llm_client().ok_or_else(|| {
|
||||
AppError::from_status(StatusCode::SERVICE_UNAVAILABLE).with_details(json!({
|
||||
"provider": "editor-icon-spec-llm",
|
||||
"message": "服务端尚未配置可用的 LLM API Key",
|
||||
"message": "服务端尚未配置可用的 VectorEngine LLM API Key",
|
||||
}))
|
||||
})?;
|
||||
let retry_backoff_ms = configured_llm_client.config().retry_backoff_ms();
|
||||
let llm_client = configured_llm_client.clone().with_max_retries(0);
|
||||
let request = LlmRunRequest::new(vec![LlmMessage::user(prompt)]);
|
||||
let request = LlmRunRequest::new(vec![LlmMessage::user(prompt)])
|
||||
.with_model(EDITOR_AGENT_GPT5_MODEL)
|
||||
.with_openai_chat();
|
||||
|
||||
for attempt in 1..=ICON_SPEC_LLM_MAX_ATTEMPTS {
|
||||
match llm_client.run(request.clone()).await {
|
||||
|
||||
@@ -3,7 +3,7 @@ use axum::{
|
||||
extract::{Extension, State},
|
||||
http::StatusCode,
|
||||
};
|
||||
use platform_llm::{LlmMessage, LlmRunRequest};
|
||||
use platform_llm::{EDITOR_AGENT_GPT5_MODEL, LlmMessage, LlmRunRequest};
|
||||
use serde::Deserialize;
|
||||
use serde_json::{Value, json};
|
||||
use std::time::Duration;
|
||||
@@ -144,15 +144,17 @@ fn normalize_refined_text(value: &str) -> Result<String, RefinedTextError> {
|
||||
}
|
||||
|
||||
async fn run_refine_text_llm(state: &AppState, prompt: String) -> Result<String, AppError> {
|
||||
let configured_llm_client = state.llm_client().ok_or_else(|| {
|
||||
let configured_llm_client = state.vector_engine_llm_client().ok_or_else(|| {
|
||||
AppError::from_status(StatusCode::SERVICE_UNAVAILABLE).with_details(json!({
|
||||
"provider": "editor-icon-spec-llm",
|
||||
"message": "服务端尚未配置可用的 LLM API Key",
|
||||
"message": "服务端尚未配置可用的 VectorEngine LLM API Key",
|
||||
}))
|
||||
})?;
|
||||
let retry_backoff_ms = configured_llm_client.config().retry_backoff_ms();
|
||||
let llm_client = configured_llm_client.clone().with_max_retries(0);
|
||||
let request = LlmRunRequest::new(vec![LlmMessage::user(prompt)]);
|
||||
let request = LlmRunRequest::new(vec![LlmMessage::user(prompt)])
|
||||
.with_model(EDITOR_AGENT_GPT5_MODEL)
|
||||
.with_openai_chat();
|
||||
|
||||
for attempt in 1..=ICON_SPEC_LLM_MAX_ATTEMPTS {
|
||||
match llm_client.run(request.clone()).await {
|
||||
|
||||
Reference in New Issue
Block a user