本文件介绍本项目开发中用到的文件与工具。
项目说明:本项目是一个基于图结构的智能对话导航系统(Graph Chatbot)。虽然代码中仍使用"phone"相关命名以保持向后兼容,但系统的核心是一个通用的图导航框架。
编码规范:建议每个文件都添加 if __name__=="__main__" 测试方法。
重要提示:本项目为通用框架,所有业务数据都可自定义。当前提供的是示例数据,需根据实际业务场景进行修改。
# 激活虚拟环境(路径请根据实际情况调整)
source test_env/bin/activate # Linux/Mac
# 或 test_env\Scripts\activate # Windowspython -m src.DAL.db.db_clients.create_tables #删除旧数据并导入新数据以创建数据表问题原因通常是原始数据经过增删改,图节点的 node_id 可能不是连续递增,中间可能缺号(如1、2、51、3、53)。此命令会生成 normalized_phone_node.json,请手动将其重命名为 phone_node.json 使用。
python -m src.utils.json_normalizerpython -m src.DAL.json.export_to_json #备份数据库为jsonllama-server -m /home/lkm/00model/Qwen3-4B-Instruct-2507-UD-Q8_K_XL.gguf -c 4096 -ngl 35 --host 0.0.0.0 --port 8080 #模型推理服务推荐参数
python -m src.api.app # 启动WEB应用,访问 localhost:8003注意:训练数据生成工具目前采用通用客服系统模板。请根据实际业务需求修改 src/tools/generate_training_data.py 的查询模板和变量。
# 生成训练数据模板(请根据业务需求修改脚本中的模板)
python -m src.tools.generate_training_data #会生成三类文件,分别用于系统提示词、用户提示词以及结果合并
# 使用Web页面编辑训练数据
python -m src.tools.training_data_editor #网页编辑器,可人工筛选与验证答案修改建议:
- 打开
src/tools/generate_training_data.py - 修改
generate_user_queries()方法中的query_templates,使其符合具体业务需求 - 修改产品/服务名称清单,或根据节点数据自动生成
- 生成数据后,用训练数据编辑器手动核对与完善
注意:这些工具适用于语音文本与音频文件生成。应根据实际业务场景修改相关脚本。
# 生成语音文本(请在脚本内修改模板以适配业务)
python scripts/generate_text/generate_verbal_texts.py --mode all
# 将语音文本转换为节点音频文件
python scripts/generate_audio/generate_node_audio_from_verbal.pypython -m src.services.asr_correction.service