Перейти к основному содержимому

$rag.query.generateAnswerAsync

Метод создает запрос на генерацию ответа в базе знаний.

предупреждение

Метод доступен только в среде ECMAScript 6 и является асинхронным.

Синтаксис

Метод принимает аргументы:

АргументТипОписаниеОбязательный
secretNameСтрокаНазвание токена для базы знаний.Да
queryСтрокаТекстовый запрос пользователя.Да
historyМассивИстория диалога с ботом. Вы можете передать историю, чтобы база знаний учитывала контекст. Получите историю с помощью $rag.getChatHistory.Нет
settingsОбъект

Настройки обработки запроса. По умолчанию используются настройки из проекта Jay Knowledge Hub.

Формат settings совпадает с форматом одноименного объекта в запросе POST /api/knowledge-hub/async/query в Jay Knowledge Hub API.
Нет
timeoutЧисло

Таймаут в миллисекундах на выполнение метода. Если таймаут превышен, возникнет ошибка.

По умолчанию таймаут не установлен.
Нет

Укажите аргументы по порядку:

await $rag.query.generateAnswerAsync("MyKnowledgeHub", "Что делает сервис Example?", undefined, undefined, 5000);

Возвращаемое значение

Метод возвращает объект с информацией о созданном запросе.

{
"id": 12345,
"request": "Что делает сервис Example?",
"status": "READY_TO_PROCESS",
"createdAt": "2024-12-03T14:50:13.088492634Z",
"response": null,
"updatedAt": "2024-12-03T14:50:13.088497397Z",
"comment": null
}

Объект имеет такой же формат, как ответ на запрос POST /api/knowledge-hub/async/query в Jay Knowledge Hub API.

Использование в сценарии

state: Answer
intent!: /вопрос
scriptEs6:
// Бот получает историю диалога
const history = await $rag.getChatHistory();
// Бот создает запрос в базе знаний
const ragRequest = await $rag.query.generateAnswerAsync("MyKnowledgeHub", $request.query, history);
$session.currentId = ragRequest.id;

В этом стейте бот создает запрос и сохраняет его идентификатор. Далее этот идентификатор можно использовать в методах $rag.query.getAnswer и $rag.query.cancelProcessing.