如何用 Milvus 制作 4 款受欢迎的人工智能应用程序
博客封面.png
Milvus是一个开源向量数据库。它支持对使用人工智能模型从非结构化数据中提取特征向量创建的海量向量数据集进行添加、删除、更新和近实时搜索。Milvus 拥有一套全面直观的 API,并支持多个广泛采用的索引库(如 Faiss、NMSLIB 和 Annoy),可加快机器学习应用程序开发和机器学习操作(MLOps)。借助 Milvus,您可以快速开发出最小可行产品(MVP),同时将成本控制在较低限度。
"使用 Milvus 开发人工智能应用有哪些资源?"这是 Milvus 社区中常见的问题。Milvus背后的公司Zilliz开发了许多演示,利用Milvus进行快如闪电的相似性搜索,为智能应用提供动力。Milvus 解决方案的源代码可在zilliz-bootcamp 上找到。以下互动场景演示了自然语言处理(NLP)、反向图像搜索、音频搜索和计算机视觉。
欢迎试用这些解决方案,以获得特定场景的实践经验!通过以下方式分享您自己的应用场景
跳转到
自然语言处理(聊天机器人)
Milvus 可用于构建聊天机器人,利用自然语言处理来模拟现场操作符、回答问题、将用户引导至相关信息,并降低人工成本。为了演示这一应用场景,Zilliz 通过将 Milvus 与为 NLP 预训练而开发的机器学习 (ML) 模型BERT 相结合,构建了一个能理解语义语言的人工智能聊天机器人。
源代码:zilliz-bootcamp/intelligent_question_answering_v2
1.png
如何使用
上传包含问题和答案的数据集。将问题和答案格式化为两列。也可下载示例数据集。
输入问题后,系统会从上传的数据集中检索出类似问题的列表。
选择与您的问题最相似的问题,揭示答案。
工作原理
使用 Google 的 BERT 模型将问题转换为特征向量,然后使用 Milvus 管理和查询数据集。
数据处理:
- 使用 BERT 将上传的问题-答案对转换为 768 维特征向量。然后将向量导入 Milvus 并分配单独的 ID。
- 问题和相应答案的向量 ID 保存在 PostgreSQL 中。
搜索相似问题:
- BERT 用于从用户输入的问题中提取特征向量。
- Milvus 会检索与输入问题最相似的问题的向量 ID。
- 系统会在 PostgreSQL 中查找相应的答案。
反向图像搜索系统
反向图像搜索正在通过个性化产品推荐和类似的产品查询工具改变电子商务,从而提高销售额。在这一应用场景中,Zilliz 通过将 Milvus 与可提取图像特征的 ML 模型VGG 相结合,构建了一个反向图像搜索系统。
源代码:zilliz-bootcamp/image_search
2.jpeg
如何使用
- 上传仅由 .jpg 图像组成的压缩图像数据集(不接受其他图像文件类型)。也可下载样本数据集。
- 上传一张图片,作为查找相似图片的搜索输入。
工作原理
使用 VGG 模型将图像转换为 512 维特征向量,然后使用 Milvus 管理和查询数据集。
数据处理:
- 使用 VGG 模型将上传的图像数据集转换为特征向量。然后将向量导入 Milvus 并分配单独的 ID。
- 图像特征向量和相应的图像文件路径存储在 CacheDB 中。
搜索相似图像:
- VGG 用于将用户上传的图像转换成特征向量。
- 与输入图像最相似的图像向量 ID 会从 Milvus 中获取。
- 系统会在 CacheDB 中查找相应的图像文件路径。
音频搜索系统
语音、音乐、音效和其他类型的音频搜索使得快速查询海量音频数据和浮现相似声音成为可能。其应用包括识别相似的声音效果、最大限度地减少知识产权侵权等。为了演示这种应用场景,Zilliz 将 Milvus 与PANNs(一种为音频模式识别而构建的大规模预训练音频神经网络)相结合,构建了一个高效的音频相似性搜索系统。
源代码:zilliz-bootcamp/audio_search 3.png
如何使用
- 上传仅由 .wav 文件组成的压缩音频数据集(不接受其他音频文件类型)。也可下载样本数据集。
- 上传一个 .wav 文件,作为查找相似音频的搜索输入。
工作原理
使用 PANNs(为音频模式识别而构建的大规模预训练音频神经网络)将音频转换为特征向量。然后使用 Milvus 管理和查询数据集。
数据处理:
- PANNs 将上传数据集中的音频转换为特征向量。然后将向量导入 Milvus 并分配单独的 ID。
- 音频特征向量 ID 及其对应的 .wav 文件路径存储在 PostgreSQL 中。
搜索相似音频
- PANNs 用于将用户上传的音频文件转换为特征向量。
- 通过计算内积(IP)距离,从 Milvus 中检索出与上传文件最相似的音频的向量 ID。
- 系统会在 MySQL 中查找相应的音频文件路径。
视频对象检测(计算机视觉)
视频对象检测可应用于计算机视觉、图像检索、自动驾驶等领域。为了展示这一应用场景,Zilliz 通过将 Milvus 与OpenCV、YOLOv3 和ResNet50 等技术和算法相结合,构建了一个视频对象检测系统。
源代码:zilliz-bootcamp/video_analysis
4.png
如何使用
- 上传仅由 .jpg 文件组成的压缩图像数据集(不接受其他图像文件类型)。确保每个图像文件以其描述的对象命名。也可下载样本数据集。
- 上传用于分析的视频。
- 单击播放按钮查看上传的视频,并实时显示对象检测结果。
工作原理
使用 ResNet50 将物体图像转换为 2048 维特征向量。然后使用 Milvus 管理和查询数据集。
数据处理:
- ResNet50 将物体图像转换为 2048 维特征向量。然后将向量导入 Milvus 并分配单独的 ID。
- 音频特征向量 ID 及其对应的图像文件路径存储在 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