Как создать 4 популярных приложения для искусственного интеллекта с помощью Milvus
обложка блога.png
Milvus - это векторная база данных с открытым исходным кодом. Она поддерживает добавление, удаление, обновление и поиск практически в режиме реального времени в массивных векторных наборах данных, созданных путем извлечения векторов признаков из неструктурированных данных с помощью моделей искусственного интеллекта. Благодаря обширному набору интуитивно понятных API и поддержке множества широко распространенных библиотек индексов (например, Faiss, NMSLIB и Annoy) Milvus ускоряет разработку приложений машинного обучения и выполнение операций машинного обучения (MLOps). С помощью Milvus вы можете быстро разработать минимально жизнеспособный продукт (MVP), сохраняя при этом минимальные затраты.
"Какие ресурсы доступны для разработки ИИ-приложений с помощью Milvus?" - часто спрашивают в сообществе Milvus. Компания Zilliz, стоящая за Milvus, разработала ряд демо-версий, использующих Milvus для молниеносного поиска сходства, который позволяет создавать интеллектуальные приложения. Исходный код решений Milvus можно найти на сайте zilliz-bootcamp. Следующие интерактивные сценарии демонстрируют обработку естественного языка (NLP), обратный поиск изображений, поиск аудио и компьютерное зрение.
Не стесняйтесь опробовать решения, чтобы получить практический опыт работы с конкретными сценариями! Поделитесь своими сценариями применения через:
Перейти к:
- Обработка естественного языка (чатботы)
- Обратный поиск изображений
- Аудиопоиск
- Обнаружение видеообъектов (компьютерное зрение)
Обработка естественного языка (чат-боты)
Milvus можно использовать для создания чат-ботов, которые с помощью обработки естественного языка имитируют живого оператора, отвечают на вопросы, направляют пользователей к нужной информации и сокращают трудозатраты. Чтобы продемонстрировать этот сценарий применения, компания Zilliz создала чатбота на базе ИИ, понимающего семантику языка, объединив Milvus с BERT, моделью машинного обучения (ML), разработанной для предварительного обучения NLP.
👉 Исходный код:zilliz-bootcamp/intelligent_question_answering_v2
1.png
Как использовать
Загрузите набор данных, содержащий пары "вопрос-ответ". Отформатируйте вопросы и ответы в двух отдельных колонках. В качестве альтернативы можно загрузить примерный набор данных.
После ввода вашего вопроса из загруженного набора данных будет получен список похожих вопросов.
Выберите вопрос, наиболее похожий на ваш, и узнайте ответ.
👉Video:[Demo] QA System Powered by Milvus
Как это работает
Вопросы преобразуются в векторы признаков с помощью модели BERT от Google, а затем Milvus используется для управления и запроса к набору данных.
Обработка данных:
- BERT используется для преобразования загруженных пар "вопрос-ответ" в 768-мерные векторы признаков. Затем векторы импортируются в Milvus и им присваиваются индивидуальные идентификаторы.
- Идентификаторы векторов вопросов и соответствующих ответов хранятся в PostgreSQL.
Поиск похожих вопросов:
- BERT используется для извлечения векторов признаков из введенного пользователем вопроса.
- Milvus извлекает идентификаторы векторов для вопросов, которые наиболее похожи на входной вопрос.
- Система ищет соответствующие ответы в PostgreSQL.
Системы обратного поиска изображений
Обратный поиск изображений преобразует электронную коммерцию благодаря персонализированным рекомендациям по товарам и аналогичным инструментам поиска товаров, которые могут повысить продажи. В этом сценарии Zilliz построил систему обратного поиска по изображениям, объединив Milvus с VGG, ML-моделью, которая может извлекать особенности изображений.
👉 Исходный код:zilliz-bootcamp/image_search
2.jpeg
Как использовать
- Загрузите заархивированный набор данных изображений, состоящий только из изображений .jpg (другие типы файлов изображений не принимаются). В качестве альтернативы можно загрузить примерный набор данных.
- Загрузите изображение, которое будет использоваться в качестве поискового запроса для поиска похожих изображений.
👉Видео: [Demo] Image Search Powered by Milvus
Как это работает
Изображения преобразуются в 512-мерные векторы признаков с помощью модели VGG, а затем Milvus используется для управления и запроса набора данных.
Обработка данных:
- Модель VGG используется для преобразования загруженного набора данных изображений в векторы признаков. Затем векторы импортируются в Milvus и им присваиваются индивидуальные идентификаторы.
- Векторы признаков изображений и соответствующие пути к файлам изображений хранятся в CacheDB.
Поиск похожих изображений:
- VGG используется для преобразования загруженного пользователем изображения в векторы признаков.
- Векторные идентификаторы изображений, наиболее похожих на входное изображение, извлекаются из Milvus.
- Система ищет соответствующие пути к файлам изображений в CacheDB.
Системы поиска аудиозаписей
Поиск по речи, музыке, звуковым эффектам и другим типам аудиозаписей позволяет быстро запрашивать огромные объемы аудиоданных и находить похожие звуки. Приложения включают выявление похожих звуковых эффектов, минимизацию нарушений прав интеллектуальной собственности и многое другое. Чтобы продемонстрировать этот сценарий применения, Зиллиз создал высокоэффективную систему поиска сходства аудиоданных, объединив Milvus с PANNs -крупномасштабными предварительно обученными аудионейронными сетями, созданными для распознавания аудиообразов.
👉 Исходный код:zilliz-bootcamp/audio_search 3.png
Как использовать
- Загрузите заархивированный набор аудиоданных, состоящий только из файлов .wav (другие типы аудиофайлов не принимаются). В качестве альтернативы можно загрузить примерный набор данных.
- Загрузите .wav-файл, чтобы использовать его в качестве поискового ввода для поиска похожих аудиофайлов.
👉Видео: [Demo] Audio Search Powered by Milvus
Как это работает
Аудио преобразуется в векторы признаков с помощью PANN, крупномасштабных предварительно обученных аудионейронных сетей, созданных для распознавания аудиообразов. Затем Milvus используется для управления и запроса к набору данных.
Обработка данных:
- PANNs преобразует аудио из загруженного набора данных в векторы признаков. Затем векторы импортируются в Milvus и им присваиваются индивидуальные идентификаторы.
- Идентификаторы векторов признаков аудио и соответствующие им пути к файлам .wav хранятся в PostgreSQL.
Поиск похожих аудиозаписей:
- PANNs используется для преобразования загруженного пользователем аудиофайла в векторы признаков.
- Идентификаторы векторов аудио, наиболее похожих на загруженный файл, извлекаются из Milvus путем вычисления расстояния внутреннего произведения (IP).
- Система ищет соответствующие пути к аудиофайлам в MySQL.
Обнаружение видеообъектов (компьютерное зрение)
Обнаружение видеообъектов находит применение в компьютерном зрении, поиске изображений, автономном вождении и т. д. Чтобы продемонстрировать этот сценарий применения, Зиллиз построил систему обнаружения видеообъектов, объединив Milvus с технологиями и алгоритмами, включая OpenCV, YOLOv3 и ResNet50.
👉 Исходный код: zilliz-bootcamp/video_analysis
4.png
Как использовать
- Загрузите заархивированный набор данных изображений, состоящий только из файлов .jpg (другие типы файлов изображений не принимаются). Убедитесь, что каждый файл изображения назван по объекту, который на нем изображен. В качестве альтернативы можно загрузить примерный набор данных.
- Загрузите видео, которое будет использоваться для анализа.
- Нажмите кнопку воспроизведения, чтобы просмотреть загруженное видео с результатами обнаружения объектов в режиме реального времени.
👉Видео: [Демо] Система обнаружения видеообъектов на базе Milvus
Как это работает
Изображения объектов преобразуются в 2048-мерные векторы признаков с помощью ResNet50. Затем для управления и запроса набора данных используется Milvus.
Обработка данных:
- ResNet50 преобразует изображения объектов в 2048-мерные векторы признаков. Затем векторы импортируются в Milvus и им присваиваются индивидуальные идентификаторы.
- Идентификаторы векторов звуковых признаков и соответствующие им пути к файлам изображений хранятся в MySQL.
Обнаружение объектов в видео:
- OpenCV используется для обрезки видео.
- YOLOv3 используется для обнаружения объектов на видео.
- ResNet50 преобразует изображения обнаруженных объектов в 2048-мерные векторы признаков.
Milvus ищет наиболее похожие изображения объектов в загруженном наборе данных. Соответствующие имена объектов и пути к файлам изображений извлекаются из MySQL.
Try Managed Milvus for Free
Zilliz Cloud is hassle-free, powered by Milvus and 10x faster.
Get StartedLike the article? Spread the word