Page 1 of 1

Как я создал нашего внутреннего чат-бота на базе искусственного интеллекта /askplivo для Slack SMS

Posted: Wed Dec 04, 2024 9:19 am
by Ravhin456
Как я создал нашего внутреннего чат-бота на базе искусственного интеллекта /askplivo для Slack
Технический директор Plivo Майкл Рикордо пишет…

Я изучал ИИ и хотел протестировать несколько вещей самостоятельно, потому что мне нравится это делать как техническому директору в Plivo . Я хотел узнать об инструментах OpenAI и одновременно создать что-то полезное для компании. Результатом стал наш новый чат-бот /askplivo для Slack.

На нашем сайте много ресурсов, включая документацию API, Список номеров мобильных телефонов whatsapp в Канаде записи в блогах и руководства по вариантам использования. Нашим сотрудникам может быть сложно ориентироваться в них и находить то, что им нужно.

Время от времени я видел, как на наших каналах Slack появлялись вопросы о функции, или правилах телекоммуникаций (я говорю о тебе, 10DLC ), или о покрытии страны. Если бы у нас был помощник-чатбот Q&A, способный отвечать на вопросы, а не ждать (иногда отчаянно) ответа коллеги, мы могли бы быть более продуктивными.

Например, представьте, что вы инженер службы поддержки Plivo, и клиент спрашивает, поддерживает ли Plivo SMS во Франции. (Я использую Францию ​​в качестве примера, потому что я оттуда родом, но вы можете указать любую другую страну; мы поддерживаем более 190 .) С помощью чат-бота вы можете получить ответ менее чем за минуту.

Поскольку моей целью было узнать больше об ИИ и OpenAI, я начал изучать, как я мог бы создать чат-бота, который использовал бы контент Plivo, улучшенный мощью ИИ. Я хотел что-то, что было бы достаточно умным, чтобы отвечать релевантной информацией и не галлюцинировать , что является хорошо известной проблемой.

Image

Проектирование чат-бота на основе искусственного интеллекта
Мне нравится Python для прототипирования и MVP , потому что его синтаксис прост, и я использую его уже 20 лет. Конечно, он не суперпроизводительный, но я не планирую строить здесь следующий Google. Мне нужен был легкий веб-фреймворк, поэтому я использовал Flask для предоставления API для взаимодействия со Slack и RQ для обработки заданий в фоновом режиме.

Для ИИ я нашел LangChain, фреймворк Python (и TypeScript), который абстрагирует многие части LLM и индексации. Он хорошо интегрирован с API OpenAI.

Для хранения, индексации и запроса (поиска) данных я хотел использовать векторную базу данных . У меня было много проблем с выбором: я пробовал RedisSearch и FAISS, но в итоге остановился на Qdrant ; облачная версия предлагает бесплатный уровень, который был достаточно хорош для моего варианта использования, и она написана на Rust, поэтому она эффективно использует память.

Наконец, я выбрал Fly для хостинга программного обеспечения. Я хотел протестировать Fly, потому что он дешевый и его легко развернуть и масштабировать с помощью Dockerfile, и я больше не хотел использовать Heroku.