Evose
搭建概念

RAG 基础

什么是 RAG · 为什么需要它 · 如何调优 · 何时不要用 RAG

RAG(Retrieval Augmented Generation,检索增强生成)是 Evose 知识库的工作原理。理解它能让你少走 80% 的弯路。

是什么

LLM 本身只懂训练数据里的世界。要让它回答你公司的问题,有两条路:

路径说明成本
微调(Fine-tuning)用公司数据继续训练 LLM高(数据准备 + GPU + 维护)
RAG推理时检索公司知识库,把相关片段塞进提示词低(只需把文档喂给向量库)

绝大多数企业场景用 RAG 就够了

RAG 的三步流水线

1. 写入(一次性)
   文档 → 解析 → 分块 → 向量化 → 存入向量库

2. 检索(每次提问)
   问题 → 向量化 → 相似度搜索 → 取 TopK 块

3. 生成(每次提问)
   提示词模板 + TopK 块 + 用户问题 → LLM → 答案

关键概念

概念一句话
分块(Chunking)把文档切成 ~500–2000 token 的小段,每段被独立向量化
向量化(Embedding)用 Embedding 模型把文本转成向量
相似度检索用余弦/内积找语义最近的 TopK 块
重排(Reranking)用更精的 Reranker 对 TopK 进一步排序
TopK检索返回的块数(默认 5,常用 5–10)
Prompt 模板把检索结果插入提示词的格式

Evose 知识库的三种分块策略

策略行为适合
固定长度每 N 个 token 一切,自带重叠通用兜底,简单文档
语义分割按段落 / 章节 / 句子等自然边界切结构化文档(PDF / Markdown)
智能分割用 LLM 识别语义边界,保留完整性高质量场景,成本略高

知识库 · 分块详解

调优地图

回答不准?按这张地图排查:

现象可能原因解法
答非所问检索没找对增大 TopK · 换更好的 Embedding 模型 · 加 Reranker
知识库里有但答不出块切得太碎,关键信息散在多块增大块大小 · 启用语义分块
编造(幻觉)LLM 自由发挥强化提示词:“未在知识库出现的内容,明确说不知道”
模型 + 检索都慢选更快的 Embedding · 减小 TopK · 缓存常见问题
跨段问答(对比/汇总)失败RAG 是“取若干块”,不擅长跨文档综合改用 Workflow 多步检索+综合

何时该用 RAG

RAG 不是银弹。以下情况要换工具:

你的场景更好的做法
需要实时数据(库存、价格、订单状态)工具 调实时 API,而非把数据冻结进知识库
需要精确数学/计算用 LLM + Code 工具,而非靠检索文档
需要全文比较(找两篇合同的所有差异)RAG 只取若干块,无法保证全覆盖。改用 Workflow 全文遍历 + 对比
文档极少(< 5 篇)直接把全文塞进提示词,跳过 RAG 复杂度
结构化数据查询(数据库表)数据源 + Workflow + SQL 工具,不要 RAG

三个常见误区

误区 1:把所有文档一股脑塞进知识库

检索质量 = max(分块质量, Embedding 质量)。烂数据进去 = 烂答案出来。先清洗、去重、规范化。

误区 2:盲目把 TopK 调到 50

检索越多,LLM 上下文越长,幻觉反而更严重(模型在噪声里挑信息)。建议从 5 起步,逐步调到 8–10 上限。

误区 3:不做评估直接上线

搭一个 Workflow 跑 50 个真实问题,人工标注 RAG 答案是否准确。这是最便宜的质量保险。

接下来

页面导航