优化对话到工单的处理逻辑,新增进度条显示,调整日期参数的默认值,并修复日志目录创建的冗余代码。同时,更新DifyExporter类以支持按日期范围过滤消息,重构查询日志加载逻辑,新增备注提取功能,提升代码可读性和可维护性。
This commit is contained in:
@@ -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()
|
||||
)
|
||||
|
||||
|
||||
Reference in New Issue
Block a user