$rag.chat.getQueryAnswer
Метод возвращает статус запроса на генерацию ответа в рамках чата.
Синтаксис
Метод принимает 4 аргумента:
Аргумент | Тип | Описание | Обязательный |
---|---|---|---|
secretName | Строка | Название токена для базы знаний. | Да |
chatId | Число |
$rag.chat.create . | Да |
queryId | Число | Идентификатор запроса на генерацию ответа. Вы можете получить идентификатор с помощью$rag.chat.processQueryAsync . | Да |
waitTimeSeconds | Число | Таймаут для получения статуса в секундах. По умолчанию: 3 . | Нет |
Метод доступен только в среде ECMAScript 6 и является асинхронным:
await $rag.chat.getQueryAnswer(secretName, chatId, queryId, waitTimeSeconds);
Возвращаемое значение
Метод возвращает объект с информацией о запросе на генерацию ответа.
Если запрос имеет статус FINISHED
, то поле response
содержит ответ на вопрос пользователя.
{
"id": 11111,
"chatId": 12345,
"request": "Что делает сервис Example",
"status": "FINISHED",
"createdAt": "2024-12-04T07:18:16.694200Z",
"response": "Сервис Example обрабатывает запросы пользователей …",
"comment": null
}
Объект имеет такой же формат, как ответ на запрос GET /api/knowledge-hub/chat/{chatId}/query/{queryId}
в Jay Knowledge Hub API.
Использование в сценарии
state: Answer
intent!: /вопрос
scriptEs6:
$client.chat = $client.chat || await $rag.chat.create("MyKnowledgeHub", "Мой чат");
const ragRequest = await $rag.chat.processQueryAsync("MyKnowledgeHub", $client.chat.id, $request.query);
var statusRequest = await $rag.chat.getQueryAnswer("MyKnowledgeHub", $client.chat.id, ragRequest.id, 5);
$reactions.answer("Статус запроса:" + statusRequest.status)
В этом стейте:
- Если чата еще нет, бот создает чат.
- Бот создает запрос и сохраняет его идентификатор.
- Бот получает статус запроса по этому идентификатору и отправляет его пользователю.