本文将带你完成 RAG 技术从理论到实战的全流程。我们以 长江科技有限公司内部知识库:新员工入职指南问答助手 为例,基于 Dify 平台进行实操演示,每一步都会给出具体的操作指引与最佳实践建议。

一、场景引入:普通大模型 Bot 为什么不够用?

1.1 一个令人尴尬的对话

用户提问:

公司今年的育儿假政策具体是多少天?需要什么申请材料?

普通大模型回答:

育儿假政策因地区和公司而异,建议您查阅公司内部 HR 系统或员工手册获取最新信息。

1.2 核心问题诊断

问题 表现 后果
知识过时 模型训练数据中不含《长江科技有限公司员工手册(2026年3月版)》 无法回答具体执行细节
产生幻觉 若强制要求回答,模型可能编造10天或15天等错误天数 误导员工、引发劳动纠纷
体验割裂 员工需要的是“秒回 HR 小助手”,而非“搜索引擎” 机器人实用价值低,员工宁愿私聊 HR

1.3 破局之道:RAG(检索增强生成)

RAG 的核心逻辑:

不要指望模型背下所有内部政策,而是在提问时临时把最新版员工手册“塞”给它。


二、什么是 RAG?

2.1 定义

RAG = Retrieval-Augmented Generation(检索增强生成)
一种将 信息检索系统大语言模型 相结合的 AI 应用架构。

2.2 基本原理(三步走)

用户问题

向量化检索

向量数据库

相关文档片段

拼接增强 Prompt

LLM 生成答案

  1. 检索(Retrieve)

    • 用户输入:“育儿假申请流程和天数”
    • 系统将问题转为向量,在预先建好的公司制度知识库中搜索语义最相似的文档片段。
  2. 增强(Augment)

    • 将检索到的 Top-K 个文档片段与用户原始问题组合成一个新 Prompt:

      请根据以下资料回答:
      [资料 1] 长江科技有限公司员工手册(2026年3月版)第十一条:育儿假适用条件为子女年龄在3周岁以下,夫妻双方每人每年享受10个工作日育儿假。申请材料需上传《子女出生医学证明》照片及配偶未在同一时段请育儿假的承诺书。有效期当年有效,不可结转。
      [资料 2] 请假申请流程(第十三条):所有请假须提前在OA系统提交申请,请假>2天需直属上级→部门总监→HRBP备案。
      问题:公司今年的育儿假政策具体是多少天?需要什么申请材料?

  3. 生成(Generate)

    • 大模型基于提供的“参考资料”生成有据可依的答案,有效抑制幻觉。

2.3 一句话总结 RAG 的价值

传统 LLM:闭卷考试,凭记忆回答(企业内部知识为零)。
RAG 应用:开卷考试,带着最新员工手册进考场(答案精准、政策更新即同步)。


三、RAG 知识库构建(核心工程环节)

构建高质量知识库是 RAG 效果好坏的决定性因素。流程如下:

文档准备 → 文档切片(Chunking)→ 文档向量化(Embedding)→ 存储入库

3.1 文档准备:原料筛选

本次实践仅使用一份核心文档:

文档类型 适用场景 长江科技知识库案例
PDF 员工手册、规章制度 《长江科技有限公司员工手册(2026年3月版).pdf》

预处理黄金法则:

  • 去噪:删除页眉页脚、页码(原PDF第1页有“===== Page 1 =====”等标记需清理)。
  • 结构化:确保标题层级清晰(第一章总则 → 第三章考勤与休假 → 第十一条育儿假),便于后续切片。
  • 命名规范:文件名包含生效日期,如 Changjiang_Tech_Employee_Handbook_2026_03.pdf

3.2 文档切片(Chunking):把手册撕成条目

为什么要切片?

  • LLM 上下文窗口有限,检索精度要求片段越小越准。
  • 整本员工手册扔进去,模型会被总则、附则等无关信息淹没。

三种切分策略对比

切分方式 举例 优点 缺点
按字符数 每300字切一刀 简单、高效 易把一个条款的上下句切断(如育儿假申请材料清单被拆开)
按分隔符 遇到 \n 切分 保留条款完整性 可能造成片段长短不均
按语义 模型判断话题转折点切分 最智能、精度最高 计算成本稍高

实战最佳实践(基于长江科技员工手册):

字符 + 分隔符结合,单段控制在 300-500 Tokens(约200-400中文字符),并设置 10%-20% 的重叠区(Overlap)
例如“第十条 带薪病假”中“每月可享受1天全薪病假”与“超过1天部分按当地最低工资标准的80%计发”应尽量在同一段,避免切断。

3.3 文档向量化(Embedding):翻译成数学语言

