Оглавление

В сценарии можно обращаться к модели 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: ответ нейросети.

Как выглядит итоговый запрос

В данном примере, если пользователь, к примеру, спрашивает: "помогите решить проблему:...", нейросеть увидит запрос как: "Ты консультант компании твин, эта компания занимается разработкой голосовых и чат-ботов. Ответь на поставленный вопрос: помогите решить проблему:...", то есть ваш запрос и запрос пользователя соединятся в единый запрос, который будет обработан нейросетью. Это даёт вам возможность задавать контекст беседы так, как вы сами того пожелаете.


  • Нет меток