feat(agent): 增加 LLM 路由与诊断日志

This commit is contained in:
2026-06-06 17:56:41 +08:00
parent 47b5ad1054
commit fa77c68d77
21 changed files with 832 additions and 17 deletions

View File

@@ -14,11 +14,38 @@ ATTACHMENT_READER_KEYWORDS = (
"查看附件",
"附件详情",
"文件详情",
"文件内容",
"附件内容",
"简历文件",
"提供的文件",
"提供的简历",
"上传的文件",
"上传文件",
"这个文件",
"该文件",
"总结附件",
"总结文件",
"分析这个文件",
"阅读这个文件",
)
ATTACHMENT_REFERENCE_KEYWORDS = ("附件", "文件", "简历", "上传")
ATTACHMENT_READ_INTENT_KEYWORDS = (
"阅读",
"读取",
"",
"解析",
"分析",
"查看",
"提取",
"整理",
"总结",
"介绍",
"项目经历",
"工作经历",
"经历",
"信息",
"内容",
)
@dataclass(frozen=True)
@@ -45,7 +72,11 @@ def evaluate_file_summary_trigger(conversation: Conversation, content: str) -> T
def evaluate_attachment_reader_trigger(conversation: Conversation, content: str) -> TriggerResult:
text = (content or "").strip()
if not any(keyword in text for keyword in ATTACHMENT_READER_KEYWORDS):
matched = any(keyword in text for keyword in ATTACHMENT_READER_KEYWORDS) or (
any(keyword in text for keyword in ATTACHMENT_REFERENCE_KEYWORDS)
and any(keyword in text for keyword in ATTACHMENT_READ_INTENT_KEYWORDS)
)
if not matched:
return TriggerResult(should_start=False, reason="not_matched")
has_attachment = FileAttachment.objects.filter(