优化对话到工单的处理逻辑,新增进度条显示,调整日期参数的默认值,并修复日志目录创建的冗余代码。同时,更新DifyExporter类以支持按日期范围过滤消息,重构查询日志加载逻辑,新增备注提取功能,提升代码可读性和可维护性。

This commit is contained in:
2025-07-14 17:21:21 +08:00
parent b06a84c059
commit af1e1a9d9b
6 changed files with 88 additions and 51 deletions
+19 -7
View File
@@ -288,8 +288,10 @@ class AsyncIntentRecognizer:
# 步骤2: 使用向量检索找到相似的专业名词
try:
vector_start_time = time.time()
# 对matched_terms中的每个关键字进行向量检索
for current_key in query_keys:
# 创建并行任务列表
async def process_single_keyword(current_key: str) -> List[Term]:
"""处理单个关键词的向量检索和重排序"""
vector_results = await self._noun_retriever.query_async(current_key, top_k=5, use_intersection=False)
current_key_terms = set()
# 添加向量检索结果
@@ -304,7 +306,17 @@ class AsyncIntentRecognizer:
current_key_terms.add(term)
if len(current_key_terms) > 0:
reranked_terms = await self._rerank_matched_terms_async(current_key, current_key_terms)
matched_terms.extend(reranked_terms)
return reranked_terms
return []
# 并行处理所有关键词
keyword_tasks = [process_single_keyword(current_key) for current_key in query_keys]
keyword_results = await asyncio.gather(*keyword_tasks)
# 合并所有结果
for result in keyword_results:
matched_terms.extend(result)
vector_end_time = time.time()
vector_time = vector_end_time - vector_start_time
except Exception as e:
@@ -649,7 +661,7 @@ class AsyncIntentRecognizer:
formatted_prompt = step_back_prompt.format(
query=query,
chat_history=json.dumps(chat_history, ensure_ascii=False) if chat_history else "[]",
conversation_context=conversation_context,
# conversation_context=conversation_context,
output_format=step_back_parser.get_format_instructions()
)
@@ -688,7 +700,7 @@ class AsyncIntentRecognizer:
formatted_prompt = follow_up_questions_prompt.format(
query=query,
chat_history=json.dumps(chat_history, ensure_ascii=False) if chat_history else "[]",
conversation_context=conversation_context,
# conversation_context=conversation_context,
output_format=follow_up_parser.get_format_instructions()
)
@@ -727,7 +739,7 @@ class AsyncIntentRecognizer:
formatted_prompt = hyde_prompt.format(
query=query,
chat_history=json.dumps(chat_history, ensure_ascii=False) if chat_history else "[]",
conversation_context=conversation_context,
# conversation_context=conversation_context,
output_format=hyde_parser.get_format_instructions()
)
@@ -766,7 +778,7 @@ class AsyncIntentRecognizer:
formatted_prompt = multi_questions_prompt.format(
query=query,
chat_history=json.dumps(chat_history, ensure_ascii=False) if chat_history else "[]",
conversation_context=conversation_context,
# conversation_context=conversation_context,
output_format=multi_questions_parser.get_format_instructions()
)