Запрос к ChatGPT OpenAI

Компонент Запрос к ChatGPT OpenAI отправляет в СhatGPT текст от пользователя и присылает ответ от нейросети в бот.

Настройка компонента

1. Из раздела Компоненты на правой панели перетащите или добавьте двойным щелчком мыши компонент Запрос к ChatGPT OpenAI на нужный экран.

2. В поле Ключ доступа добавьте токен OpenAI. Его можно получить в личном кабинете OpenAI (LogIn — API). Затем в разделе Overview откройте вкладку Personal и выберите в ней раздел View API keys.

Если OpenAI не доступен в вашей стране, воспользуйтесь VPN-сервисом.

Сгенерируйте токен с помощью кнопки Create new secret key.

3. В выпадающем списке поля Role выберите роль, которую будет исполнять ChatGPT.

  • system - cистемное сообщение помогает настроить поведение помощника.
  • user - cообщения пользователя помогают проинструктировать помощника. Они могут быть сгенерированы конечными пользователями чат-бота.
  • assistant - cообщения помощника помогают сохранять предыдущие ответы.

4. Добавьте в поле Content то, что вы хотите отправить нейросети. В Content можно вывести переменную, в которую перед исполнением компонента ChatGPT попал ввод от пользователя. В ChatGPT выберите роль user. Выглядеть это может так:

5. Добавьте Имя переменной для ответа, для того, чтобы ответ от ChatGPT OpenAI передался в эту переменную.

6. Число Максимального количества используемых токенов можно оставить по умолчанию или поменять для более краткого или подробного ответа. Минимальное значение 16, максимальное 4000.

7. Задайте Имя переменной для полного ответа, если нужно получить полный ответ от ChatGPT. Эту переменную заполнять не обязательно.

8. Выберите или оставьте по умолчанию используемую модель. Список моделей с их описанием и отличиями можно посмотреть в официальной документации OpenAI, но нужно иметь ввиду, что для моделей gpt-4-32k-0613 и выше нужно запросить приглашение. Чтобы запросить приглашение заполните форму ожидания от OpenAI.

9. Если потребуется, разверните раздел Больше продвинутых настроек и внесите необходимые значения.

10. Настройте Экран успешного запроса. На этом экране выведем ответ от ChatGPT и зададим новый вопрос.

Если добавить роль system в компонент ChatGPT и заполнить поле Content переменной с прошлым ответом, то нейросеть сможет использовать контекст предыдущего вопроса и дать соответствующий ответ.

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

Настройка «‎Отправлять последние сообщения пользователя»

Переключатель Отправлять последние сообщения пользователя позволяет сохранять контекст диалога, который был до компонента ChatGPT.

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

Протестируем функцию До диалога.

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

Укажем количество последних сообщений, которые будет анализировать ChatGPT для ответа.

На экран с компонентом ChatGPT мы будем попадать с помощью Шаблона. Шаблон в нашем примере будет вызываться фразой «‎Расскажи что-нибудь интересное».

По этой фразе сработает Шаблон в боте и одновременно с этим, «‎Расскажи что-нибудь интересное попадет» в СhatGPT. В ответ придет интересный факт.

Поставим переключатель в положение После диалога, остальные настройки оставим такими же. После этого вызовем экран с ChatGPT и получим ответ на вопрос или фразу, которая сейчас прописана в поле Content.

В поле Content написан вопрос про теорию относительности, и ChatGPT прислал ответ на него из-за того, что был выбран пункт После диалога. Просьба до диалога «‎Расскажи что-нибудь интересное» в ответе в этом случае не учлась.

Вы можете придумать другие сценарии использования настройки Отправлять последние сообщения пользователя, исходя из того, что функция До диалога продолжит то, что было написано боту до попадания в ChatGPT, без учёта Role и Content, а После диалога будет брать информацию из полей Role и Content.

Настройка ролей

В роли assistant или system можно определять, от имени кого мы хотим получить ответ. Например, от имени переводчика, программиста и т.д.

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

Добавим переменную info в поле Content ChatGPT. Выберем роль assistant для того, чтобы ответ был похож по стилю на живое общение или system, если нужно настроить поведение нейросети.

Продолжим задавать вопросы. Их может быть несколько подряд для более полного ответа от ChatGPT. В случае нескольких вопросов подряд, все переменные куда записались вопросы, нужно прописать в поле Content и выбрать роль user или assistant. Так нейросеть поймёт что эти вопросы объединяет одна тема.

Запишем ответ в переменную response и выведем эту переменную в тексте

{{stringify response}}

Не забудьте сохраниться.

Протестируем так, будто нам нужно получить ответ от спортивного журналиста:

В начало ↑