8.3 数据驱动的 RAG 框架

一类数据/RAG 框架专注于数据连接与检索增强生成(RAG)。它们通常也提供智能体构建能力,适合需要处理大量非结构化数据的知识密集型应用。

8.3.1 核心哲学

这类框架的设计理念是 “以数据为中心的 AI”

传统智能体:  用户 → LLM → 工具 → 结果
数据/RAG:  用户 → LLM → 数据索引 → 知识检索 → 结果

8.3.2 与流程编排框架的侧重点差异

维度
流程编排框架
数据/RAG 框架

核心关注

工作流与控制流

数据索引与检索

强项

多步骤编排与状态机

知识管理与检索增强

智能体模式

通用任务型智能体

知识密集型智能体

适用场景

端到端任务闭环

文档/知识库问答与分析

8.3.3 核心组件:索引

核心能力之一是多种索引类型:

from <rag_framework> import VectorStoreIndex, Document

# 从文档创建向量索引

documents = [
    Document(text="人工智能的历史可以追溯到1950年代..."),
    Document(text="机器学习是人工智能的一个分支..."),
]

index = VectorStoreIndex.from_documents(documents)

索引类型

类型
用途
适用场景

向量存储索引

语义搜索

通用问答

摘要索引

全文摘要

文档总结

树索引

层级检索

结构化文档

知识图谱索引

知识图谱

实体关系查询

8.3.4 查询引擎

查询引擎是索引的查询接口:

8.3.5 高级 RAG 策略

具体示例如下:

8.3.6 基本智能体

这类框架通常提供“查询引擎作为工具”的能力:

8.3.7 多索引智能体

处理多个数据源的智能体:

8.3.8 子问题查询引擎

自动将复杂问题分解为子问题:

8.3.9 实战:文档分析智能体

场景描述

构建一个能够分析多种格式文档(PDF、Word、Excel)的智能助手。

实现代码

具体示例如下:

8.3.10 与向量存储集成

在工程落地中,索引层通常会对接外部向量存储(托管型或自托管型)。关键在于:

  • 向量写入/更新策略(增量、重建、版本化)

  • 元数据过滤与权限隔离(租户、文档级权限)

  • 检索后处理(阈值、重排序、长上下文重排)

多数框架都会提供统一的 VectorStore 接口,便于在不同后端之间切换。

8.3.11 小结

数据/RAG 框架的核心优势:

  • 数据连接能力:支持数十种数据源格式

  • 灵活的索引:多种索引类型满足不同需求

  • RAG 优化:内置多种检索和后处理策略

  • Query Engine as Tool:将知识库封装为智能体工具

适用场景:

  • 企业知识库问答

  • 文档分析和比较

  • 数据驱动的决策支持

  • 需要处理大量非结构化数据的应用

下一节将探讨多智能体框架的代表性形态。


下一节: 8.4 多体协作:多智能体框架实战

Last updated