From 3197e3839a93b8e047e242d4982feb626dec5b00 Mon Sep 17 00:00:00 2001 From: zxstty Date: Wed, 6 Aug 2025 20:26:45 +0800 Subject: [PATCH 1/2] =?UTF-8?q?=E5=8E=BB=E9=99=A4=E5=A4=A7=E6=A8=A1?= =?UTF-8?q?=E5=9E=8Burl=E5=A4=9A=E4=BD=99=E7=9A=84v1?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- apps/scheduler/mcp_agent/plan.py | 3 ++- deploy/chart/euler_copilot/configs/rag/.env | 2 +- 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/apps/scheduler/mcp_agent/plan.py b/apps/scheduler/mcp_agent/plan.py index 91d293fbf..2d68dd595 100644 --- a/apps/scheduler/mcp_agent/plan.py +++ b/apps/scheduler/mcp_agent/plan.py @@ -72,11 +72,12 @@ class MCPPlanner: @staticmethod async def evaluate_goal( + goal: str, tool_list: list[MCPTool], resoning_llm: ReasoningLLM = ReasoningLLM()) -> GoalEvaluationResult: """评估用户目标的可行性""" # 获取推理结果 - result = await MCPPlanner._get_reasoning_evaluation(tool_list, resoning_llm) + result = await MCPPlanner._get_reasoning_evaluation(goal, tool_list, resoning_llm) # 解析为结构化数据 evaluation = await MCPPlanner._parse_evaluation_result(result) diff --git a/deploy/chart/euler_copilot/configs/rag/.env b/deploy/chart/euler_copilot/configs/rag/.env index 5e83f3f41..0708fd076 100644 --- a/deploy/chart/euler_copilot/configs/rag/.env +++ b/deploy/chart/euler_copilot/configs/rag/.env @@ -52,7 +52,7 @@ HALF_KEY3=${halfKey3} #LLM config MODEL_NAME={{ .Values.models.answer.name }} -OPENAI_API_BASE={{ .Values.models.answer.endpoint }}/v1 +OPENAI_API_BASE={{ .Values.models.answer.endpoint }} OPENAI_API_KEY={{ default "" .Values.models.answer.key }} MAX_TOKENS={{ default 2048 .Values.models.answer.maxTokens }} -- Gitee From 7f13e7239524cd495beaf571ba9ad6f7c81dd4ef Mon Sep 17 00:00:00 2001 From: zxstty Date: Wed, 6 Aug 2025 20:58:49 +0800 Subject: [PATCH 2/2] =?UTF-8?q?app=E5=A2=9E=E5=8A=A0llm=20id=E5=AD=97?= =?UTF-8?q?=E6=AE=B5?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- apps/scheduler/scheduler/scheduler.py | 16 +++++++++++++--- apps/schemas/agent.py | 3 ++- apps/schemas/appcenter.py | 1 + apps/schemas/flow.py | 1 + apps/services/appcenter.py | 1 + 5 files changed, 18 insertions(+), 4 deletions(-) diff --git a/apps/scheduler/scheduler/scheduler.py b/apps/scheduler/scheduler/scheduler.py index 13eb7ee0b..523587e37 100644 --- a/apps/scheduler/scheduler/scheduler.py +++ b/apps/scheduler/scheduler/scheduler.py @@ -207,9 +207,19 @@ class Scheduler: if not app_metadata: logger.error("[Scheduler] 未找到Agent应用") return - llm = await LLMManager.get_llm_by_id( - self.task.ids.user_sub, app_metadata.llm_id, - ) + if app_metadata.llm_id == "empty": + llm = LLM( + _id="empty", + user_sub=self.task.ids.user_sub, + openai_base_url=Config().get_config().llm.endpoint, + openai_api_key=Config().get_config().llm.key, + model_name=Config().get_config().llm.model, + max_tokens=Config().get_config().llm.max_tokens, + ) + else: + llm = await LLMManager.get_llm_by_id( + self.task.ids.user_sub, app_metadata.llm_id, + ) if not llm: logger.error("[Scheduler] 获取大模型失败") await self.queue.close() diff --git a/apps/schemas/agent.py b/apps/schemas/agent.py index b52f5e1c3..16e818e4d 100644 --- a/apps/schemas/agent.py +++ b/apps/schemas/agent.py @@ -17,6 +17,7 @@ class AgentAppMetadata(MetadataBase): app_type: AppType = Field(default=AppType.AGENT, description="应用类型", frozen=True) published: bool = Field(description="是否发布", default=False) history_len: int = Field(description="对话轮次", default=3, le=10) - mcp_service: list[str] = Field(default=[], alias="mcpService", description="MCP服务id列表") + mcp_service: list[str] = Field(default=[], description="MCP服务id列表") + llm_id: str = Field(default="empty", description="大模型ID") permission: Permission | None = Field(description="应用权限配置", default=None) version: str = Field(description="元数据版本") diff --git a/apps/schemas/appcenter.py b/apps/schemas/appcenter.py index a65fffb2d..2f0549b2c 100644 --- a/apps/schemas/appcenter.py +++ b/apps/schemas/appcenter.py @@ -69,6 +69,7 @@ class AppData(BaseModel): first_questions: list[str] = Field( default=[], alias="recommendedQuestions", description="推荐问题", max_length=3) history_len: int = Field(3, alias="dialogRounds", ge=1, le=10, description="对话轮次(1~10)") + llm_id: str = Field(default="empty", alias="llmId", description="大模型ID") permission: AppPermissionData = Field( default_factory=lambda: AppPermissionData(authorizedUsers=None), description="权限配置") workflows: list[AppFlowInfo] = Field(default=[], description="工作流信息列表") diff --git a/apps/schemas/flow.py b/apps/schemas/flow.py index 2646d0439..dfffd1f14 100644 --- a/apps/schemas/flow.py +++ b/apps/schemas/flow.py @@ -136,6 +136,7 @@ class AppMetadata(MetadataBase): published: bool = Field(description="是否发布", default=False) links: list[AppLink] = Field(description="相关链接", default=[]) first_questions: list[str] = Field(description="首次提问", default=[]) + llm_id: str = Field(description="大模型ID", default="empty") history_len: int = Field(description="对话轮次", default=3, le=10) permission: Permission | None = Field(description="应用权限配置", default=None) flows: list[AppFlow] = Field(description="Flow列表", default=[]) diff --git a/apps/services/appcenter.py b/apps/services/appcenter.py index e256ab55a..559accc2c 100644 --- a/apps/services/appcenter.py +++ b/apps/services/appcenter.py @@ -409,6 +409,7 @@ class AppCenterManager: "name": source.name, "description": source.description, "history_len": source.history_len, + "llm_id": source.llm_id, } @staticmethod -- Gitee