feat(agent): LLM调用org_id可配(params ticket_agent_org_id)——'0'机构无模型网关策略致__LEGACY__降级转人工的实测修复

This commit is contained in:
yumoqing 2026-09-10 16:50:54 +08:00
parent ce685bc684
commit d151ea76d5

View File

@ -6,7 +6,9 @@
原子认领后检索知识库+历史工单LLM 裁决能否回答
- 知识库'0' 机构平台级KB 复用 pipeline_service.rag_client API 模式
dapi Bearer key 按平台账号发放rag 侧机构隔离自动只见 org_id='0' KB
- LLMpipeline_service.llm_bridge.llm_call内部 token + 门禁链 + 记账org_id='0'
- LLMpipeline_service.llm_bridge.llm_call内部 token + 门禁链 + 记账调用 org_id
默认 '0'可由 params ticket_agent_org_id 指定为任一已在模型网关配好容错策略的机构
'0' 机构未配策略时 llm_bridge 返回 __LEGACY__agent 走基础设施故障降级转人工
- 语义判断铁律能否回答 LLM 裁决严格 JSON禁关键词匹配
- 硬门禁reply 空或 <20 字符 视为答不了转人工宁转人工不给空话
- 基础设施故障LLM/RAG 调用异常JSON 解析失败 答不了fail_rounds+1 回退
@ -144,11 +146,19 @@ async def _llm_judge(title, description, category, kb_hits, history):
prompt = '%s\n\n## 客户工单\n标题:%s\n分类:%s\n描述:%s\n\n请判断并输出 JSON。' % (
'\n'.join(ctx_parts), title, category, description[:1500])
# LLM 调用 org_id模型网关策略按机构选择+记账。默认 '0'(平台机构语义),
# 但 '0' 机构须在模型网关配好容错策略;未配则 llm_bridge 返回 __LEGACY__ 报错
# → agent 走"基础设施故障"降级fail_rounds→转人工。运维可设 params
# ticket_agent_org_id 指向任一已配策略的机构2026-09-10 部署实测:'0' 无策略)。
db = core._get_db()
async with db.sqlorContext(core._dbname()) as sor:
llm_org_id = await core._get_param(sor, 'ticket_agent_org_id', '0')
try:
from pipeline_service.llm_bridge import llm_call
raw = await llm_call(
_JUDGE_SYSTEM + '\n\n' + prompt,
org_id='0', user_id='', purpose='utility', timeout=120)
org_id=llm_org_id, user_id='', purpose='utility', timeout=120)
except Exception as e:
return False, 'llm_call 异常: %s' % str(e)[:200]