Una aplicación importante de los modelos de lenguaje grande (LLM), como ChatGPT, es su implementación como agentes de chat, que responden a consultas humanas en una variedad de dominios. Si bien los LLM actuales responden de manera competente a preguntas generales, a menudo se quedan cortos en escenarios de diagnóstico complejos, como consultas legales, médicas u otras consultas especializadas. Estos escenarios generalmente requieren un diálogo orientado a tareas (TOD), donde un agente de chat de IA debe plantear preguntas de manera proactiva y guiar a los usuarios hacia objetivos específicos o la finalización de tareas. Los modelos de ajuste anteriores han tenido un rendimiento inferior en TOD y aún no se ha explorado por completo todo el potencial de la capacidad conversacional en los LLM actuales. En este artículo, presentamos DiagGPT (Diálogo en Diagnóstico GPT), un enfoque innovador que extiende los LLM a más escenarios TOD. Además de guiar a los usuarios para completar tareas, DiagGPT puede gestionar eficazmente el estado de todos los temas durante el desarrollo del diálogo. Esta característica mejora la experiencia del usuario y ofrece una interacción más flexible en TOD. Nuestros experimentos demuestran que DiagGPT exhibe un rendimiento sobresaliente en la realización de TOD con los usuarios, lo que muestra su potencial para aplicaciones prácticas en diversos campos.
Construimos un nuevo conjunto de datos, LLM-TOD (diálogo orientado a tareas para un conjunto de datos de modelos de lenguaje grandes). Se utiliza para evaluar cuantitativamente el desempeño de modelos de diálogo orientado a tareas basados en LLM. El conjunto de datos consta de 20 datos, cada uno de los cuales representa un tema diferente: clínico, restaurante, hotel, hospital, tren, policía, autobús, atracción, aeropuerto, bar, biblioteca, museo, parque, gimnasio, cine, oficina, barbería, panadería, zoológico, y banco.
.
├── 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
Aquí hay una demostración muy simple del proceso de chat del chatbot en un escenario de diagnóstico médico. Simulamos el proceso de un paciente visitando a un médico. (Algunas entradas de pacientes/usuarios son generadas por GPT-4).
En este proceso, el médico recopila constantemente información de los pacientes y la analiza paso a paso.
En la actualidad, las funciones existentes del proyecto son muy preliminares. Es solo una versión de demostración para mostrar la capacidad de gestión de temas de los LLM, que no pueden satisfacer las necesidades de una consulta profesional real.
El objetivo principal de este experimento es demostrar el potencial de GPT-4; sin embargo, es importante tener en cuenta que esta no es una aplicación o producto completamente pulido, sino más bien un proyecto experimental. Es posible que GPT-4 no funcione de manera óptima en escenarios comerciales complejos del mundo real. Le animamos a mejorarlo y aplicarlo en varios escenarios, ¡y estaremos encantados de conocer sus resultados!
Si encuentra útil este repositorio, cite el siguiente documento:
@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}
}