代理文档工作流(ADW)- 课程笔记
Agentic Document Workflows (ADW)
1. 课程目标
- 介绍 代理文档工作流(ADW) 背后的核心概念,包括:
- RAG(检索增强生成)
- 代理
- 工作流
- 探讨如何利用 事件驱动的文档处理 来增强 RAG。
2. RAG(检索增强生成)
2.1 RAG 的背景
- LLM 的限制:
- 训练于大规模数据,但不包括用户的专属数据。
- 需要提供额外数据,但受限于上下文窗口(最多处理百万级 token)。
- 组织通常拥有海量数据(千万/亿级),需选择最相关的数据提供给 LLM。
2.2 解决方案:嵌入模型
- 嵌入模型:将文本数据转换为向量(数字数组),存储于向量数据库。
- 检索流程:
- 用户问题被转换为向量。
- 通过向量搜索,查找最相关的数据。
- 相关数据与查询一起提供给 LLM 生成回答。
2.3 RAG 的局限性
- 复杂或多部分问题:
- RAG 依赖搜索,如果问题包含多个部分,检索结果可能不够集中。
- 解决方案:将复杂问题拆解为多个子问题,各自检索后合并答案。
3. 代理(Agent)
- 定义:在 LlamaIndex 中,代理是一个半自主的软件,可以:
- 被赋予工具和目标。
- 自主规划如何解决问题,而非逐步执行预设指令。
- 对比传统编程:
- 传统编程:精确定义每一步。
- 代理:依靠目标驱动和工具,动态决策执行方式。
4. 代理的实现方式:工作流(Workflow)
-
工作流的作用:
- 代理系统的构建块。
- 采用事件驱动机制,定义一系列相互连接的步骤。
- 信息在步骤间传递,实现分支、循环、并行执行等复杂逻辑。
-
不同代理框架的对比:
- 无结构代理:灵活但易产生混乱结果。
- 基于图的代理:难以实现循环等动态控制。
- LlamaIndex 工作流:提供既有灵活性,又有结构化支持的最佳平衡。
5. 代理文档工作流(ADW)
- 定义:基于 RAG + 代理 + 事件驱动工作流 的软件构建方法。
- 与 RAG 的区别:
- RAG 适用于简单问题,返回文本回答。
- ADW 适用于复杂问题,可生成结构化输出。
6. 课程后续安排
- 了解 ADW 的核心概念后,下一课将开始构建代理文档工作流。