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

$rag.chat.processQueryAsync

Метод создает запрос на генерацию ответа в базе знаний. При ответе будет учитываться история в чате базы знаний.

Синтаксис

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

АргументТипОписаниеОбязательный
secretNameСтрокаНазвание токена для базы знаний.Да
chatIdЧисло

chatId — идентификатор чата.

Вы можете получить идентификатор с помощью $rag.chat.create.
Да
queryСтрокаТекстовый запрос пользователя.Да
settingsОбъектНастройки обработки запроса. По умолчанию используются настройки из проекта Jay Knowledge Hub.Нет
подсказка

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

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

await $rag.chat.processQueryAsync(secretName, chatId, query, settings);

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

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

{
"id": 11111,
"chatId": 12345,
"request": "Что делает сервис Example",
"status": "READY_TO_PROCESS",
"createdAt": "2024-12-03T17:05:22.928610258Z",
"response": null,
"updatedAt": "2024-12-03T17:05:22.928613255Z",
"comment": null
}

Объект имеет такой же формат, как ответ на запрос POST /api/knowledge-hub/async/chat/{chatId}/query в 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);
$session.currentId = ragRequest.id

В этом стейте:

  1. Если чата еще нет, бот создает чат.
  2. Бот создает запрос и сохраняет его идентификатор.

Далее этот идентификатор можно использовать в методах $rag.chat.getQueryAnswer и $rag.chat.cancelRecordProcessing.