$rag.query.getAnswer
Метод возвращает статус запроса на генерацию ответа.
Метод доступен только в среде ECMAScript 6 и является асинхронным.
Синтаксис
Метод принимает аргументы:
Аргумент | Тип | Описание | Обязательный |
---|---|---|---|
secretName | Строка | Название токена для базы знаний. | Да |
queryId | Число | Идентификатор запроса на генерацию ответа. Используйте идентификатор, который вернул метод$rag.query.generateAnswerAsync . | Да |
timeout | Число | Время в миллисекундах, в течение которого база знаний отслеживает статус запроса. Если статус не меняется за это время, база знаний возвращает текущий статус. Значение по умолчанию:3000 . | Нет |
Вы можете передавать аргументы в метод разными способами.
- Позиционные аргументы
- Через объект
Укажите аргументы по порядку:
await $rag.query.getAnswer("MyKnowledgeHub", 12345, 5000);
Передайте объект, поля которого совпадают с названиями аргументов:
await $rag.query.getAnswer({
secretName: "MyKnowledgeHub",
queryId: 12345,
timeout: 5000
});
Возвращаемое значение
Метод возвращает объект с информацией о запросе на генерацию ответа.
Если запрос имеет статус FINISHED
, то поле response
содержит ответ на вопрос пользователя.
{
"id": 12345,
"request": "Что делает сервис Example?",
"status": "FINISHED",
"createdAt": "2024-12-03T15:02:08.385742Z",
"response": "Сервис Example обрабатывает запросы пользователей …",
"updatedAt": "2024-12-03T15:02:14.255934Z",
"comment": null
}
Объект имеет такой же формат, как ответ на запрос GET /api/knowledge-hub/query/{queryId}
в Jay Knowledge Hub API.
Использование в сценарии
state: Answer
intent!: /вопрос
scriptEs6:
const ragRequest = await $rag.query.generateAnswerAsync("MyKnowledgeHub", $request.query);
var statusRequest = await $rag.query.getAnswer("MyKnowledgeHub", ragRequest.id, 5000);
$reactions.answer("Статус запроса:" + statusRequest.status)
В этом стейте:
- Бот создает запрос и сохраняет его идентификатор.
- Бот получает статус запроса по этому идентификатору и отправляет статус пользователю.