Event driven agentic document workflows 笔记 - 3
RAG代理与工作流
课程概述
本课程介绍了如何使用 RAG(检索增强生成)技术构建代理,以处理简历文档并回答相关问题。通过解析简历、将数据存储为向量索引,并使用 LLM(大语言模型)进行查询,最终实现一个可以处理复杂任务的代理系统。
主要步骤
1. 启用异步操作
首先,启用嵌套异步以确保笔记本正常运行,并引入必要的导入库。
2. 配置 API 密钥
- OpenAI API 密钥:用于文本嵌入和查询。
- Llama Cloud API 密钥:用于解析 PDF 文件。
3. 使用 Llama Parse 解析简历
- Llama Parse:高级文档解析器,用于提取简历内容并转换为易于理解的格式(如 Markdown)。
- 步骤:
- 加载文档并指定解析类型(简历)。
- 格式化内容为项目符号列出相关信息(如公司名、职责、技能)。
4. 向量存储与索引
- 使用 OpenAI 嵌入 API,将解析后的文本转化为向量格式。
- 使用 OpenAI 提供的
text-embedding-3-small
模型。
- 使用 OpenAI 提供的
- 创建 向量存储索引,使其能够进行高效的相似度查询。
5. 创建查询引擎
- 使用 OpenAI LLM(如 GPT-4o-mini)结合向量存储索引创建查询引擎。
- 设置查询引擎返回与查询相关的最相似的前
K
个结果。
6. 持久化向量存储
- 将向量存储保存到磁盘,确保可以在后续使用时加载。
- 加载已有索引,避免重复解析。
7. 创建代理系统
- 使用 函数工具 和 函数调用代理,将查询简历的函数包装成代理。
- 设置代理的 LLM,并与查询引擎交互,进行问题回答。
8. 构建 RAG 工作流
- 创建一个 RAG 工作流类,将解析、存储、查询整合在一起。
- 工作流分为:
- 解析简历并存储到磁盘。
- 加载存储的索引或重新解析文档。
- 触发查询事件,查询引擎返回结果。
9. 执行 RAG 工作流
- 运行工作流,提供简历文件位置和查询内容。
- 快速回答关于简历的问题,避免重复解析。
关键概念
- RAG(检索增强生成):将检索(从数据库中查找相关内容)与生成(使用 LLM 生成回答)结合起来,以提高回答的准确性和效率。
- 向量存储:将文档数据转化为向量形式,便于高效的相似度查询。
- 查询引擎:利用预先处理的向量索引,通过 LLM 回答问题。