一、为什么我们需要 RAG?
那天调试公司的智能客服系统时,又遇到了熟悉的尴尬 ------ 用户问最新的产品保修政策,AI 一本正经地回复了去年已经废止的条款。老板在旁边皱着眉说:"这还不如人工客服靠谱。"
这大概就是所有 AI 从业者都会遇到的 "幻觉困境"。直到接触了 RAG 技术,我才找到破解这个困局的钥匙。
想象一下,当你让 AI 回答问题时,它不再只依赖自己脑子里那些可能过时的 "模糊记忆",而是先翻开一本 "实时更新的参考书"------ 这就是 RAG(检索增强生成)的核心逻辑。它就像给 AI 开了场 "开卷考试",既用得上平时积累,又能随时查阅最新资料。
最让我心动的是它解决了三个致命问题:
1. 知识保鲜难题公司产品迭代快,上个月刚发布的新功能,AI 总像失忆一样说错参数。RAG 让知识库像微信公众号一样能随时更新,上午录入的新信息,下午就能被 AI 调用。
2. 专业领域壁垒之前做医疗咨询系统时,法务总担心 AI 乱给诊断建议。现在好了,所有回答都能追溯到权威医学手册的具体章节,出错了能立刻找到源头。
3. 成本控制魔法老板原本计划斥资百万训练专属大模型,试用 RAG 后发现,用普通开源模型加行业知识库,效果竟然不相上下。算下来,每年能省出一个技术团队的预算。
二、从零开始搭建 RAG:准备工作清单
(一)、Deepseek API配置
1.1 API申请
要使用 Deepseek 提供的大语言模型服务,你首先需要一个 API Key。下面是申请步骤:
-
访问 Deepseek 开放平台 打开浏览器,访问 Deepseek 开放平台。
-
登录或注册账号 如果你已有账号,请直接登录。如果没有,请点击页面上的注册按钮,使用邮箱或手机号完成注册。
-
创建新的 API 密钥 登录成功后,在页面左侧的导航栏中找到并点击
API Keys。在 API 管理页面,点击创建 API key按钮。输入一个跟其他api key不重复的名称后点击创建 -
保存 API Key 系统会为你生成一个新的 API 密钥。请立即复制并将其保存在一个安全的地方。
注意:出于安全原因,这个密钥只会完整显示一次,关闭弹窗后就没法再看到了。
(二)、Cloud Studio 环境配置(国内环境推荐)
1、创建应用 在页面上方的导航栏中找到并点击 创建应用。选择 从 Git 仓库导入 ,在项目地址栏输入 https://github.com/datawhalechina/all-in-rag.git 后回车,将会自动为你创建标题和描述。
2、python环境配置
sudo apt update
sudo apt upgrade -y
su ubuntu
wget https://repo.anaconda.com/miniconda/Miniconda3-latest-Linux-x86_64.sh -O ~/miniconda.sh
bash ~/miniconda.sh
source ~/.bashrc
conda --version
3、 API配置
vim ~/.bashrc
4、创建并激活虚拟环境
conda create --name all-in-rag python=3.12.7
sudo chown -R ubuntu:ubuntu code models
conda activate all-in-rag
cd code
pip install -r requirements.txt
三、四步实现你的第一个 RAG 系统
通过RAG demo 实现我的第一个RAG系统,主要是利用提供的"01_langchain_example.py"代码来执行

最终执行python 01_langchain_example.py,输出结果如下:
content='根据上下文,文中举了以下例子:\n\n1. **自然界中的羚羊**:羚羊出生后通过试错学习站立和奔跑,适应环境。\n2. **股票交易**:通过不断买卖股票并根据市场反馈来学习如何最大化奖励。\n3. **玩雅达利游戏(如Breakout、Pong)**:通过不断试错来学习如何通关。\n4. **选择餐馆**:利用是去已知喜爱的餐馆;探索是尝试新的餐馆。\n5. **做广告**:利用是采取已知最优的广告策略;探索是尝试新的广告策略。\n6. **挖油**:利用是在已知有油的地方开采;探索是在新的地方钻井。\n7. **玩游戏(如《街头霸王》)**:利用是总是采取某种特定策略(如蹲角落出脚);探索是尝试新的招式。' additional_kwargs={'refusal': None} response_metadata={'token_usage': {'completion_tokens': 183, 'prompt_tokens': 5550, 'total_tokens': 5733, 'completion_tokens_details': None, 'prompt_tokens_details': {'audio_tokens': None, 'cached_tokens': 0}, 'prompt_cache_hit_tokens': 0, 'prompt_cache_miss_tokens': 5550}, 'model_name': 'deepseek-chat', 'system_fingerprint': 'fp_eaab8d114b_prod0820_fp8_kvcache', 'id': '5267de24-6f61-4021-8977-1cc7ac7bb027', 'service_tier': None, 'finish_reason': 'stop', 'logprobs': None} id='run--d3c3e645-1fed-4541-b0ae-ece72d711642-0' usage_metadata={'input_tokens': 5550, 'output_tokens': 183, 'total_tokens': 5733, 'input_token_details': {'cache_read': 0}, 'output_token_details': {}}
我的期待:与RAG共成长,探索无限可能
作为一名RAG技术的学习者,我深感其潜力和魅力。我相信,在未来的日子里,RAG技术将在更多领域发挥重要作用,为我们带来更多惊喜和便利。而我,也将继续与RAG共成长,探索其无限可能。
以上就是我的All-in-RAG学习笔记:初识RAG。


