Важным применением моделей больших языков (LLM), таких как ChatGPT, является их развертывание в качестве агентов чата, которые отвечают на запросы людей в различных областях. Хотя нынешние LLM умело отвечают на общие вопросы, они часто не справляются со сложными диагностическими сценариями, такими как юридические, медицинские или другие специализированные консультации. Эти сценарии обычно требуют диалога, ориентированного на задачи (TOD), где агент чата с искусственным интеллектом должен заранее задавать вопросы и направлять пользователей к конкретным целям или выполнению задач. Предыдущие модели тонкой настройки неэффективны в TOD, а полный потенциал диалоговых возможностей в текущих LLM еще не полностью изучен. В этой статье мы представляем DiagGPT (диалог в диагностике GPT), инновационный подход, который расширяет LLM на большее количество сценариев 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}
}