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

$rag.chat.retrieveChunksFromChat

Метод возвращает чанки, которые релевантны для запроса пользователя в чате базы знаний.

Синтаксис

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

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

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

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

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

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

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

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

Метод возвращает объект со списком чанков. Они отсортированы в порядке убывания релевантности.

{
"chunks": [
{
"score": 0.7486038,
"content": "Сервис Example обрабатывает запросы пользователей …",
"docId": "Документация.pdf",
"metadata": null
},
{
"score": 0.7337575,
"content": "Сервис Example может выдерживать большую нагрузку …",
"docId": "Сервисы.pdf",
"metadata": null
}
]
}

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

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

state: Chunks
intent!: /вопрос
scriptEs6:
$client.chat = $client.chat || await $rag.chat.create("MyKnowledgeHub");

const chunks = await $rag.chat.retrieveChunksFromChat("MyKnowledgeHub", $client.chat.id, $request.query);
$reactions.answer(chunks.chunks[0].content);

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

  1. Если чата еще нет, бот создает чат.
  2. Бот отправляет пользователю самый релевантный чанк.