Создайте чат-бота для вопросов и ответов с помощью GPT-3

Предоставьте поисковые документы или используйте поиск по умолчанию GPT-3

Введение

Среди прочего, в экосистеме фреймворка чат-бота есть два общих понятия.

Первый - это отказ от намерений, который является главным при изучении GPT-3.

Есть четыре новых подхода к устареванию намерений.

секунда - это устаревание конечного автомата. Это необходимо для более гибкого разговора.

Один из способов придать большей гибкости среде управления диалогом, управляемой конечным автоматом; где все разговорные пути и ответы заранее определены, это…

Введя функцию, при которой, если намерение не обнаружено с высокой степенью уверенности, диалоговое окно может по умолчанию выполнять поиск в базе знаний и отвечать с результатом. Надеюсь, в разговорной манере.

Это не что-то уникальное для конкретной платформы чат-бота. Недавно выпущенный NVIDIA Jarvis содержит примеры интеграции с Википедией, которые служат базой знаний, по которой можно искать. Другие платформы, такие как MindMeld, Rasa, Microsoft, IBM и другие, предоставляют такую ​​функциональность.

Очевидно, что эти системы различаются по сложности и сложности реализации.

В этой истории мы рассмотрим, с какой легкостью GPT-3 может выполнять эту задачу.

Общий поиск с GPT-3

GPT-3 имеет очень мощный и простой интерфейс для общих вопросов и ответов. Более того, контекст разговора управляется исключительно хорошо.

В соответствии с приведенным выше примером задаются вопросы: «Кто выиграл титул Формулы 1 в 2000 году?»

Впоследствии пользователь может спросить: «За какую команду он ездил?»

и «кто был членом его команды?»

Контекст беседы поддерживается, что делает интерфейс вопросов и ответов гораздо более интерактивным, чем другие системы вопросов и ответов. В общем, большинство решений вопросов и ответов сосредоточены на одном диалоге с поворотом диалога, получая один диалог с соответствующей информацией.

Это не относится к GPT-3.

Ниже представлен чат-бот aGPT-3 Search, написанный на Python с использованием 14 строк кода. Строка 8 содержит строку, присвоенную переменной, которая называется prompt, действует как обучающие данные.

Ниже приводится вопрос, заданный GPT-3.

Who won the F1 title in 2011?

Это строка обучающих данных, используемая для чат-бота. «Q» обозначает вопросы, а «A» - ответ.

prompt="I am a highly intelligent question answering bot. If you ask me a question that is rooted in truth, I will give you the answer. If you ask me a question that is nonsense, trickery, or has no clear answer, I will respond with \"Unknown\".\n\nQ: What is human life expectancy in the United States?\nA: Human life expectancy in the United States is 78 years.\n\nQ: Who was president of the United States in 1955?\nA: Dwight D. Eisenhower was president of the United States in 1955.\n\nQ: Which party did he belong to?\nA: He belonged to the Republican Party.\n\nQ: What is the square root of banana?\nA: Unknown\n\nQ: How does a telescope work?\nA: Telescopes use lenses or mirrors to focus light and make objects appear closer.\n\nQ: Where were the 1992 Olympics held?\nA: The 1992 Olympics were held in Barcelona, Spain.\n\nQ: How many squigs are in a bonk?\nA: Unknown\n\nQ: Who won the F1 title in 2011?\nA:"

Добро

  • Общий естественный язык (NLG) великолепен; Часто у NLG есть что-то незнакомое. Только не с GPT-3. Неудивительно, что API превосходно справляется с написанием копий, резюмированием и другими задачами обработки текста.
  • Нет никакого запасного распространения, интерфейс чат-бота остается на ногах и отвечает различными ответами, чтобы продвинуть диалог вперед.
  • Нет никаких препятствий для отступления.
  • Вроде бы контекст поддерживается достаточно хорошо.
  • Неоднозначный ввод также обрабатывается хорошо.
  • Данные для обучения или рекомендации минимальны.
  • Управление диалогом происходит автоматически.
  • Контекст разговора и контекст, характерный для неопределенных сущностей в разговоре, примечательны.

Не очень хорошо

  • Могут возникнуть опасения по поводу ущерба бренду корпораций в отношении NLG. Может потребоваться некоторая форма диалогового курирования.
  • Finetuning пока недостаточно детализирован для внедрения на предприятии.
  • API размещен в облаке
  • Расходы
  • Большие наборы обучающих данных
  • Извлечение намерений и сущностей

Пользовательский поиск с использованием предоставленных документов

В приведенном ниже примере мы будем следовать двухэтапному процессу, в котором мы собираемся загрузить файл данных, а затем получить результаты поиска на основе этого файла.

В нашем поисковом файле или документе есть только две строки, где у нас есть текстовая запись с метаданными.

{"text": "puppy A is happy", "metadata": "emotional state of puppy A"}
{"text": "puppy B is sad", "metadata": "emotional state of puppy B"}

Затем мы загружаем этот файл с помощью API файлов. После запуска pip install для установки openai вы увидите простейший способ загрузки поисковых документов. Возможно, помимо cURL.

Если что-то не так с вашим кодом Python, будет возвращена ошибка 400 или 401. Ниже показано успешное ответное сообщение.

Наиболее важно указать идентификатор файла, который можно использовать для ссылки на данные поиска.

Ниже приведен код Python для запроса единственного слова «счастливый» со ссылкой на идентификатор нашего файла.

Вы увидите результат, характерный для загруженного документа.

Вывод

Этот пример показывает, как обычный чат-бот может быть дополнен массивом данных, доступных для поиска. Это может уменьшить зависимость от намерения отката, что неизменно приводит к увеличению количества откатов.

Особенно в тех случаях, когда диалоговый интерфейс не имеет узко-предметного подхода и должен соответствовать более широкой или даже открытой предметной области с точки зрения вопросов пользователей.



«Подпишитесь на мою рассылку.
NLP / NLU, чат-боты, голос, разговорный интерфейс / пользовательский интерфейс, CX Designer, разработчик, универсальные пользовательские интерфейсы, окружающий… cobusgreyling. меня"