Этот чат-бот поможет получить информацию о случаях covid19 в штатах Индии.

Фреймворк Rasa используется для разработки чат-бота, который будет предоставлять информацию о случаях Covid 19 в штатах Индии. Rasa — это платформа машинного обучения с открытым исходным кодом, которая помогает нам разрабатывать чат-ботов с искусственным интеллектом.

Архитектура Rasa: как она обрабатывает сообщения и ответы.

  1. Пользователь общается с чат-ботом через сообщение, сообщение принимается и передается интерпретатору, который преобразует его в словарь, включая исходные сообщения и намерения. Этим занимается NLU. Файл NLU.md находится в папке проекта чат-бота.

Пример: показать случаи заболевания covid19 в штате Карнатака.

В этом сообщении показано намерение, а объектами являются covid19 и karnataka. Это будет преобразовано в словарь NLU.

2. Трекер — это объект, который отслеживает сообщения, поступающие от пользователя.

3.Политика получает текущее состояние трекера и решает, какое действие предпринять дальше.

4. Какие действия предпринять сейчас, зависит от вопроса пользователя

5.Совершенное действие отслеживается трекером.

6.Ответ отправляется пользователю.

Шаги для запуска проекта:

Обязательное условие: Rasa должна быть установлена ​​в системе.

Инициализируйте Rasa в папке проекта, команда ‹Rasa Init›, она инициализирует начальный чат-бот в папке проекта. В папке проекта будут все необходимые файлы.

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

Настройка среды разработки завершена. Теперь начнем писать Intent и сущности для получения информации о COVID19 в зависимости от состояния. Папка данных содержит файл nlu.md, файл откроется и начнет записывать намерение, связанное с поиском covid19. Эти данные необходимы для обучения модели.

Снимок файла nlu.md:

Следующим шагом будет создание историй для намерения covid_state в файле stories.md. История — это не что иное, как путь, по которому она будет следовать пути разговора. Интент covid_sate должен присутствовать в файле stories.md, так как это необходимо для определения пути диалога. Это должно быть то же имя, что и в файле nlu.md.

Сюжетный путь:

То же намерение «covid_state» присутствует в файле stories.md. Как бот будет реагировать, как только обнаружит намерение, путь определяется определением «atction_state». Это «action_state» должно присутствовать в файлах domain.yml и action.py.

Теперь откройте файл domain.yml и определите сущность в блоке сущности и action_state в блоке действия.

Следующим шагом будет определение действия, ответа или сообщения от пользователя. Ответ записывается в файл action.py.

Файл action.py может вызывать базу данных или файлы, откуда он получает данные, связанные с covid, для индийского штата.

Ответ на этот вопрос оформлен в файле action.py.

вопрос от пользователя к чат-боту:

Ковидные случаи в Карнатаке?

Чат-бот должен дать ответ на этот запрос в режиме реального времени. Но вопрос, как чат-бот получит эти данные для ответа пользователю. Существует открытый API, который дает данные в реальном времени. Будет использовать этот API для получения данных для бота.

API данных json размещен по ссылке ниже, мы будем использовать эту ссылку для нашей модели чат-бота.

https://api.covid19india.org/data.json

Файл action.py будет формировать ответ на запрос пользователя. В action.py будет пакет запросов импорта, который будет использоваться для получения запроса json для данных из вышеуказанного API. Метод, который запрашивает json API для данных covid и отфильтровывает их для соответствующего ответа на запрос. снимок кода метода выглядит следующим образом:

Чат-бот почти готов, будет модифицировать файл enpoints.yml и обучать модель.

Часть кодирования завершена, пришло время обучить модель.

Команда для обучения модели — «раса поезд», это создаст новую обученную модель в папке моделей.

Обучение модели займет несколько минут, а пока запустите действие ‹rasa run action›

Как только модель будет обучена, она начнет общаться с чат-ботом, связанным со случаями covid19 в Индии.

Начать общение с чат-ботом:

Это данные в реальном времени, которые периодически обновляются.

Интегрируйте этого чат-бота с сайтом:

Для размещения чат-бота на веб-сайте следует изменить файл учетных данных.yml, чтобы добавить socketio, открыть файл учетных данных.yml и добавить следующие строки:

socketio:
user_message_evt: user_uttered
bot_message_evt: bot_uttered
session_persistence: true

Далее нужно создать html-страницу, на которой будет работать этот бот, и добавить этот скрипт в тег body html-файла.

‹div id="webchat"/›
‹script src=""https://storage.googleapis.com/mrbot-cdn/webchat-latest.js"'›‹/script›
/ / Или вы можете заменить последнюю на конкретную версию
‹script›
WebChat.default.init({
selector: “#webchat”,
initPayload: “/get_started”,
customData: {"language": "en"}, // произвольные пользовательские данные. Сохраняйте минимум, так как они будут добавлены в сокет
socketUrl: ""http://localhost:5"000' ,
socketPath: “/socket.io/”,
title: “Демонстрация бота Rasa”,
subtitle: “Subtitle”,
})
‹/script ›

Далее следует запустить модель и изменить номер порта в скрипте html-страницы.

rasa run -m models — enable-api — cors «*» — отладка

Измените номер порта html-файла в соответствии с приведенным выше выводом.

Все установлено, проверьте следующее:

  1. проверьте, запущено ли действие, если не запустите его ‹действие запуска rasa›
  2. убедитесь, что команда выполняется, и сопоставьте порт с выводом этой команды и html-файлом, если он не соответствует, измените порт html-файла.

rasa run -m models — enable-api — cors «*» — отладка

Время пообщаться с ботом, чтобы получить информацию о covid 19 в штатах Индии.

Перейдите в папку проекта, откройте файл index.html в браузере Chrome и начните общаться с ботом.

Пожалуйста, перейдите по ссылке github для получения всего исходного кода:

https://github.com/rikesh-DS/indiacovid19bot.git