littlebot
Published on 2025-04-03 / 0 Visits
0

【源码】基于Python的Doc2Dial对话系统

项目简介

本项目是基于Python的Doc2Dial对话系统,借助检索、重排序和生成三个模块实现高效对话生成。项目涵盖从模型训练到推理的完整流程,适用于处理大规模文档并生成相关对话的场景。

项目的主要特性和功能

  • 检索模块:利用inference_retrieval.py初步检索文档,筛选出与输入相关的文档。
  • 重排序模块:通过inference_rerank.py对检索结果重排序,提升相关文档优先级。
  • 生成模块:使用inference_generation.py生成最终对话内容。
  • 模型训练:支持检索、重排序和生成模块的独立训练,可按需调整模型参数。
  • 一键推理:通过run_infer.sh脚本实现一键推理,快速生成对话结果。

安装使用步骤

假设用户已下载本项目的源码文件。

1. 下载模型文件

由于模型文件较大(约40G),需通过百度网盘下载: 1. 安装bypy工具: shell pip install bypy 2. 授权bypy访问百度网盘: shell bypy info 按提示完成授权。 3. 下载模型文件: shell cd doc2dial-acl-workshop-2023 bypy downfile model

2. 安装依赖

安装项目所需的Python依赖: shell pip install -r requirements.txt

3. 运行推理

一键推理

运行以下脚本进行一键推理: shell bash run_infer.sh 推理结果将保存在./model_outputStandardFileBaseline.json中。

分步推理

  • 检索: shell python inference_retrieval.py
  • 重排序: shell python inference_rerank.py 生成的重排序结果将保存在rerank_output.jsonl中。
  • 生成: shell python inference_generation.py 生成的对话结果将保存在outputStandardFile.json中。

4. 模型训练

  • 检索模块训练: shell python init_model.py python train_retrieval.py
  • 重排序模块训练: shell python train_rerank.py
  • 生成模块训练: shell python train_generation.py

下载地址

点击下载 【提取码: 4003】【解压密码: www.makuang.net】