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

$rag.getChatHistory

Метод возвращает историю диалога с ботом в текущей сессии.

История имеет специальный формат для базы знаний. Вы можете передавать эту историю в параметре history, если отправляете одиночные запросы в базу знаний:

В этом случае база знаний сможет учитывать контекст одиночных запросов.

Синтаксис

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

 await $rag.getChatHistory();

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

Метод возвращает массив с историей диалога:

[
{
"role": "assistant",
"content": "Чем могу помочь?"
},
{
"role": "user",
"content": "Как отменить заказ?"
},
{
"role": "assistant",
"content": "Чтобы отменить заказ, напишите в поддержку. Подробнее: https://example.com/docs"
}
]

Здесь:

  • role — роль участника диалога:

    • user — пользователь.
    • assistant — бот.
  • content — текст сообщения.

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

В этом стейте бот отправляет запрос пользователя и историю диалога в базу знаний:

state: Answer
intent!: /вопрос
scriptEs6:
// Бот получает историю диалога
const history = await $rag.getChatHistory();
// Бот отправляет запрос вместе с историей
$rag.query.generateAnswer("MyKnowledgeHub", $request.query, history)
.then(answer => {
$conversationApi.sendTextToClient(answer.response);
})
.catch(error => {
$conversationApi.sendTextToClient("Произошла ошибка: " + error);
});