什么是 RAG 矢量数据库?

RAG 矢量数据库,定义

检索增强生成 (RAG) 矢量数据库结合人工智能 (AI) 与高级搜索技术,使大语言模型 (LLM) 能够实时检索相关信息,输出更精准、更贴合上下文的回复。

RAG 矢量数据库包含两个关键组成部分:检索架构 (RAG) 和数据层(矢量数据库)。

什么是 RAG?

RAG 是一种将语言模型与外部知识源连接起来的架构,使其能够检索相关信息,并在查询时将上下文融入响应中。这种方式弥补了 LLM 的常见短板,包括知识截止范围、生成幻觉以及领域适配性不足等问题。

什么是矢量数据库?

矢量数据库(或矢量 DB)以矢量嵌入这种数字表达形式存储和检索数据,可根据语义相似性而非精确的关键字匹配进行搜索。即便表达方式不同,该流程也可让系统根据语义检索相关信息。

这项技术带来的性能提升是可衡量的。当 Wikimedia Deutschland 需要让 LLM 能够访问 Wikidata 的 1.2 亿个条目的知识图谱时,他们选择了 IBM watsonx.data 上的 DataStax Astra DB 作为其矢量数据库。其结果是:查询速度比本地矢量计算快 30 倍,开发时间减少 90%,让团队能够专注于构建而非维护基础设施。

在大多数 RAG 实现方案中,RAG 系统依靠矢量数据库或矢量索引技术实现语义检索。然而,矢量搜索并非必要操作。RAG 架构还可以根据用例搭配关键字搜索、结构化查询或混合方法使用。

RAG 矢量数据库的重要性

RAG 矢量数据库重新定义了机器学习生成式 AI (Gen AI) 系统访问和应用信息的方式。该架构不再将知识视为模型内部的固定内容,而是支持结合应用场景动态检索、评估并运用知识。

这一转变涉及四大关键领域:知识、检索、定位和运营。

知识

即使是最先进的模型,也会受到训练数据的制约。随着训练数据逐步老化、用例场景愈发细分,各类数据缺口也随之出现。

RAG 通过引入研究人员所说的“非参数记忆”解决这一问题,即在运行阶段查询外部知识,而非将知识存储在模型参数当中。1

检索

传统的搜索系统通常依靠关键字匹配,这类系统默认用户的表述形式与数据内容保持一致。但在实际应用中,二者往往并不相同。矢量数据库通过矢量相似度来比较表征的匹配程度,将检索过程从匹配词语转向匹配意义。

RAG 系统中使用的混合检索方法将语义检索与传统搜索方法结合起来,以提升召回率和精度,尤其是在数据异构且复杂的企业环境中。2

定位

生成模型是概率性的,意味着它们生成合理的反应,而非经过核实的事实。这会带来幻觉风险。

RAG 通过将响应定位在检索到的数据中来缓解这种情况。跨医疗保健和教育等领域的研究表明,将检索与生成相结合可以提高问题解答系统中事实的准确性和可靠性。3

运营

RAG 改变了 AI 系统的维护和扩展方式。组织无需重新训练模型以融入新知识,而是可以更新底层数据或检索逻辑,从而实现更快的迭代和更强的跨用例适应性。

因此,RAG 已成为现代 AI 系统中的主导架构模式,尤其是在企业环境和面向消费者的应用程序中,在这些应用程序中,模型必须访问最新数据或外部数据才能生成准确的响应。

AI Academy

数据管理是生成式 AI 的秘诀吗?

深入了解为什么高质量数据对于成功使用生成式 AI 至关重要。

RAG 矢量数据库的工作原理

在较高级别上,RAG 矢量数据库遵循结构化序列:

  1. 用户提交提示
  2. 将令牌转换为嵌入
  3. 矢量数据库检索类似的嵌入
  4. 检索到的数据按与原始查询的相关性排序
  5. 模型上下文通过检索到的数据进行扩充
  6. 该模型会生成响应
检索增强生成

1. 用户提交提示

每次互动都以自然语言表达的用户查询开始。在此阶段,输入以令牌的形式存在,即语言模型处理的文本单元。令牌代表语言的编写和结构方式,但它们尚未以可搜索的方式捕获含义。

2. 令牌被转换为嵌入

为了使查询可搜索,它被转换为提供含义的数字表示的嵌入。理解这一点的一种方法是通过地理位置。

  • 令牌就像地名:“纽约市”、“NYC”、“曼哈顿”。
  • 嵌入就像坐标:纬度和经度。

通过将令牌转换为嵌入,系统从语言转入一个可以数学比较意义的空间(高维矢量空间)。

3. 矢量数据库检索相似的嵌入

一旦查询被表示为嵌入(或查询矢量),矢量数据库就会搜索相似的矢量。这一过程依赖于余弦相似度等相似度指标,这些指标可以衡量矢量在高维空间中的对齐紧密程度。许多系统还包括排名层,会优先考虑最相关的结果,从而提高准确性和连贯性。

