什么是 FiftyOne
FiftyOne 是一款面向计算机视觉模型开发的开源代码工具。作为一款功能强大的机器学习套件,它帮助数据科学团队通过多种功能提升其计算机视觉模型的性能。这些功能不仅包括精确的数据集策展、全面深入的模型评估,还能够精确识别错误、可视化 Embedding,并助力模型开发流程的高效生产化。
FiftyOne 与 Zilliz Cloud (Milvus) 集成
向量搜索引擎,例如Milvus,极大地优化了向量 Embedding 在存储、索引和搜索方面的流程,支撑起了日新月异的 AI 应用发展。
对于那些需要在图像或视频工作流程中集成向量搜索的开发者来说,跨模态检索的实现与传统搜索过滤器的融合成为了新的挑战。FiftyOne 作为一款计算机视觉与向量搜索相结合的接口,提供了一站式解决方案。通过与 Milvus 的深度集成,用户只需简单的一行代码,就能轻松使用向量搜索引擎进行高效的视觉数据检索,无论是相似图像的查找还是图像中具体对象的搜寻,FiftyOne 都能化繁为简,让用户轻松达成搜索目标。
在图像或视频数据流程中集成向量搜索时,可能会遇到以下难题:
- 如何实现跨模态检索,例如基于文本描述搜索相关图像。
- 如何融合传统的搜索条件,例如设定置信度阈值或应用类别标签。
- 如何针对图像中的具体对象进行精准搜索,包括人物、动物、车辆等多种目标。
如何使用 FiftyOne 和 Zilliz Cloud
要借助 FiftyOne 使用 Milvus,并在您的数据集上创建索引以执行查询,您可以按照以下步骤操作:
- 将您的数据集导入 FiftyOne;
- 选择用于生成向量 Embedding 的模型,并决定是否使用 Milvus 或 Zilliz Cloud 作为这些 Embedding 向量的存储方案;
- 调用 compute_similarity() 方法,通过设置 backend 参数为 milvus 并选择一个合适的 brain_key,为数据集中的样本或对象区域生成 Milvus 相似性索引;
- 最后,使用生成的 Milvus 相似性索引,通过 sort_by_similarity() 方法对数据进行按相似度排序的查询。
构建 Milvus
## setup milvus ## download and start docker container + pip install pymilvus ## generate a similarity index ## with CLIP model embeddings ## using Milvus backend fob.compute_similarity( dataset, brain_key="milvus_clip_index", backend="milvus", metric="dotproduct"
使用 Milvus 查询
## get ID of first sample query = dataset.skip(1).first().id ## find 25 most similar images with Milvus backend sim_view = dataset.sort_by_similarity( query, k=25, brain_key="milvus_clip_index" ) ## display results session = fo.launch_app(sim_view)
了解更多
相关阅读
应用集成
PyMilvus
PyMilvus 是由 Milvus 开发的 Python 软件开发工具包(SDK),它提供了与 Zilliz Cloud 和开源 Milvus 无缝连接的通道。Milvus 是开源的向量数据库,专注于高效存储和检索高维向量。
了解更多
应用集成
LangChain
集成 LangChain,使用 Zilliz Cloud 或 Milvus 向量数据库存储非结构化数据,赋能 RAG 应用
了解更多
博客
手把手系列!无需 OpenAI 即可搭建 RAG 应用
OpenAI 是时下最火爆的大语言模型(LLM),不过除了 OpenAI 以外,还有许多不同的 LLM。此前,我们发布的许多篇文章中都介绍了如何使用 LangChain、Milvus 和 OpenAI 搭建众多 RAG 应用,这次我们来试试不一样的 LLM。
了解更多