ym88659208ym87991671
GigaChat для чат-ботов | Документация для разработчиков

Генерируем ответ с помощью GigaChat

Обновлено 26 декабря 2023

Блок Генерация ответа предназначен для генерации ответа пользователю чат-бота через GigaChat.

Блок выполняет запрос в GigaChat. По параметрам, заданным в настройках блока, выполняется генерация ответа в GigaChat. После получения ответа выполняется переход по сценарию.

Как подключить блок в сценарий

Для подключения блока в сценарий:

  1. Откройте проект сценария Graph для вашего чат-бота.

  2. Выберите в сценарии шаг, на котором вы хотите добавить обращение в GigaChat.

  3. Добавьте блок Генерация ответа.

  4. Заполните параметры блока.

  5. Сохраните и соберите сценарий.

С рекомендациями по созданию промптов вы можете ознакомиться в разделе Создание промптов.

Параметры блока

ПараметрОписаниеОбязательностьПример
Системный промптТекстовое поле, многострочное. Не более 1500 символов. Позволяет задать промпт для настройки контекста обработки основного промпта. Поддерживает использование переменных сценарияНет"Отвечай в стиле Винни Пуха"
ЗапросТекстовое поле, многострочное. Не более 1500 символов. Текст вопроса к GigaChat. Поддерживает использование переменных сценарияДа$queryText содержит вопрос пользователя из чата с ботом, например, "Где купить гречишный мед?". В блоке можно вручную заполнить переменную с историей, указав ее в нужном месте текста промпта
Ответ от GigaChatТекстовое поле для указания названия переменной, в которую должен сохраниться ответ от GigaChat. Не более 30 символовДа
Выводить результат пользователюОтметка об отправке сообщения пользовалтелюДаtrue: отправлять сообщение клиенту бота при выполнении блока, в случае успешного выполнения и получения ответа от GigaChat
false: не отправлять сообщение. Результат будет сохранен в указанную переменную
Учитывать контекст диалогаОтметка о включении отправки истории перепискиДаtrue: история переписки отправляется
false: история переписки не добавляется в запрос в GigaChat. Отправка истории отключена вручную

Выходы из блока в сценарии

  • Успешно - успешное выполнение запроса в GigaChat и получение ответа
  • Ошибка - при выполнении запроса в GigaChat возникла ошибка
  • Сработал цензор - при срабатывании цензора в ходе обработки, когда GigaChat не отвечает на вопрос. Такой переход отображается только в случае, если в настройках блока включена настройка Включить цензор

Обратите внимание: клиенту не будут показаны дополнительные сообщения или уведомления пока не будет получен ответ от GigaChat.

Обработка ошибок

В рамках выполнения блока может возникнуть ошибки по различным причинам. При возникновении ошибки выход из блока произойдет по переходу Ошибка. Для подробной обработки ошибки необходимо сохранять ответ со статусом ошибки в системные переменные:

НазваниеОписаниеКомментарий
$gigaChatResponseStatusКод ошибки, возникшей при выполнении запросаПример значения: 408 (Таймаут при выполнении запроса)
В сценарии можно использовать в блоке Условия, добавив кастомное условие, например, $gigaChatResponseStatus==408 и сделать переход из блока для случаев таймаута
$gigaChatResponseErrorТекст ошибки, возникшей при выполнении запросаПример значения: Read timed out

Список возвращаемых статусов ошибок

КейсКод ошибкиОписание ошибки
Ограничение тарифа403Restricted for the current tariff
Таймаут выполнения запроса (выполнение запроса не выполнено в указанный таймаут)408Read timed out
Превышены лимиты по размеру полей Запрос или Системный промпт413Content is too large
Ошибка при выполнении запроса в GigaChat500Request failed
Достигнуто максимальное количество обращений на одного клиента503.1The limit of requests for the user per day
Достигнуто максимальное количество обращений для тестового виджета503.2The limit of requests for test per project
Запросы ограничены для текущей интеграции503.3Restricted for the channelType

При совершении более 50 запросов в течение 10 минут будет произведена блокировка на 10 минут, по истечению которой вы сможете продолжить работу. Максимальное количество обращений от одного клиента - 500.

ПАО Сбербанк использует cookie для персонализации сервисов и удобства пользователей.
Вы можете запретить сохранение cookie в настройках своего браузера.