RAG入门与在Dify中的简单实践

文章目录

    • [一、场景引入:普通大模型 Bot 为什么不够用?](#一、场景引入:普通大模型 Bot 为什么不够用?)
      • [1.1 一个令人尴尬的对话](#1.1 一个令人尴尬的对话)
      • [1.2 核心问题诊断](#1.2 核心问题诊断)
      • [1.3 破局之道:RAG(检索增强生成)](#1.3 破局之道:RAG(检索增强生成))
    • [二、什么是 RAG?](#二、什么是 RAG?)
      • [2.1 定义](#2.1 定义)
      • [2.2 基本原理(三步走)](#2.2 基本原理(三步走))
      • [2.3 一句话总结 RAG 的价值](#2.3 一句话总结 RAG 的价值)
    • [三、RAG 知识库构建(核心工程环节)](#三、RAG 知识库构建(核心工程环节))
      • [3.1 文档准备:原料筛选](#3.1 文档准备:原料筛选)
      • [3.2 文档切片(Chunking):把手册撕成条目](#3.2 文档切片(Chunking):把手册撕成条目)
      • [3.3 文档向量化(Embedding):翻译成数学语言](#3.3 文档向量化(Embedding):翻译成数学语言)
    • [四、案例实践:用 Dify 搭建《新员工入职问答助手》(基于长江科技真实手册)](#四、案例实践:用 Dify 搭建《新员工入职问答助手》(基于长江科技真实手册))
      • [4.1 准备工作](#4.1 准备工作)
      • [4.2 环节一:创建企业制度知识库](#4.2 环节一:创建企业制度知识库)
      • [4.3 环节二:Agent 关联知识库与调试](#4.3 环节二:Agent 关联知识库与调试)

本文将带你完成 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备案。 问题:公司今年的育儿假政策具体是多少天?需要什么申请材料?

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

2.3 一句话总结 RAG 的价值

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


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

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

text 复制代码
文档准备 → 文档切片(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(指令)

markdown 复制代码
# 角色
你是长江科技有限公司的 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月转正,现在有多少天年假?怎么申请?"

相关推荐
究极无敌暴龙战神X20 小时前
RAG基本流程
自然语言处理·llama·rag
●VON20 小时前
【AI工具】本地部署 Dify + Ollama 实现无限 Token 智能体搭建
人工智能·学习·dify·智能体·本地·von
coderlin_1 天前
Langgraph项目 一(mysql,es,qdrant,embedding模块)
mysql·elasticsearch·embedding
竹之却1 天前
【Agent-阿程】AI先锋杯·14天征文挑战第14期-第6天-大模型RAG检索增强生成实战
人工智能·大模型·检索增强·faiss·rag
内卷焦虑人士1 天前
LightRAG 接入 Dify
工作流·dify·lightrag
guslegend2 天前
第10节:设计高效混合检索架构,提升召回精度
人工智能·架构·大模型·rag
Flying pigs~~2 天前
检索增强生成RAG项目tools_01:Docker 极简实战
运维·人工智能·docker·容器·大模型·agent·rag
deephub2 天前
无 Embedding、无向量数据库的 RAG 方法:PageIndex 技术解析
人工智能·大语言模型·embedding·rag
张小泡泡2 天前
Graph Retrieval-Augmented Generation: A Survey
论文阅读·人工智能·rag·graphrag