定义
将一段文本映射为一串固定长度的数字(向量),例如 [0.12, -0.84, 0.33, ...]

类比理解

  • 文本:“育儿假申请流程” → 向量坐标 A
  • 文本:“婚假需要哪些材料” → 向量坐标 B
  • 相似度计算:A 和 B 在向量空间中的距离很近,说明语义高度相关(都属于假期福利)。

Embedding 模型选择(本次实践使用)

  • text-embedding-v4:属于 Qwen3-Embedding 系列,是阿里巴巴通义实验室推出的最新一代文本嵌入模型。在中文语义理解、长文本检索和跨任务泛化能力上表现优异,是当前企业级 RAG 应用的首选方案之一。

    API官方文档:https://help.aliyun.com/zh/model-studio/text-embedding-synchronous-api

    在这里插入图片描述

    连接云端大模型:

    在这里插入图片描述

在这里插入图片描述


四、案例实践:用 Dify 搭建《新员工入职问答助手》(基于长江科技真实手册)

4.1 准备工作

  • 平台:Dify 云端版或私有化部署版。
  • 数据:从 HR 部门获取的唯一文件——《长江科技有限公司员工手册(2026年3月版).pdf》。

4.2 环节一:创建企业制度知识库

Step 1:进入知识库模块

在这里插入图片描述

点击侧边栏「知识库」→「创建知识库」。

Step 2:上传文档

在这里插入图片描述

将员工手册 PDF 拖拽上传。

Step 3:设置分段(关键参数)

参数项 推荐设置 说明
分段标识符 \n\n 按空格分段
分段最大长度 500 tokens 容纳一个完整政策条款的长度(如第十条带薪病假全文)
分段重叠长度 50 tokens 保证“申请材料”这类跨段内容不被截断(如育儿假材料清单跨两行)

在这里插入图片描述

Step 4:索引与检索设置

  • 索引方式:选择「高质量」,模型选 text-embedding-v4(Qwen3-Embedding系列)。
  • 检索设置:勾选 混合检索(Hybrid Search)
    • 混合检索 = 关键词检索(BM25)+ 向量检索,能精准匹配“育儿假”“婚假”“补卡申请”等专有名词。

点击「保存并处理」,等待状态变为「已完成」。可以点击「召回测试」输入“育儿假天数”预览查到的分段内容——应能准确返回手册第十一条全文。

在这里插入图片描述

在这里插入图片描述

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

4.3 环节二:Agent 关联知识库与调试

Step 1:创建应用
点击「工作室」→「创建空白应用」→ 选择 Agent(智能助手) 类型。

Step 2:编排 Prompt(指令)

# 角色
你是长江科技有限公司的 HR 政策问答助手,昵称“长小江”。

# 功能
1. 回答员工关于考勤、休假、薪酬、福利、奖惩、离职等制度的疑问。
2. 必须严格依据【长江科技员工手册(2026年3月版)】知识库内容回答,不可引用外部法律条文或编造信息。
3. 对于手册中未明确提及的细节(如“晚婚条件具体以哪条地方规定为准”),请告知员工咨询人力资源部。

# 回复格式要求
- 分点列出核心政策与操作步骤。
- 如果知识库无相关信息,回复:“抱歉,该问题涉及的政策暂未收录于2026年3月版员工手册,建议联系人力资源部确认。”

# 常见政策速查(仅作示例,实际以知识库为准)
- 育儿假:子女3周岁以下,夫妻各10个工作日/年,需上传出生医学证明+配偶未同时请假承诺书。
- 带薪年假:按累计社会工龄(1年≤N<10年=5天,10年≤N<20年=10天,N≥20年=15天),转正后满6个月可享,新员工按剩余日历天数折算。
- 带薪病假:每月1天全薪(需三甲医院证明),超出部分按当地最低工资80%计发。
- 工作时间:09:00-12:00,13:30-18:30,午餐12:00-13:30。钉钉/企业微信打卡,每月补卡≤3次。

在这里插入图片描述

Step 3:添加上下文
在编排界面下方找到「上下文」,点击「添加」→ 勾选刚才创建的「长江科技员工手册知识库」。

在这里插入图片描述

Step 4:调试验证
右侧预览框输入:

“我累计社会工龄3年,去年9月转正,现在有多少天年假?怎么申请?”

在这里插入图片描述

Logo

AtomGit 是由开放原子开源基金会联合 CSDN 等生态伙伴共同推出的新一代开源与人工智能协作平台。平台坚持“开放、中立、公益”的理念,把代码托管、模型共享、数据集托管、智能体开发体验和算力服务整合在一起,为开发者提供从开发、训练到部署的一站式体验。

更多推荐