Блок Генерация ответа предназначен для генерации ответа пользователю чат-бота через GigaChat.
С 30 июля 2025 года пользователь может использовать собственные ключи авторизации GigaChat для создания блоков Генерация ответа и AI-ответ из базы знаний. Ключ нужно получить и добавить в проект чат-бота.
Блок выполняет запрос в GigaChat. По параметрам, заданным в настройках блока, выполняется генерация ответа в GigaChat. После получения ответа выполняется переход по сценарию.
В настоящее время возможна генерация ответа только для проектов на русском языке.
Как подключить блок в сценарий
Для подключения блока в сценарий:
-
Откройте проект сценария Graph для вашего чат-бота.
-
Выберите в сценарии шаг, на котором вы хотите добавить обращение в GigaChat.
-
Добавьте блок Генерация ответа.
-
Заполните параметры блока.
-
Сохраните и соберите сценарий.
С рекомендациями по созданию промптов вы можете ознакомиться в разделе Промпт-инжиниринг.
Параметры блока
| Параметр | Описание | Обязательность | Пример |
|---|---|---|---|
| Системный промпт | Текстовое поле, многострочное. Общий лимит токенов для полей Системный промпт и Запрос — не более 20 000 токенов. Позволяет задать промпт для настройки контекста обработки основного промпта. Поддерживает использование переменных сценария. Токен может быть символом, несколькими символами, фрагментом слова или словом целиком. В среднем в одном токене 3—4 символа, включая пробелы, знаки препинания и специальные символы. Все, что модель получает в запросе, сначала преобразуется в токены. Количество символов в токене зависит от модели | Нет | «Отвечай в стиле Винни Пуха» |
| Запрос | Текстовое поле, многострочное. Общий лимит токенов для полей Системный промпт и Запрос — не более 20 000 токенов. Текст вопроса к GigaChat. Поддерживает использование переменных сценария | Да | $queryText содержит вопрос пользователя из чата с ботом, например: «Где купить гречишный мед?». В блоке можно вручную заполнить переменную с историей, указав ее в нужном месте текста промпта |
| Ответ от GigaChat | Текстовое поле для указания названия переменной, в которую должен сохраниться ответ от GigaChat. Не более 30 символов | Да | |
| Выводить результат пользователю | Отметка об отправке сообщения пользовалтелю | Да | true: отправлять сообщение клиенту бота при выполнении блока, в случае успешного выполнения и получения ответа от GigaChat false: не отправлять сообщение. Результат будет сохранен в указанную переменную |
| Учитывать контекст диалога | Отметка о включении отправки истории переписки | Да | true: история переписки отправляется false: история переписки не добавляется в запрос в GigaChat. Отправка истории отключена вручную |
Выходы из блока в сценарии
- Успешно - успешное выполнение запроса в GigaChat и получение ответа
- Ошибка - при выполнении запроса в GigaChat возникла ошибка
- Сработал цензор - при срабатывании цензора в ходе обработки, когда GigaChat не отвечает на вопрос. Такой переход отображается только в случае, если в настройках блока включена настройка Включить цензор
Обратите внимание: клиенту не будут показаны дополнительные сообщения или уведомления пока не будет получен ответ от GigaChat.
Обработка ошибок
В рамках выполнения блока может возникнуть ошибки по различным причинам. При возникнове нии ошибки выход из блока произойдет по переходу Ошибка. Для подробной обработки ошибки необходимо сохранять ответ со статусом ошибки в системные переменные:
| Название | Описание | Комментарий |
|---|---|---|
$gigaChatResponseStatus | Код ошибки, возникшей при выполнении запроса | Пример значения: 408 (Таймаут при выполнении запроса) В сценарии можно использовать в блоке Условия, добавив кастомное условие, например, $gigaChatResponseStatus==408 и сделать переход из блока для случаев таймаута |
$gigaChatResponseError | Текст ошибки, возникшей при выполнении запроса | Пример значения: Read timed out |
Список возвращаемых статусов ошибок
| Кейс | Код ошибки | Описание ошибки |
|---|---|---|
| Таймаут выполнения запроса (выполнение запроса не выполнено в указанный таймаут) | 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.
Ниже вы можете найти примеры использования блока с реальными промптами. Вы можете классифицировать сообщение пользователя по нескольким категориям.
Пример классификации сообщений
-
Паспортный стол Любое обращение, в котором упоминается паспортный стол или регистрация человека по месту его нахождения. В обращении используются ключевые слова:
паспортный стол,регистрация граждан по месту жительства,регистрация граждан по месту пребывания,снятие с регистрационного учета через портал Госуслуги,снятие с регистрационного учета через МФЦ. -
Получить ключ Любое обращение, в котором спрашивают про ключ или ключи. В обращении используются ключевые слова:
получить ключи от домофона,получить метку,получить ключи от подъезда. -
Регистрация в мобильном приложении Любое обращение, в котором спрашивают про регистрацию в мобильном приложении. В о бращении используются ключевые слова:
зарегистрироваться в мобильном приложении,регистрация в мобильном приложении. -
Добавление объекта в мобильном приложении Любое обращение, содержащее запросы:
добавить объект в мобильном приложении,добавить в мобильном приложении. -
Контакты Любое обращение, содержащее запросы:
номер телефона,контакты,номер телефона управляющей компании,телефон единого контакт-центра. -
Показания счетчика Любое обращение, содержащее запросы:
как передать показания счетчика,кому передать показания,показания приборов учетов. -
Отключение Любое обращение, в котором клиент спрашивает про отключение пожарной сигнализации или иного ресурса в квартире при выполнении любых работ.
Пример промпта
В ответе верни только название категории к которой относится сообщение пользователя.
Если обращение не соответствует никакой категории, ответь "Нет категории".
Если ты не понял вопрос, ответь "Я не понял".
Если пользователь задал вопрос, не отвечай на него, а верни категорию, к которой этот вопрос относится.
Вы можете повысить качество работы чат-бота, используя настройки модели GigaChat.