feat:意图识别优化
This commit is contained in:
@@ -8,6 +8,10 @@ from app.clients.llm import get_llm
|
||||
from app.processor.base import BaseNode
|
||||
from app.processor.state import QueryState
|
||||
from app.prompt.planner import PLANNER_SYSTEM_PROMPT
|
||||
from app.schemas.capabilities import (
|
||||
RESOURCE_FALLBACK_ASSUMPTION,
|
||||
RESOURCE_QUERY_SUPPORTED,
|
||||
)
|
||||
from app.schemas.screen_plan import ScreenPlan
|
||||
|
||||
# 规划输出未通过校验时,带着错误让模型重新规划的最大次数
|
||||
@@ -69,12 +73,13 @@ class PlannerNode(BaseNode):
|
||||
feedback = f"上一次输出:\n{plan.model_dump_json()}\n\n{feedback}"
|
||||
messages = [*messages, HumanMessage(content=feedback)]
|
||||
|
||||
# 组件目录已在进入规划前完整获取,component 类资源需求不可能再有补充来源
|
||||
# 保留会让动作阶段误判为“待获取资源”而失败,能力缺口应由 assumptions 表达
|
||||
# TODO 接入数据源和 RAG 后,仅保留目录之外的资源需求
|
||||
plan.resource_needs = [
|
||||
need for need in plan.resource_needs if need.kind != "component"
|
||||
]
|
||||
# 资源查询接入前没有补充来源,保留会让动作阶段误判为“待获取资源”而失败
|
||||
if not RESOURCE_QUERY_SUPPORTED and plan.resource_needs:
|
||||
self.logger.info(
|
||||
f"资源查询未接入,改用默认配置: {[need.description for need in plan.resource_needs]}"
|
||||
)
|
||||
plan.resource_needs = []
|
||||
plan.assumptions.append(RESOURCE_FALLBACK_ASSUMPTION)
|
||||
|
||||
# 合并需求约束和规划约束,按首次出现顺序去重,保留需求约束在前
|
||||
plan.constraints = list(
|
||||
|
||||
Reference in New Issue
Block a user