feat(agent): LLM调用org_id可配(params ticket_agent_org_id)——'0'机构无模型网关策略致__LEGACY__降级转人工的实测修复
This commit is contained in:
parent
ce685bc684
commit
d151ea76d5
@ -6,7 +6,9 @@
|
||||
原子认领后检索知识库+历史工单,LLM 裁决能否回答。
|
||||
- 知识库:'0' 机构(平台级)KB —— 复用 pipeline_service.rag_client 的 API 模式
|
||||
(dapi Bearer key 按平台账号发放,rag 侧机构隔离自动只见 org_id='0' 的 KB)。
|
||||
- LLM:pipeline_service.llm_bridge.llm_call(内部 token + 门禁链 + 记账,org_id='0')。
|
||||
- LLM:pipeline_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]
|
||||
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user