feat: 集成Hermes智能体系统,增强聊天和差旅报销功能
This commit is contained in:
@@ -662,3 +662,52 @@ def test_llm_wiki_sync_endpoint_records_agent_run(monkeypatch) -> None:
|
||||
assert latest_run.tool_calls[0].tool_name == "system_hermes_llm_wiki_sync"
|
||||
assert latest_run.tool_calls[0].status == "succeeded"
|
||||
assert latest_run.route_json["sync_run_id"] == "wiki_test_sync"
|
||||
|
||||
|
||||
def test_llm_wiki_callback_finalizes_one_whole_document_result(tmp_path) -> None:
|
||||
document_id = upload_policy_document(tmp_path)
|
||||
|
||||
with build_session() as db:
|
||||
run = AgentRunService(db).create_run(
|
||||
agent="hermes",
|
||||
source=AgentRunSource.SCHEDULE.value,
|
||||
user_id="admin",
|
||||
route_json={
|
||||
"job_type": "llm_wiki_sync",
|
||||
"folder": "报销制度",
|
||||
"requested_document_ids": [document_id],
|
||||
"requested_by_username": "admin",
|
||||
"requested_by_name": "管理员",
|
||||
},
|
||||
)
|
||||
service = LlmWikiService(db, storage_root=tmp_path)
|
||||
candidate_payload = build_candidate_payload(f"{document_id}-document")
|
||||
result = service.finalize_agent_batch_callback(
|
||||
agent_run_id=run.run_id,
|
||||
payload={
|
||||
"ok": True,
|
||||
"summary": "Hermes 已完成整文档归纳。",
|
||||
"folder": "报销制度",
|
||||
"documents": [
|
||||
{
|
||||
"document_id": document_id,
|
||||
"knowledge_summary_markdown": "# Hermes 整文档归纳结果",
|
||||
**candidate_payload,
|
||||
}
|
||||
],
|
||||
},
|
||||
)
|
||||
|
||||
detail = service.get_document_detail(document_id)
|
||||
|
||||
assert result.document_count == 1
|
||||
assert result.knowledge_candidate_count == 1
|
||||
assert result.rule_candidate_count == 1
|
||||
assert detail.chunk_count == 1
|
||||
assert len(detail.chunks) == 1
|
||||
assert detail.chunks[0].chunk_id == f"{document_id}-document"
|
||||
assert detail.knowledge_summary_markdown == "# Hermes 整文档归纳结果"
|
||||
assert detail.quality_status == "formal"
|
||||
|
||||
knowledge_detail = KnowledgeService(storage_root=tmp_path).get_document_detail(document_id)
|
||||
assert knowledge_detail.stateCode == KNOWLEDGE_INGEST_STATUS_INGESTED
|
||||
|
||||
Reference in New Issue
Block a user