在 Milvus 上使用 Snowflake Arctic 和 Transformers 构建 RAG

2024-07-23

By Antony G.

在 Milvus 上使用 Snowflake Arctic 和 Transformers 构建 RAG

检索增强生成(RAG)模型已成为一项关键创新,将大型语言模型(LLM)的最佳特性与信息检索相结合。RAG 应用程序采用图1所示的格式。

本文旨在指导您通过集成 Snowflake Arctic 的嵌入模型、Hugging Face 的 Transformers 库和流行的开源向量数据库 Milvus 来构建 RAG 应用程序。

81-1.png 81-1.png 图1. 标准 RAG 应用程序流程图

Snowflake 的 Arctic-embed-l 模型代表了一套最先进的文本嵌入工具,专为各种尺寸配置提供最佳检索质量而设计。这些模型于2024年4月16日发布,很快在 MTEB/BEIR 排行榜上确立了新的检索性能标准。从超紧凑的 'xs' 变体到广泛的 'l' 模型,Arctic-embed 家族建立在开源文本表示模型如 bert-base-uncased 的基础上。这些模型设计具有灵活的架构,适应从 x-small 变体中的2200万到大模型中的3.35亿不等的参数范围,确保在各种检索任务中的可扩展性和精度。该系列包括从小尺寸到大尺寸,每种都针对特定应用程序进行了优化,如在资源受限环境中进行高速检索到数据密集型环境中的深入、全面的嵌入。此外,它们在像 Hugging Face 这样的平台上的可用性扩大了访问并促进了社区合作,使这些模型成为希望在现实世界应用程序如 Zilliz Cloud 中实施最先进的嵌入解决方案的开发者的实用选择,我们将简要展示。

Transformers 库提供了一套 API 和工具,旨在简化使用最先进的预训练模型进行机器学习的过程。这种可访问性不仅节省了时间并降低了计算成本和环境影响,还消除了从头开始构建模型的需要。该库支持不同模态的各种任务,包括: • 自然语言处理(NLP):如文本分类、问答和摘要。 • 计算机视觉:如图像分类和目标检测。 • 音频:包括自动语音识别和音频分类。 • 多模态:支持复杂任务如光学字符识别和视频分类。

此外,Transformers 通过促进与主要框架如 PyTorch、TensorFlow 和 JAX 之间的互操作性,提高了灵活性。这个特性允许开发者在一个框架中训练模型并在另一个框架中部署它们,增强了模型在不同开发阶段的适应性。

Milvus 是一个流行的开源向量数据库,旨在管理大规模嵌入,如 Snowflake Arctic 模型生成的那些。它在存储、索引和检索向量数据方面表现出色,为实时应用程序提供高效和快速的搜索能力,如图2所示。Milvus 支持多种索引方法,包括平面、IVF 和 HNSW,这些方法优化了查询性能和可扩展性,以处理数十亿个向量。Milvus 的强大架构确保了高吞吐量,并提供了水平可扩展性和混合搜索能力,与流行的机器学习框架无缝集成。这使得 Milvus 成为希望在其应用程序中利用高级向量搜索的开发者的不可或缺的工具,提高了检索任务的精度和速度。

80-2.png 80-2.png 图2. Milvus 向量数据库 (图片来源:https://milvus.io/docs/overview.md)

让我们使用 Snowflake Arctic、Transformers 和 Milvus 构建一个 RAG 应用程序 在这个 colab 笔记本中,我们探讨了与 Zilliz Cloud(由 Milvus 提供支持)一起使用 Snowflake Arctic 嵌入模型来有效管理和利用向量嵌入。我们使用 Snowflake Arctic 模型嵌入从 Kaggle 来源的书籍标题数据集,将文本信息转换为高维向量空间。一旦嵌入,这些向量就存储在 Zilliz Cloud 中,利用 Milvus 的强大向量数据库功能来处理大规模嵌入。这种设置使得有效的向量相似性搜索成为可能,这是 RAG 应用程序的关键组成部分。通过执行相似性搜索,我们可以根据向量接近度识别和检索最相关的书籍标题,展示了嵌入向量如何在现实世界应用程序中为高级搜索和检索任务提供动力。图3中的流程图为使用 Snowflake Arctic 模型和 Milvus 设置和部署 RAG 管道提供了指南。

81-3.png 81-3.png 图3. colab 笔记本实现的流程图

用例和应用程序 将 Snowflake Arctic 和 Milvus 集成到 RAG 系统中,可以解锁各个行业众多应用程序。例如,根据《福布斯》文章,RAG 技术正在通过提高信息检索的精度和相关性,彻底改变医疗保健、法律、客户支持和金融等各个领域。

• 在医疗保健领域,RAG 可以通过快速获取最新的研究、患者病史和治疗指南来协助医疗专业人员,从而帮助做出更明智的决策。 • 法律专业人员通过 RAG 获得对案例法和法规的简化访问,这提高了法律研究和论证的效率。 • 在客户服务中,由 RAG 驱动的聊天机器人可以根据实时数据提供个性化响应,显著提高客户互动和满意度。 • 金融分析师使用 RAG 获取实时市场数据和综合报告,使市场分析和投资策略更快速、更准确。

这些应用程序中的每一个都展示了 RAG 在利用专有和基于互联网的知识,为各个领域提供专业化、及时解决方案方面的变革潜力。

**结论 ** 本文探讨了 Snowflake Arctic 与 Milvus 的集成。这种集成代表了在构建先进的 RAG 应用程序方面迈出了重要的一步。这种强大的组合利用 Snowflake Arctic 的高性能嵌入能力以及 Milvus 的强大向量管理功能,创建了动态和高效的 AI 系统。这些系统能够增强信息检索,从而通过提供精确和上下文相关的响应,丰富各个行业的用户体验。

随着技术的不断发展,这种设置的定制和适应潜力也在增加。鼓励组织和开发者尝试并适应这个框架以满足特定或更复杂的需求。无论是提高模型的准确性、扩大数据库以进行更广泛的检索,还是整合其他 AI 工具,都有很大的机会进行创新和增强 RAG 应用程序的能力。通过采用这种适应性强且尖端的技术,用户不仅可以满足他们的即时需求,还可以在各自领域的 AI 发展中占据前沿。 考虑加入 Milvus 的 discord 频道,同时关注其他开源平台上的讨论以保持最新动态。

本文引用: • Snowflake Launches Practical Text-Embedding Model for Retrieval use Cases • Snowflake Arctic: The Best LLM for Enterprise AI — Efficiently Intelligent, Truly Open • MTEB Leaderboard - a Hugging Face Space by mteb • Snowflake/snowflake-arctic-embed-l · Hugging Face • Zilliz Cloud, a managed vector database built on Milvus® • In-memory Index Milvus documentation • Scale a Milvus Cluster • https://www.forbes.com/sites/forbesbusinesscouncil/2024/04/24/the-rag-effect-how-ai-is-becoming-more-relevant-and-accurate/?sh=320b173d1f94

  • Antony G.

    Antony G.

    Freelance Technical Writer

    准备好开始了吗?

    立刻创建 Zilliz Cloud 集群,存储和检索您的向量。

    免费试用 Zilliz Cloud
    博客在 Milvus 上使用 Snowflake Arctic 和 Transformers 构建 RAG