4. 按与原始查询的相关性对检索到的数据进行排序

系统会检索与最相似的嵌入相关的较小数据块或“块”。这一过程被称为“分块”,其基础是分块的定义方式,从而决定检索质量。如果数据块过大,检索精度可能会降低。如果太小,它们可能会丢失上下文。

5. 使用检索到的数据来增强模型上下文

将检索到的信息插入到模型的输入中,这被称为提示增强。原始查询和检索到的上下文形成一个令牌序列。该模型无法区分它们。它只是处理组合后的输入并生成响应,因此提示结构至关重要。

6. 模型生成响应

增强提示部署到位后,模型会生成响应。这一阶段强调了 RAG 与微调等过程的不同,后者是修改模型内部参数,将知识直接嵌入模型中。RAG 在运行时检索知识,保持模型不变。换句话说,微调负责改善模型知道的内容,而 RAG 则改善模型可以访问的内容。

RAG 矢量数据库系统的核心组件

RAG 矢量数据库系统不是一个单一的工具,而是一组协调的组件,它们协同工作以构建和生成响应。该过程的核心组成部分包括:

  • 知识库
  • 嵌入模型
  • 向量数据库
  • 检索器
  • 集成层
  • 生成器

知识库

知识库是系统的外部可信信息源。它包含模型将从中检索的数据,其中可能包括文档、PDF、结构化记录、支持票证或其他非结构化内容。

在企业环境中,这些数据通常分散在不同系统和格式之间。因此,知识库的质量直接影响系统输出的质量。

嵌入模型

嵌入模型将自然语言转化为捕捉意义的矢量表示。

该组件决定信息在语义空间中的位置,从而影响检索过程中查询和文档的比较方式。如果嵌入模型未能捕捉到领域特定的细微差别,如技术术语或上下文关系,检索质量将受到影响。

矢量数据库

矢量数据库可存储嵌入信息并编制索引,从而在大型数据集中实现快速的相似性搜索。它的作用不仅是存储,还有检索性能。近似最近邻 (ANN) 搜索等索引技术可以让系统快速定位相关矢量,即使面对大规模数据也能快速定位。IBM 最近的研究表明,系统能够处理数百亿到数千亿个矢量。

同时,矢量数据库通常支持元数据过滤和混合搜索,可让系统根据日期、类别或来源等额外约束对结果进行细化。

检索器

检索器充当用户查询和矢量数据库之间的接口。它使用嵌入模型将查询转换为矢量表示,使用应用程序编程接口 (API) 或软件开发套件 (SDK) 执行搜索,并返回最相关的结果。

这一过程构成了现代 AI 搜索的基础。在更高级的系统中,检索器还可能包含排名逻辑、过滤机制或多步检索策略,以提高准确性

集成层

集成层管理系统,管控组件间的数据流动以及提示的构建方式。它获取检索结果,对结果进行整理,并以结构化的方式插入到模型的输入中。

集成是提示工程编排框架发挥作用的地方,确保模型获得清晰且相关的背景信息。通常,系统是结合开源工具、Python 库和矢量数据库平台(例如 Pinecone 或 Milvus)搭建而成。这种协同运作最终实现了应用程序和大规模数据集的可扩展 AI 搜索。

生成器

生成器是负责生成最终响应的语言模型。它本身并不检索信息。相反,它会解读增强提示,并根据获取的上下文生成响应。这一点区别十分关键。生成器的作用不是“知道”一切,而是综合并输出系统提供的信息。

RAG 矢量数据库注意事项

设计和部署 RAG 矢量数据库涉及准确性、性能和系统复杂性之间的权衡。虽然架构在概念上浅显易懂,但其有效性取决于每个组件与当前任务的匹配程度。注意事项通常包括:

  • 检索质量
  • 分块战略
  • 上下文窗口大小限制
  • 延迟和复杂性
  • 安全与治理

检索质量

RAG 系统依赖检索作为其主要可信信息源。如果系统检索到不完整或不相关的信息,模型将生成存在偏差的响应。这一挑战通常源于嵌入质量和排名逻辑。嵌入可能会忽略特定领域的细微差别,而相似性搜索可能会返回技术上接近但上下文错误的结果。

为此,现代系统结合了重排序层、领域特定嵌入模型以及结合语义相似性与结构化过滤的混合检索技术。

分块战略

检索性能还取决于数据分割方式。由于文档在检索之前会被分成更小的部分,因此定义不明确的分块策略可能会导致含义碎片化或降低精确度。通常,团队会将分块视为一种设计考量,并在特殊性和上下文之间取得平衡。

上下文窗口大小限制

