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

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

Обновлено 19 сентября 2024

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

При использовании этого блока рекомендуется установить приоритет Не активный. При использовании других приоритетов возможно срабатывание базы знаний при фразе пользователя в каком-либо ином блоке.

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

КейсКод ошибкиОписание ошибки
Сработал цензор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 в настройках своего браузера.