Небольшое руководство по интеграции ChatGPT в ваш веб-сайт

Небольшое руководство по интеграции  ChatGPT в ваш веб-сайт

В этом небольшом руководстве я попробую показать весь процесс интеграции OpenAI ChatGPT на ваш веб-сайт, начиная с получения ключей и заканчивая настройкой бота.

Получение ключей от OpenAI

Прежде чем вы сможете начать интеграцию OpenAI ChatGPT на свой веб-сайт, вам необходимо будет получить секретные ключи. К сожалению, получение этих ключей из России может оказаться непростой задачей. Я не буду останавливаться на том, как их получить из России, об этом пестрит весь интернет. В двух слова: Нужен VPN для входа на сайт OpenAI . Номер телефона одной из европейских стран и адрес электронной почты. Ну и немного терпения.

И так допустиv ключ у вас уже есть.

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

Но и это еще не все проблемы.

После того, как вы получили ключи и настроили VPS, пришло время приступить к настройке вашего чат-бота.

Имейте в виду, - что из коробки у бота нет памяти. Это означает, что он не будет сохранять или запоминать предыдущие вопросы. Значит их надо каким-то образом возвращать боту. Вот так выглядит тело простого запроса

messages=[ {"role": "system", "content": "Вы - полезный помощник"}, {"role": "user", "content": "Кто выиграл лигу чемпионов в 2020 году?"}, {"role": "assistant", "content": "Лигу чемпионов в 2020 году выиграла футбольная команда Бавария Мюнхен из Германии"} }

"system" - это своего рода инструкция боту кем он является на данный момент. Хотя по словам разработчиков, 3-я модель GPT может ее проигнорировать. "user" - это сообщение пользователя.

"assistant" - это непосредственно ответ бота.

Теперь если вы в рамках этого разговора зададите казалось бы логичный вопрос:

"А где проходил финал"

Бот ответит что-то типа этого:

"Извините, я не знаю, о каком конкретном финале вы говорите. Если вы уточните, о каком событии идет речь, я постараюсь ответить на ваш вопрос"

Все из-за того, что предыдущие вопросы он не помнит.

Что бы избежать этого, нужно либо возвращать всю беседу одним файлом.

Т.е. собрав все воедино и отправив боту всю беседу:

"Кто выиграл лигу чемпионов в 2020 году?

Лигу чемпионов в 2020 году выиграла футбольная команда Бавария Мюнхен из Германии

А где проходил финал?"

А вот теперь бот ответил так:

"Финал Лиги чемпионов 2020 года проходил на стадионе "Да Луш" в Лиссабоне, Португалия"

Как видите диалог не потерял нить.

Есть и другой способ.

Необходимо после каждого ответа собирать все в массивы и передувать в тело запроса, т.е. чередовать "user" и "assistant".

"system" не должен меняться

messages=[ {"role": "system", "content": "Вы - полезный помощник"}, {"role": "user", "content": "Кто выиграл лигу чемпионов в 2020 году?"}, {"role": "assistant", "content": "Лигу чемпионов в 2020 году выиграла футбольная команда Бавария Мюнхен из Германии"}, {"role": "user", "content": "Где проходил финал?"} }

Придет такой ответ

messages=[ {"role": "system", "content": "Вы - полезный помощник"}, {"role": "user", "content": "Кто выиграл лигу чемпионов в 2020 году?"}, {"role": "assistant", "content": "Лигу чемпионов в 2020 году выиграла футбольная команда Бавария Мюнхен из Германии"}, {"role": "user", "content": "Где проходил финал?"} {"role": "assistant", "content": "Лигу чемпионов в 2020 году выиграла футбольная команда Бавария Мюнхен из Германии"} }

И таким образом все собирать и отправлять.

Ну и тут ждет засада.

Если текст разговора превысит 2000 символов, разговор может закончится.

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

Но это только теория.

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

333333 показа
1.3K1.3K открытий
Начать дискуссию