优化对话转工单功能,添加重试机制以提高稳定性,限制处理会话数量为前2000个,更新示例查询和文件路径,增强代码可读性和维护性。同时新增数据库客户端功能,支持批量处理会话数据并导出至Excel。

This commit is contained in:
2025-06-17 19:46:04 +08:00
parent a5c1548240
commit 22d48c951f
10 changed files with 718 additions and 96 deletions
+8 -7
View File
@@ -175,7 +175,7 @@ def save_results_to_excel(results, output_file, is_final=False):
logging.info(f"已保存{len(valid_results)}条结果至: {temp_output_file}")
# 示例查询
examples_query = """西藏软件呢"""
examples_query = """储能软件如何操作"""
conversation_context=""
chat_history=[
{
@@ -214,8 +214,8 @@ def main():
# 读取提问数据
current_dir = os.path.dirname(os.path.abspath(__file__))
data_file = os.path.join(current_dir, "..", "..", "data", "excel", "历史提问数据(like)_提问明确.xlsx")
output_file = os.path.join(current_dir, "..", "..", "data", "excel", "测试提问数据_槽位填充结果.xlsx")
data_file = os.path.join(current_dir, "..", "..", "data", "excel", "200条点踩数据测试.xlsx")
output_file = os.path.join(current_dir, "..", "..", "data", "excel", "200条点踩数据测试_槽位填充结果.xlsx")
# 检测是否为调试模式,调试模式下使用examples_query,否则从Excel读取
is_debug = hasattr(sys, 'gettrace') and sys.gettrace() is not None
@@ -226,7 +226,7 @@ def main():
examples = load_questions_from_excel(data_file)
if not is_debug:
max_workers = 40 # 减少并发数以避免API限制
max_workers = 20 # 减少并发数以避免API限制
logging.info(f"共有 {len(examples)} 个问题需要处理,使用 {max_workers} 个并发线程")
# 创建一个与输入顺序相同的结果列表
@@ -260,9 +260,10 @@ def main():
logging.info(f"所有处理完成,最终结果已保存至: {output_file}")
else:
for idx, query in enumerate(examples):
if query.strip() == "":
continue
process_query(recognizer, query, conversation_context, chat_history, previous_slots)
if query.strip() == "":
continue
process_query(recognizer, query, conversation_context, chat_history, previous_slots)
# print(json.dumps(process_query(recognizer, query), ensure_ascii=False, indent=2))
def setup_logging():
# 配置日志输出到控制台