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