立项背景和目标:
针对传统中小企业在客服过程中长期面临的三类痛点:人工响应慢、重复问题占比高、私域
知识难以沉淀,本项目立项设计一套面向B端的私有知识库智能问答系统。系统采用检索增强
生成(RAG)架构,将企业自有文档(产品手册、SOP、售后话术、历史工单等)接入大模型,
使其回答既具备大模型的自然语言理解能力,又能精准引用企业内部知识,避免幻觉风险。
核心目标:将平均首响时长从人工客服的3-5分钟压缩至8秒以内,冷启动周期由传统客服培训
的2周缩短至资料导入即可上线。
核心功能模块:
1. 知识库管理:支持PDF/Word/Markdown/TXT/URL多格式批量导入,自动分块(Chunk)、向量化、
入库;支持人工审核与版本管理,单库容量支持百万级文档片段。
2. 智能问答引擎:基于混合检索(向量召回 + BM25关键词召回 + 重排序模型),命中率较纯向
量检索提升约28%;引用源可追溯,回答带文档片段定位。
3. 多渠道接入:开放Web SDK、微信客服API、钉钉机器人三种接入方式,支持会话上下文与多
轮追问,对话历史保留90天。
4. 运营分析后台:管理员可查看问题分布、命中率、转人工率、热点FAQ等指标,支持人工标注
与模型微调形成数据闭环。
业务流程与功能路径:
客户使用路径:企业管理员上传文档 → 系统自动完成分块与向量化 → 管理员审核 → 进入
知识库 → 终端用户提问 → 系统混合检索Top-K → LLM生成带引用答案 → 命中率低于阈值
自动转人工 → 人工回复回流形成新知识沉淀。
一线客服使用路径:客服登录工作台 → 接收AI预答建议 → 一键确认/编辑回复 → 沉淀至
知识库形成飞轮。
整体架构与设计思路:
系统采用前后端分离 + 三层服务架构:
1. 接入层:基于 FastAPI 异步网关,统一处理多渠道请求,单实例 QPS 约 800,平均首字
Token 响应 < 1.5s。
2. 服务层:
知识库服务:基于 LangChain Document Loader 实现 8 种格式文档解析,分块策略支持
固定大小 + 语义边界两种模式,向量化采用 bge-large-zh(私有部署)。
检索服务:PostgreSQL + pgvector 双引擎——向量召回(HNSW 索引)+ BM25关键词召回
(tsvector),结果经 bge-reranker 重排后送入大模型。
生成服务:支持 OpenAI / 通义千问 / 自部署ChatGLM 三种后端,按成本与场景热切换。
3. 数据层:业务库(PostgreSQL)+ 向量库(pgvector 与业务库合一)+ 缓存(Redis,对话
历史)+ 对象存储(MinIO,原始文档)。
4. 前端:Vue3 + TypeScript + Pinia + Element Plus,含拖拽上传、实时对话、运营看板
三大模块。
遇到的难点与解决方案:
难点1:用户提问口语化,与知识库关键词不匹配。
解决:引入 Query Rewrite 模块,先让小模型将口语问题改写为 2-3 个等价检索query并联检索后再融合排序。
难点2:大模型偶发"引错文档"或"发散瞎编"。
解决:在Prompt中强制要求"必须引用来源ID+片段原文前40字",生成后再做引用一致性校验,失败则降级为"未找到"而非自由发挥。
难点3:单条 Query 响应时延偏高(首 Token > 3s)。
解决:检索结果缓存+ 流式输出 + 模型并发取消,将首字延迟压到 1.5s 内。