即使检索有效,该模型也只能同时处理有限数量的信息(其上下文窗口)。在复杂的查询中,尤其是那些需要综合多个信息源的查询中,这种限制会迫使系统优先处理最相关的内容,从而限制了推理能力。经济高效的系统将上下文视为稀缺资源,使用摘要和选择性检索等技术来最大限度地提高其价值。

延迟和复杂性

RAG 在推理管道中引入了额外的步骤,包括嵌入生成、矢量搜索和提示构建。虽然每个步骤都会增加价值,但也会增加延迟

实时 AI 应用程序中,即使是很小的延迟也会影响用户体验。在大规模部署中,这类延迟可能会带来吞吐量和响应能力方面的挑战。这也是生产系统通常采用 ANN 搜索、缓存、并行处理等优化索引技术,来兼顾精度与复杂度的原因。

安全与治理

由于 RAG 系统将模型与外部数据源对接,因此引入了关于数据访问隐私合规性的新安全考量。

与传统模型将知识嵌入参数不同,RAG 应用程序基于实时数据运行。这可以实现实时更新和访问控制,但也需要防护措施(如护栏),以确保敏感信息在整个管道中得到保护。

尤其是矢量数据库,可存储源自源数据的嵌入。虽然这类内容并非原始数据副本,但可以通过逆向工程推断底层信息。因此,企业 RAG 系统需要完善的治理框架,包括加密、访问控制和可审计性。

RAG 矢量数据库用例

RAG 矢量数据库在信息庞大、动态且难以通过传统界面导航的场景中最有价值。典型应用包括:

企业聊天机器人和知识助手

RAG 矢量数据库通过实时检索和综合来自大型分布式数据源的信息,为企业聊天机器人和内部知识助手提供支持。这样,聊天机器人就能提供最新的支持回复,同时帮助员工使用自然语言查询内部文档和工作流,而无需在多个系统中进行搜索。

研究和分析工作流

在金融、医疗保健和法律分析等领域,RAG 系统根据上下文呈现来自多个来源的相关信息,允许用户提出复杂、多部分的问题并接收合成回复。结果是提高决策的速度和准确性。

推荐系统

RAG 矢量数据库通过启用用户偏好和内容之间的语义相似性来增强推荐引擎。这类系统可以同步生成说明与推荐内容,筛选结果不仅依据过往行为,还会结合从底层数据中提取的共有特征、评价及使用模式。

RAG 矢量数据库的未来

随着组织从实验性实施转向生产规模系统,RAG 矢量数据库正在迅速发展。研究和行业发展表明存在几个新兴趋势,包括:

  • 智能体检索
  • 混合检索架构
  • 实时知识系统
  • 多模态和推理驱动的 RAG

代理检索

早期的 RAG 系统遵循固定的流程:检索、增强、生成。新兴系统正在引入更多动态运行模式。

智能体检索允许模型决定获取什么、何时以及如何检索信息。系统无需局限于单一检索步骤,可以在生成过程中执行多次检索操作、细化查询或请求额外上下文。

近期对 AI 智能体的研究表明,这种方法可以提升复杂、多步骤任务的处理效果,特别是那些需要迭代推理或探索的任务。⁴

混合检索架构

虽然矢量搜索仍是基础,但它越来越多地与关键词搜索、元数据过滤以及在某些情况下的基于图的检索 (GraphRAG) 结合。这种协同运作使系统能够同时捕捉语义意义和结构化关系,提高复杂环境中的精度和回忆能力。

实时知识系统

RAG 系统正在向持续采集和更新信息的实时管道发展。这缩短了数据创建和可用之间的间隔,使系统能够及时响应各类变动。

在金融市场或运营监控等环境中,该项能力正变得至关重要。流数据和增量索引的进步使矢量数据库无需进行全面再处理即可更新嵌入数据。

多模态和推理驱动的 RAG

RAG 正在从文本拓展至图像、音频和结构化数据,可支持模型跨多种模态进行检索和推理。

与此同时,推理驱动的 RAG 研究正在优化模型集成检索信息的方式,从简单检索过渡至层级更清晰的多步骤推理工作流。

作者

Tom Krantz

Staff Writer

IBM Think

Alexandra Jonker

Staff Editor

IBM Think

相关解决方案
数据管理软件和解决方案

设计数据战略,消除数据孤岛、降低复杂性并提高数据质量,以获得卓越的客户和员工体验。

深入了解数据管理解决方案
IBM watsonx.data™

watsonx.data 支持您通过开放、混合和已治理数据,利用您的所有数据(无论位于何处)来扩展分析和 AI。

了解 watsonx.data
数据和分析咨询服务

通过 IBM® Consulting 发掘企业数据的价值,建立以洞察分析为导向的组织,实现业务优势。

了解分析服务
采取下一步行动

设计数据战略,消除数据孤岛、降低复杂性并提高数据质量,以获得卓越的客户和员工体验。

  1. 深入了解数据管理解决方案
  2. 了解 watsonx.data