Блок предназначен для генерации ответа пользователю чат-бота через GigaChat.
Блок выполняет запрос в GigaChat. По параметрам, заданным в настройках блока, выполняется генерация ответа в GigaChat. После получения ответа выполняется переход по сценарию.
Как подключить блок в сценарий
Для подключения блока в сценарий:
Откройте проект сценария Graph для вашего чат-бота.
Выберите в сценарии шаг, на котором вы хотите добавить обращение в GigaChat.
Добавьте блок Генерация ответа.
Заполните параметры блока.
Сохраните и соберите сценарий.
С рекомендациями по созданию промптов вы можете ознакомиться в разделе Создание промптов.
Параметры блока
Параметр | Описание | Обязательность | Пример |
---|---|---|---|
Системный промпт | Текстовое поле, многострочное. Не более 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 |
Список возвращаемых статусов ошибок
Кейс | Код ошибки | Описание ошибки |
---|---|---|
Ограничение тарифа | 403 | Restricted for the current tariff |
Таймаут выполнения запроса (выполнение запроса не выполнено в указанный таймаут) | 408 | Read timed out |
Превышены лимиты по размеру полей Запрос или Системный промпт | 413 | Content is too large |
Ошибка при выполнении запроса в GigaChat | 500 | Request failed |
Достигнуто максимальное количество обращений на одного клиента | 503.1 | The limit of requests for the user per day |
Достигнуто максимальное количество обращений для тестового виджета | 503.2 | The limit of requests for test per project |
Запросы ограничены для текущей интеграции | 503.3 | Restricted for the channelType |
При совершении более 50 запросов в течение 10 минут будет произведена блокировка на 10 минут, по истечению которой вы сможете продолжить работу. Максимальное количество обращений от одного клиента - 500.