🧠 Agent + RAG知识库

让龙虾拥有"知识",告别幻觉,回答更精准

先搞清楚:没有RAG的Agent会怎样?

Agent只靠大模型回答 → 大模型不知道你的业务知识 → 开始编。这就是幻觉。

你问:"我们公司的退货政策是什么?" → Agent不知道 → 编一个"7天无理由退货"。但如果你们公司是15天呢?

RAG解决的就是这个问题。把知识库给Agent,让它先查资料再回答。

用户:"退货政策是什么?"

┌─────────────────┐
│ 1. 检索(Retrieve)│→ 在知识库中搜"退货政策"
│ 找到相关文档 │ 找到《退换货政策.pdf》
└────────┬────────┘

┌─────────────────┐
│ 2. 增强(Augment) │→ 把文档内容 + 用户问题
│ 拼成Prompt │ 一起喂给大模型
└────────┬────────┘

┌─────────────────┐
│ 3. 生成(Generate)│→ 大模型基于真实文档回答
│ 精准答案 │ "根据公司政策,退货期为15天"
└─────────────────┘

RAG核心三件套

1. 📄 文档切分(Chunking)

知识库文档不能整本塞给AI(太长),要切成小块。每块通常300-500字。

原文档:"公司退货政策...(5000字)"
切分后:
块1:"退货条件:未拆封、7天内..."(350字)
块2:"退款流程:提交申请→审核→原路退回..."(400字)
块3:"特殊商品:食品、内衣不可退换..."(300字)

2. 🔢 向量化(Embedding)

把每个文本块转成一串数字(向量),语义相近的文本向量也相近。

常用Embedding模型:OpenAI text-embedding-3-small / 通义千问embedding / BGE(开源)

3. 🔍 检索(Retrieval)

用户问题也转成向量 → 在知识库中找距离最近的文本块 → 拼成Prompt给大模型。

Coze/Dify上怎么配RAG?

Coze 方式(零代码)

  1. 创建Bot → Knowledge 标签 → Create Knowledge
  2. 上传文档(PDF/Word/TXT/Markdown/网页链接)
  3. Coze自动切分+向量化
  4. 在Bot设置中启用知识库
  5. 测试:问一个只有你文档里有的问题

Dify 方式(更灵活)

  1. 知识库 → 创建知识库 → 上传文档
  2. 选择分段方式(自动/自定义)和Embedding模型
  3. 创建应用 → 关联知识库
  4. 在Prompt中用 {{knowledge}} 变量引用检索结果

RAG进阶技巧

技巧作用
混合检索向量检索 + 关键词检索结合,召回率更高
重排序(Re-rank)检索后对结果二次排序,更精准
元数据过滤按时间/类型/来源过滤(如"只要2026年的政策")
父子文档检索小块,但返回大块上下文,信息更完整
多轮改写把"那个怎么退"→"商品退货流程",提高检索精度

常见RAG翻车现场

RAG的质量取决于两个东西:文档质量检索精度。花80%精力在这上面,比调模型参数有用100倍。

📖 继续:Agent + API:龙虾的感官 → | 全部教程 →

🛒 AI好物
📚
深度学习花书
京东套装2册
⌨️
MX Mechanical
京东罗技线性红轴
🖥️
27寸4K显示器
京东联合创新
🎮
RTX 4060
京东技嘉魔鹰
🍑 淘宝精选
📖
机器学习实战
蜥蜴书 ¥108
⌨️
Kzzi K75键盘
三模热插拔 ¥198
💡
ScreenBar贴膜
明基 ¥15.8
🔌
Type-C扩展坞
绿联5合1 ¥49.9