Создайте чат-бота для ответов на вопросы с помощью NVIDIA Riva

С интеграцией API Википедии для генерации ответов

Введение

NVIDIA Riva приносит глубокое обучение в массы. Мультимодальный аспект Riva лучше всего понимается в контексте того, что NVIDIA хочет предложить Riva с точки зрения функциональности.

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

Еще одним ключевым направлением деятельности Riva является трансферное обучение. Существует значительная экономия средств, когда речь идет о усовершенствованных базовых моделях Riva и их перепрофилировании для конкретных целей.

Функциональность, которая в настоящее время доступна в Riva, включает ASR, STT и NLU. Пограничная установка является огромным преимуществом.

Настройка вашей среды

Доступ к программному обеспечению NVIDA, ноутбукам Jupyter и демо-приложениям прост, а ресурсов достаточно. Единственным препятствием является доступ к графическому процессору NVIDIA на базе архитектуры Turing или Volta.

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



После запуска NVIDIA Deep Learning AMI установите NVIDIA GPU Cloud.

Чтобы установить NVIDIA GPU Cloud (NGC), выполните четыре приведенные ниже команды. Во время этого процесса вас также попросят ввести ключ API NGC. Двоичный файл NGC CLI для ARM64 поддерживается в дистрибутивах Ubuntu 18.04 и более поздних версиях.

wget -O ngccli_linux.zip https://ngc.nvidia.com/downloads/ngccli_linux.zip && unzip -o ngccli_linux.zip && chmod u+x ngc
md5sum -c ngc.md5
echo "export PATH=\"\$PATH:$(pwd)\"" >> ~/.bash_profile && source ~/.bash_profile
ngc config set

При установке NVIDIA Riva запустите этот список команд:

ngc registry resource download-version
nvidia/riva/riva_quickstart:1.4.0-beta
cd riva_quickstart_v1.4.0-beta
bash riva_init.sh
bash riva_start.sh
bash riva_start_client.sh
jupyter notebook --ip=0.0.0.0 --allow-root --notebook-dir=/work/notebooks

При выполнении последней команды вам будет представлено:

  • URL-адрес
  • Порт (8888)
  • и жетон.

Ноутбуки NVIDIA Riva

Для начала у NVIDIA есть довольно много доступных примеров Jupyter Notebook, которые вы можете использовать для пошагового изучения. Они включают в себя различные реализации речи, включая преобразование речи в текст, преобразование текста в речь, именованные объекты, обнаружение намерений и слотов и многое другое.

Подробнее об этой функции читайте здесь…



Википедия Вопрос Ответ Функциональность

Перейдем к примеру блокнота вопросов и ответов из Википедии…

Во-первых, вам нужно перейти в каталог установки Riva…

cd riva_quickstart_v1.4.0-beta

Затем, чтобы запустить службы Riva, выполните эту команду…

bash riva_start.sh

Запустите контейнер с образцами клиентов для каждой службы…

bash riva_start_client.sh

Наконец, из командной строки запустите экземпляр Jupyter Notebook и получите к нему доступ с локального компьютера.

jupyter notebook --ip=0.0.0.0 --allow-root --notebook-dir=/work/notebooks

Вам нужно будет использовать туннелирование SSH для удаленного доступа к экземпляру ноутбука из браузера.

Этот экран означает, что вы успешно получили доступ к Jupyter Notebook. Введите токен, который был представлен при запуске блокнота из командной строки.

И перейдите в демо-папку Riva Speech QA…

Вы увидите, что доступно больше демонстрационных приложений, нажмите Speech QA.

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

Ввод и вывод этой записной книжки основаны на тексте. Вот пример запроса и ответа.

Query: What is speech recognition?
Answer: an interdisciplinary subfield of computer science and computational linguistics that develops methodologies and technologies that enable the recognition and translation of spoken language into text by computers.



Глядя на некоторые детали

Это показывает, как вы можете обновить блокнот Jupyter, чтобы задать Википедии другой вопрос и где будет напечатан ответ или вывод. Просто обратите внимание, что если ваш вопрос слишком неоднозначен, ответ не будет представлен так аккуратно, и будут показаны варианты устранения неоднозначности.

Я также поэкспериментировал с параметром max_articles_combine, установив для него значение «1» вместо значения по умолчанию «3».

Это показывает, где вы можете изменить свой вопрос, повторно запустить код и получить другой результат.

В последнем примере входной запрос изменен на «Что такое Кейптаун?», а из Википедии возвращается сводка для именованного объекта Кейптаун.

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

Вывод

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

Наоборот, разобраться с Riva на уровне демо-приложения было просто, если следовать документации. После запуска этого базового демонстрационного голосового бота, каковы следующие шаги?

Голосовой бот, в котором осуществляется интеграция Rasa с Riva, — это шаг вверх по сложности и логический следующий шаг. Также просмотр Jupyter Notebooks дает хорошие примеры того, как взаимодействовать с API.





«Подпишитесь на мою рассылку.
НЛП/НЛУ, Чат-боты, Голос, Разговорный UI/UX, CX Designer, Разработчик, Вездесущие пользовательские интерфейсы, Ambient…кобусгрейлинг. меня"