ChatGPT 等大型语言模型 (LLM) 的一个重要应用是将其部署为聊天代理,以响应跨多个领域的人类查询。虽然目前的法学硕士能够熟练地回答一般性问题,但他们在复杂的诊断场景(例如法律、医疗或其他专业咨询)方面往往表现不佳。这些场景通常需要面向任务的对话(TOD),其中人工智能聊天代理必须主动提出问题并引导用户实现特定目标或完成任务。以前的微调模型在 TOD 中表现不佳,并且当前法学硕士中对话能力的全部潜力尚未得到充分开发。在本文中,我们介绍了 DiagGPT(诊断对话 GPT),这是一种将法学硕士扩展到更多 TOD 场景的创新方法。除了指导用户完成任务外,DiagGPT 还可以有效管理整个对话开发过程中所有主题的状态。该功能增强了用户体验,并提供了更灵活的TOD交互。我们的实验表明,DiagGPT 在与用户进行 TOD 方面表现出了出色的性能,展示了其在各个领域实际应用的潜力。
我们构建了一个新的数据集,LLM-TOD(大型语言模型数据集的面向任务的对话)。它用于定量评估基于LLM的任务导向对话模型的性能。该数据集包含 20 个数据,每个数据代表不同的主题:临床、餐厅、酒店、医院、火车、警察、公共汽车、景点、机场、酒吧、图书馆、博物馆、公园、健身房、电影院、办公室、理发店、面包店、动物园、和银行。
.
├── chatgpt # implementation of base chatgpt
├── data
│ └── LLM-TOD # LLM-TOD dataset
├── demo.py # DiagGPT for demo test
├── diaggpt # simple version of DiagGPT for quantitative experiments
├── diaggpt_medical # full version of DiagGPT in the medical consulting scenario
│ ├── embedding # file store, retrieval, etc.
│ ├── main.py # main code of implementation
│ ├── prompts # all prompts in DiagGPT
│ ...
├── evalgpt # implementation of GPT evaluation
├── exp.py # code of quantitative experiments
├── exp_output # experiment results
├── openai_api_key.txt # openai key
├── requirements.txt # dependencies
├── usergpt # simulation of the user for quantitative experiments
...
pip install -r requirements.txt
touch openai_api_key.txt # put your openai api key in it
python demo.py # demo test
python exp.py # run quantitative experiments
这是一个非常简单的医疗诊断场景中聊天机器人聊天过程的演示。我们模拟了病人看病的过程。 (一些患者/用户输入是由 GPT-4 生成的。)
在这个过程中,医生不断地收集患者的信息并一步步分析
目前,项目现有功能非常初步。只是展示LLM的话题管理能力的演示版本,无法满足实际专业咨询的需求。
该实验的主要目的是展示 GPT-4 的潜力,但需要注意的是,这不是一个完全完善的应用程序或产品,而是一个实验项目。 GPT-4 在复杂的现实业务场景中可能无法发挥最佳性能。我们鼓励您改进它并将其应用到各种场景中,我们很高兴听到您的结果!
如果您发现此存储库有用,请引用以下论文:
@misc{cao2023diaggpt,
title={DiagGPT: An LLM-based and Multi-agent Dialogue System with Automatic Topic Management for Flexible Task-Oriented Dialogue},
author={Lang Cao},
year={2023},
eprint={2308.08043},
archivePrefix={arXiv},
primaryClass={cs.CL}
}