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

Генерируем ответ на базе документов (RAG)

Обновлено 9 июня 2025

Блок AI-ответ из базы знаний дает пользователям ответ, который генерируется нейросетью GigaChat. Ответ выдается на конкретном шаге сценария и генерируется на базе информации из загруженных документов.

Для получения ответа из базы знаний:

  1. Откройте раздел Сценарий.

  2. Выберите шаг, на котором требуется выполнить поиск в базе знаний.

  3. Добавьте блок AI-ответ из базы знаний.

  4. Заполните необходимые параметры блока. Описание параметров приведено ниже.

  5. Нажмите Сохранить.

Для блока в сценарии настроены переходы:

  • Успешный ответ — если ответ был найден в документах (переход okState).
  • Ответ не найден — если в документах не было найдено подходящего ответа (переход noMatchState).

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

ПараметрОписание
Запрос пользователяТребования и инструкции, необходимые для правильной генерации ответа от GigaChat. Не более 16 000 токенов.
Токен может быть символом, несколькими символами, фрагментом слова или словом целиком. В среднем в одном токене 3—4 символа, включая пробелы, знаки препинания и специальные символы. Все, что модель получает в запросе, сначала преобразуется в токены. Количество символов в токене зависит от модели.
Поле должно поддерживать использование переменных сценария.
Пример:
«Ты консультант по банковским услугам.
Ответь на вопрос пользователя, используя приведенный ниже контекст. При ответе на вопрос определи, относится ли вопрос пользователя к тематикам: кредит, ипотека, банковские продукты для физических лиц. Если вопрос не относится к указанным тематикам, ответь, что вопрос находится вне твоих компетенций.
Ответ должен быть кратким, до 100 слов и на русском языке.»
Здесь также есть возможность вернуть значение по умолчанию в поле Запрос пользователя
Базы знанийСписок доступных баз знаний по документам.
Можно выбрать базы знаний для документов, которые добавили в раздел ранее.
На данный момент по умолчанию доступна одна база знаний по документам
Переменная для результатаОбязательное текстовое поле, где пользователь должен указать название переменной, в которую должен сохраниться ответ, полученный в случае успеха. Не более 30 символов
Выводить результат пользователюЕсли поле активно, то в случае успешного ответа от GigaChat выполнится отправка сообщения клиенту чат-бота и его сохранение в переменную.
Если поле неактивно, будет выполнено только сохранение результата в указанную переменную, без отправки сообщения пользователю

Сборка и внедрение

Для настройки работы базы знаний возможно выбрать один из двух режимов:

  • Собрать — в этом случае будет выполнена сборка без внедрения базы знаний документов. Включено по умолчанию, если ответ пустой и в списке нет ни одной базы знаний.
  • Собрать и внедрить — все обученные документы будут внедрены и выполнится сборка. Включено по умолчанию, если в списке есть база знаний.

Настройка приоритета срабатывания

Для настройки случаев, когда должна срабатывать база знаний, укажите Приоритет срабатывания в разделе Настройки базы знаний.

  • Высокий — найденные ответы из базы знаний по документам срабатывают в первую очередь, при этом если в документах не найдено ничего подходящего, должны проверяться варианты по интентам, примерам и паттернам.
  • Низкий — найденные ответы из базы знаний по документам срабатывают только в том случае, если не найдено подходящих вариантов по интентам, примерам или паттернам.
  • Только блок AI-Ответ из базы знаний — обращение в базу знаний сработает, если в сценарную логику добавлен этот блок. При использовании этого блока рекомендуется установить приоритет Только блок AI-Ответ из базы знаний. При использовании других приоритетов возможно срабатывание базы знаний при фразе пользователя в каком-либо ином блоке.

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

КейсКод ошибкиОписание ошибки
Сработал цензор406The censor restricted this request
Ограничение тарифа403Restricted for the current tariff
Таймаут выполнения запроса (выполнение запроса не завершено в указанный таймаут)408Read timed out
Указанный идентификатор документа отсутствует в базе знаний400.1Document not found
Указанный идентификатор документа не доступен для поиска (находится в статусе error, processing, deleted или по какой-то иной причине)400.2Document unavailable
Указанный идентификатор раздела отсутствует в базе знаний400.3Sections of knowledge base is not found: {заполняется список не найденных id разделов}
Ошибка при выполнении запроса в GigaChat500Request failed

Код ошибки и сообщение о ней сохраняются в системные переменные.

ПеременнаяОписаниеПример
$knowledgeBaseResponseStatusСодержит код ошибки, возникшей при выполнении запроса. Информация представлена в поле Код ошибки408
$knowledgeBaseResponseErrorСодержит текст ошибки, возникшей при выполнении запроса. Информация представлена в поле Описание ошибкиRead timed out
ПАО Сбербанк использует cookie для персонализации сервисов и удобства пользователей. Вы можете запретить сохранение cookie в настройках своего браузера.