本文档涵盖了检索增强生成(RAG)系统和 LLM 代理的高级技术。虽然基础 RAG(在检索增强生成中介绍)侧重于检索相关文档以增强 LLM 回答,但高级 RAG 包含复杂的查询构建、后处理和工具集成。本文档还探讨了使 LLM 能够自主使用工具并通过多个推理步骤做出决策的代理架构。
基础 RAG 系统根据与用户查询的相似性检索文档,然后将这些文档提供给 LLM。高级 RAG 通过专门的组件进行扩展,用于查询优化、文档处理和生成控制。
高级 RAG 系统架构
与基础 RAG 相比,主要进步包括:
查询构建将自然语言问题转换为结构化查询,以便从数据库、知识图谱或其他结构化数据源检索信息。
查询构建工作流程
关键的查询构建技术包括:
查询构建的好处
来源:README.md357 README.md366-367
代理是自主的 LLM 系统,它们可以计划和执行多个步骤来完成任务,并在需要时利用外部工具。代理架构支持复杂的推理和任务分解。
LLM 代理架构
常见的代理框架和范例
流行的代理框架包括 LangChain 的代理、AutoGPT 和面向任务的框架(如 Gorilla)。
来源:README.md358 README.md368-370
后处理在将检索结果发送给 LLM 之前对其进行增强,以确保更高级别的上下文质量。
后处理流程
关键的后处理技术
后处理的好处
来源:README.md359 README.md369-370
DSPy 是一个框架,允许开发人员定义可通过自动评估进行优化的 LLM 驱动的模块。它为构建和改进 RAG 系统提供了编程模型。
DSPy RAG 优化流程
DSPy 支持
RAG 的示例 DSPy 模式
来源:README.md360 README.md370-371
此图展示了所有组件如何在一个完整的高级 RAG 代理系统中协同工作
这个集成系统展示了如何将高级 RAG 技术和代理功能结合起来,创建能够:
下表比较了基础 RAG 实现与高级 RAG 系统
| 功能 | 基础 RAG | 高级 RAG |
|---|---|---|
| 查询处理 | 直接相似性搜索 | 查询扩展,假设文档生成 |
| 检索来源 | 仅向量存储 | 向量存储 + 结构化数据库 + 知识图谱 |
| 文档选择 | 按相似性排序的前 k 个 | 重排结果 + 融合技术 |
| 上下文构建 | 简单串联 | 过滤、去重、聚类的信息 |
| 决策制定 | 单次生成 | 带工具使用的多步推理 |
| 内存 | 简单的对话历史 | 工作内存 + 长期存储 |
| 优化 | 手动调优 | 程序化评估和改进 |
| 响应生成 | 直接 LLM 完成 | 从多个来源合成的回答 |
高级技术在多个维度上显著提高了 RAG 系统的性能
多个框架有助于实现高级 RAG 和代理系统
每个框架在易用性、灵活性和性能之间提供不同的权衡。
来源:README.md358 README.md366-370
高级 RAG 和代理技术代表了 LLM 应用开发的前沿,使系统能够访问多个知识源、对复杂信息进行推理并采取行动来完成任务。这些功能极大地扩展了 LLM 在基础 RAG 实现之上的可能性。
有关在生产环境中部署这些系统的信息,请参阅部署与优化。
刷新此 Wiki
最后索引时间2025 年 4 月 18 日(881b60)