Chatbase - это бесплатный сервис для анализа чатботов. С помощью этого сервиса можно анализировать ключевые показатели эффективности бота.



Подготовка Chatbase

Для начала нужно перейти на сайт Chatbase и зарегистрироваться. После регистрации откроется основная рабочая область. Нужно нажать на кнопку "My bots", которая находится справа сверху.



После чего нажимаем на кнопку "Add a bot". Откроется форма, в которой нужно заполнить необходимые поля. Пример:



Нажимаем кнопку "Continue". Далее появится форма, где будет указан ваш API key, скопируйте его и сохраните в любой текстовый документ. Также там есть ссылка на документацию API.



Нажимаем "Continue". Откроется форма, где вы можете указать адреса людей, которые смогут просматривать статистику.



Если вы не желаете указывать дополнительные адреса, нажмите кнопку "skip". На этом все, со стороны chatbase нам больше ничего не нужно.

Сценарий в Aimylogic

Создадим простой сценарий в Aimylogic. Пример:



Допустим, мы хотим знать, сколько человек сказали "Привет" или какие фразы не были обработаны ботом. Тут нам потребуется отправлять данные из сценария Aimylogic в Сhatbase.

Способ 1

Используем блок Http-запрос.

Открываем документацию Chatbase и смотрим, что мы должны отправлять. Пример запроса сообщения пользователя:



В таком случае наш запрос в Aimylogic будет выглядеть так:



{
"api_key": "your api key", - ключ из chatbase
"type": "user", - тип сообщения (user или agent)
"platform": "Aimylogic", - платформа
"message": "$queryText", - сообщение пользователя
"intent": "Приветствие", - интент (в какую группу относится данное сообщение пользователя)
"version": "1.0", - версия
"user_id": "$userId" - уникальный идентификатор
}


И указываем заголовки в этом же запросе:



Теперь наш сценарий выглядит так:



По такому же примеру мы можем сделать http-запросы с событием что ответил бот.



Так же делаем http-запрос.



Можем отправить данные, что бот не распознал. У нас это http-запрос, который идёт от интента "Любая другая фраза".



В итоге у нас получится такой сценарий:



Как мы видим, данный способ довольно прост, но сценарий увеличился в 2 раза. Мы можем избежать этого и сделать другим способом.

Способ 2

Используем вебхук.

Как развернуть вебхук, мы подробно писали в этой статье

Пример файла webhook.js

const request = require('request');

module.exports = (webhook) => {
webhook
.on('user_message', (session) => {
request.post('https://chatbase-area120.appspot.com/api/message',
{ json: {
"api_key": "your api key",
"type": "user",
"platform": "Aimylogic",
"message": "$queryText",
"intent": "Приветствие",
"version": "1.0",
"user_id": "$userId"
} },
function (error, response, body) {
if (!error && response.statusCode == 200) {
console.log(body)
}
}
);
request.post('https://chatbase-area120.appspot.com/api/message',
{ json: {
"api_key": "your api key",
"type": "agent",
"platform": "Aimylogic",
"message": "Ну приветики!",
"version": "1.0",
"user_id": "$userId"
} },
function (error, response, body) {
if (!error && response.statusCode == 200) {
console.log(body)
}
}
)})
webhook
.on('not_handled_user', (session) => {
request.post('https://chatbase-area120.appspot.com/api/message',
{ json: {
"api_key": "your api key",
"type": "user",
"platform": "Aimylogic",
"message": "$queryText",
"not_handled": "true",
"version": "1.0",
"user_id": "$userId"
} },
function (error, response, body) {
if (!error && response.statusCode == 200) {
console.log(body)
}
}
);
request.post('https://chatbase-area120.appspot.com/api/message',
{ json: {
"api_key": "your api key",
"type": "agent",
"platform": "Aimylogic",
"message": "Давай еще раз, я не понял.",
"version": "1.0",
"user_id": "$userId"
} },
function (error, response, body) {
if (!error && response.statusCode == 200) {
console.log(body)
}
}
)});
}


Тогда наш сценарий будет выглядеть так:



При использовании данного способа наш сценарий не растет.

На этом все. Теперь мы можем анализировать данные бота через Сhatbase.



Обратите внимание, данные в Chatbase обновляются не сразу!
Была ли эта статья полезна?
отменить
Спасибо!