企业培训场景下,学员需在大量 PDF 课件、PPT、Word 制度文档中查找知识点,传统关键词搜索效果差。本文介绍企学宝如何基于 RAG(检索增强生成)架构,在阿里云上构建企业培训 AI 学习助手,覆盖课件解析、语义切片、向量检索、多轮对话管理及幻觉抑制等核心环节,并分享生产环境踩坑经验。
一、为什么企业培训适合 RAG
- 知识边界封闭:培训课件、制度文档属企业私域知识,适合向量库检索
- 强合规要求:答案必须可溯源至原文,不能凭模型"编造"
- 文档格式复杂:PDF/PPT/Word/Excel/扫描件/ASR字幕并存
- 高频重复提问:适合用检索+生成降低人工答疑成本
二、整体架构(阿里云技术栈)
课件上传 → OSS对象存储
↓
文档解析服务(Tika + 自研PPT/PDF解析 + 阿里云OCR)
↓
语义切片 → text-embedding-v3(DashScope)→ 写入阿里云Milvus
↓
用户提问 → Query改写 → Hybrid检索(Milvus向量+BM25)
↓
Re-rank精排 → 拼装Prompt → 通义千问(qwen-plus/turbo)推理
↓
返回答案 + 原文溯源引用 + Redis缓存会话状态
| 模块 | 阿里云选型 |
|---|---|
| 文件存储 | 阿里云 OSS(标准/归档生命周期) |
| 向量数据库 | 阿里云 Milvus / 自建 Milvus on ECS |
| Embedding | DashScope text-embedding-v3 |
| LLM | 阿里云百炼 — 通义千问 qwen-plus / qwen-turbo |
| OCR | 阿里云 视觉智能开放平台 OCR |
| 缓存/会话 | 阿里云 KVStore(Redis) |
| 日志/监控 | 日志服务 SLS + ARMS |
三、课件解析——最容易被低估的环节
多格式分层解析策略
- 文本型 PDF/Word/PPT → Apache Tika 提取文本+标题层级
- 扫描件/图片 → 阿里云 OCR 识别
- PPT → 逐页解析保留标题/项目符号/备注,图片 ALT 作为补充
- Excel → 按"知识点行"结构化转文本
- 音视频 → ASR 转写,按时间戳分段
保留来源元信息很关键:
{
"course_id": "SC-2026-001",
"source": "安全生产培训.pptx",
"page": 12,
"chapter": "高处作业安全规范",
"content": "登高作业必须使用双钩安全带……",
"doc_type": "slide"
}
四、切片策略——效果的决定性因素
我们采用标题驱动 + 语义边界约束 + 重叠窗口:
- 以 H1/H2 标题为锚点分组
- 单块 300–500 token,相邻块 10%–15% 重叠
- 表格/代码/公式独立成块,不断开
- 过长的段落再按标点做二次切分
def split_by_heading(blocks, max_tokens=500, overlap=50):
chunks, cur = [], []
for b in blocks:
if b.is_heading and cur:
chunks.append(merge(cur))
cur = overlap_tail(cur)
cur.append(b)
if token_len(cur) >= max_tokens:
chunks.append(merge(cur))
cur = overlap_tail(cur)
if cur: chunks.append(merge(cur))
return chunks
五、向量检索与混合搜索
纯向量检索对专有名词(如"动火作业票""GB/T 29639")召回不稳定,因此使用:
- Milvus 向量 ANN 检索(余弦相似度)
- BM25 关键词倒排(ES 或 Milvus 标量过滤)
- RRF(Reciprocal Rank Fusion)融合排序
- 初召回 Top-20 → Cross-Encoder Re-rank → Top-3~5 送入 LLM
六、多轮问答与会话管理
处理追问如:"高处作业要哪些防护?"→"雨天呢?"→"有事故案例吗?"
- 最近 3–5 轮完整保留
- 早期历史由 LLM 压缩为意图摘要
- 每轮携带
course_id,限制检索命名空间 - Query Rewrite:结合历史把代词/省略补全为独立问句
Prompt 设计要点:
你是企业培训助手,仅基于【参考资料】作答。
- 答案须出自资料,不确定时答"资料中未提及"
- 末尾注明来源(文件名+页码/章节)
- 禁止编造数据或条款
七、幻觉抑制与合规控制
企业培训中幻觉比拒答更危险,我们采用多层防御:
- Prompt 强约束 + 强制引用溯源
- 实体校验:日期/条款号正则核对
- 敏感词过滤:对接企业合规词库
- 低置信拒答:检索 score 低于阈值直接返回"未找到相关内容"
实测将幻觉率从初期 15%+ 压至 3% 以内。
八、性能与成本优化
- OSS 生命周期:冷课件自动转归档存储
- Embedding 去重缓存:相同课件切片不重复计算
- 高频 Q&A 结果缓存(Redis)
- 百炼 API 选择:简单释义用 qwen-turbo,复杂推理用 qwen-plus
- 弹性伸缩:大促/校招季扩容 ECS + Milvus 只读节点
九、落地效果
在企学宝多个中大型客户(制造/零售/央企)培训项目中:
- 学员查知识点时间:分钟级 → 秒级
- 培训完课率提升约 15%–25%(因为有 7×24 答疑)
- 所有回答可溯源原文,满足合规审计要求
典型场景:新员工入职制度问答、安全生产规范速查、产品知识库陪练、考前自助复习。
十、经验清单
- ✅ 文档解析必须保留来源/层级/页码
- ✅ 切片别只按字数,要结合标题结构
- ✅ Hybrid Search + Re-rank 是准确率提升关键
- ✅ 多轮对话一定做 Query Rewrite + 命名空间隔离
- ✅ 幻觉控制靠 Prompt + 溯源 + 低置信截断三层
- ✅ OSS + Milvus + 百炼是较成熟的企业级组合
作者:企学宝技术团队