简单 RAG 入门
在学习 RAG 之前,我们先来对比一下 RAG 和 AI Agent 的概念,只有先了解这些概念,才能继续往前推进。
简单来说就是允许你查阅书本,再来回答问题。
标准一点来说(也是简化过的):
- 整理原始文档,比如:pdf、word、excel、ppt 等
- 把整理好的文档内容进行清洗、切块
- 把切块好的数据向量化,并存储到向量数据库中
- 用户问一个问题
- 把这个问题的字符串向量化
- 然后根据【问题向量】去向量数据库查找相似的知识点
- 把查到的知识和问题一起传递给大模型
- 大模型根据查到的知识点来回答问题
当然了,这个流程也是简化过的,不过不用在意,这个只是便于你理解这个概念。
还有你需要知道的是:RAG 可以解决一些时效性的问题和幻觉问题。相比 Fing-turning 微调,RAG 更节省成本,而且数据可以溯源,可以知道相关的知识点源自哪个文档。
如果把 RAG 比作是查知识库,那么 AI Agent 就是可以执行具体任务的助手。主要包括这几个特点:
- 规划:规划步骤,比如说买机票可以先查日期,再查天气,然后买机票
- 记忆:可以记住聊天上下文
- 工具使用:可以决定使用查天气的 API 还是执行一段 Python 代码
- 执行:规划好之后,可以执行具体的任务,并根据结果来执行下一步任务
千问 Qwen 教程
目前主流的 RAG 框架有 LlamaIndex、langchain、Dify 等,我这边选择前面两个来做个示例:
大模型也分别选了 千问和 DeepSeek 来做展示:
1. Python 环境要求
- Python 3.8 或更高版本(推荐 3.10+)
- 建议使用虚拟环境
2. 安装依赖包
LlamaIndex 示例所需依赖:
LangChain 示例所需依赖:
一键安装所有依赖:
3. API Key 配置
如何获取 API Key:
- DeepSeek: https://platform.deepseek.com/
- 千问(DashScope): https://dashscope.aliyun.com/
文件名:
运行方式:
运行结果:
文件名:
运行方式:
运行结果:
- 简易RAG 学习
- LCEL 语法学习
- LangChain 读取数据
- LangChain 读取文本数据
- LangChain 读取图片数据
- LangChain 读取 PDF 数据
- LangChain 读取表格数据
- 文本切块
- 向量嵌入
- 向量存储
- 检索前处理
- 索引优化
- 检索后处理
- 响应生成
- 系统评估
本文所有代码示例都在 GitHub 开源:
https://github.com/zonezoen/refine-rag
欢迎 Star 和 Fork,一起学习 RAG 技术!
发布者:Ai探索者,转载请注明出处:https://javaforall.net/262757.html原文链接:https://javaforall.net
