Message Box | ||||||
---|---|---|---|---|---|---|
| ||||||
|
В сценарии можно обращаться к модели GPT-4, чтобы отвечать на различные вопросы.
Предупреждение |
---|
Важно - Для тестирования сценариев, содержащих BPL-операции, необходимо использовать веб-виджет или интеграцию с каким-либо мессенджером, так как данные операции не работают в тестовом чате внутри редактора. Как его создать тестовый виджет можно узнать в статье: Создание тестового виджета. |
Подсказка |
---|
Подробнее о BPL-выражениях, можно прочитать в этой статье. |
Интеграция со сценарием
Чтобы использовать chatGPT-4 в сценарии, сделайте следующие шаги:
1. Установите блок Вопроса.
a. В стрелке поставьте галочку Сохранить ответ.
b. Тип выходных данных выберите Ветка по умолчанию.
c. В Название переменной напишите question.
Таким образом мы сохраняем вопрос пользователя в переменную question.
2. В блоке Арифметика, в поле Тип выберите Произвольный тип.
3. В поле BPL-выражение напишите функцию для работы с chatGPT-4:
Блок кода | ||||
---|---|---|---|---|
| ||||
$answer = gpt4.ask($question, 0.8) |
Где:
$answer – переменная, в которую будет записан ответ нейросети.
Примечание |
---|
Название переменной может быть любое |
$question – запрос к нейросети на русском или английском языке.
0.8 – число от 0 до 1 обозначающее степень достоверности и вариативности ответов нейросети (0 – максимальная достоверность и минимальная вариативность, 1 – минимальная достоверность и максимальная вариативность).Нажмите Преобразовать BPL в AST.
4. После блока Арифметика поставьте блок Условие и соедините их стрелкой. В стрелке напишите Успешно в Результат вычислений.
5. Установите блок с типом Информация. В поле Информационное сообщение (произносится роботом) напишите {answer}.
В этом блоке будет выводиться ответ нейросети.
6. В стрелке из блока Условия, в поле Тип выберите По умолчанию.
7. Установите блок Информация. В поле Информационное сообщение (произносится роботом) напишите Таймаут ответа.
Информация |
---|
Таймаут для получения ответа – 1 минута. Если для получения ответа потребуется больше 1 минуты, то будет возвращена переменная с пустым значением. |
8. В стрелке из блока Условия, в поле Тип выберите Условие "ИЛИ" и добавьте два условия нажав кнопку Добавить условие.
В первом поле первого условия напишите {answer}, второе поле оставьте пустым.
В первом поле второго условия напишите {answer}, во втором поле напишите answer, без фигурных скобок.
В этом условии проверяется наличие ответа нейросети, так как если было возвращено пустое значение, значит время ожидания ответа превысило максимальное значение в 1 минуту.
9. При необходимости соедините стрелками блоки информации с блоком вопроса.
Это нужно, если вы хотите зациклить сценарий.
Примечание |
---|
Также, если нужно зациклить сценарий, убедитесь, что в круглом блоке установлено большое значение у параметра Допустимое количество циклов. Обратите внимание, максимальное количество циклов в сценарии ограничено до 100. |
Пример работы
Подсказка |
---|
Протестировать работу фрагмента можно в тестовом виджете. Узнать как создать тестовый виджет можете в статье: Создание тестового виджета. |
Таким образом вы можете задать вопрос нейросети chatGPT-4.
Управление контекстом запросов
При помощи добавления своего контекста к запросу пользователя, можно добиться более точного ответа нейросети.
Делается это путём добавления новой переменной, которая будет содержать нужный вам контекст и использованием BPL-функции str.concat() для склеивания запроса пользователя и вашего запроса в одно обращение к нейросети.
Пример BPL-выражения:
Блок кода | ||||
---|---|---|---|---|
| ||||
$context = "Ты консультант компании твин, эта компания занимается разработкой голосовых и чат-ботов. Ответь на поставленный вопрос: " $question = str.concat($context, $question) $answer = gpt4.ask($question, 0.8) |
В котором:
- $context: переменная, в которой содержится ваш запрос с контекстом, который будет добавлен к запросу пользователя.
- $question:переменная, содержащая запрос пользователя, который обрабатывает нейросеть. В данном случае переменная переопределяется с новым значением, содержащим результат соединения содержания переменной $context и старого содержания переменной $question.
- str.concat(): BPL функция, которая принимает в качестве параметров две строки и осуществляет их соединение в одну.
- $answer: ответ нейросети.
Подсказка | ||
---|---|---|
| ||
В данном примере, если пользователь, к примеру, спрашивает: "помогите решить проблему:...", нейросеть увидит запрос как: "Ты консультант компании твин, эта компания занимается разработкой голосовых и чат-ботов. Ответь на поставленный вопрос: помогите решить проблему:...", то есть ваш запрос и запрос пользователя соединятся в единый запрос, который будет обработан нейросетью. Это даёт вам возможность задавать контекст беседы так, как вы сами того пожелаете. |