退款、物流、发票,一天问八十遍
客户问法五花八门,“钱什么时候退回来”和文档里的“退款时效”字面完全不重合,靠关键词匹配必然漏。
这三类业务的共同点是:问题高度重复、答案写在文档里、但答错一次就要赔钱。 先让 AI 把这些接住,人只处理真正需要判断的那部分。
客户问法五花八门,“钱什么时候退回来”和文档里的“退款时效”字面完全不重合,靠关键词匹配必然漏。
产品文档几百页,老员工凭记忆答,新人只能翻文档。知识库接上后,谁值班都能给出同一句准确答案。
门店打烊后客户还在微信里问门店地址、营业时间、能不能退换。AI 全天在线,答案和店长说的是同一套。
AI 接住重复问题,人处理需要判断的。客户要人工时,会话会真的进入待接入队列。
所以这套系统把大部分力气花在“不确定的时候闭嘴”,而不是“说得更漂亮”。
向量召回与关键词召回并行,用 RRF 融合两路排名,再过一遍模型重排。退款多久到账 和文档里的“退款时效”字面不重合,也能对上。
检索到资料就只依据资料作答;没检索到就切严格模式,明令禁止编造价格、时效与政策条款。实测 190 次作答零编造。
每个客户独立维护上下文。客户说“那专业版呢”,它知道上一句在聊哪个套餐,而不是从头再问一遍。
客户喊“人工”时,会话会被转入人工待接入池,客服工作台直接可见。不是嘴上回一句“请转人工”,然后把人晾在 AI 这边。
检索 top-1 命中率
平均生成耗时
编造 · 190 次作答
刻意做难的评测语料
38 道客户问题,语料是高度相似的退款、退货、换货、保修政策——正是检索最容易混淆的场景。 数字都来自这套代码的真实运行,不是估算。
RRF 与邻块扩展对 top-1 没有增益,但让答案进入上下文的比例从 89.5% 提到 94.7%——所以留着它。 重排含模型调用,同一套题两次运行 top-1 分别为 89.5% 与 92.1%。查询改写、标题权重超 0.12 这两项实测更差,已弃用。
关键词机器人靠规则表,规则表之外的问法一律接不住。这套系统的分界线不在“懂不懂语言”,而在“有没有资料”。
私有化部署意味着知识库、会话记录、向量索引都在你自己的磁盘上。调用大模型时,系统只把本次检索命中的几段原文送出去——不发送整库,也不发送客户身份信息。
知识库、会话记录、向量索引存在同一个 SQLite 文件里,放在你指定的目录。备份就是复制它,迁移就是搬走它,不需要导出导入。
每次调用模型只带 3–5 段命中的原文,不带整库、不带客户 ID、不带与本次问题无关的历史。发出去的内容,和客户看到的那几句话是同一批。
走 API 调用而非网页端,服务商条款默认不将 API 数据用于训练。若需要书面承诺,切到本地推理即可彻底规避。
对话与向量模型解耦,任意 OpenAI 兼容接口都能接。公有云 API 与内网 vLLM / Ollama 之间,改一行配置切换,不动业务代码。
企业微信回调与模型调用全程 HTTPS。知识库后台需要账号密码,未设置密码时默认整体禁用,不会留一个裸奔的管理入口。
回答正文附带来源标签,指向具体文档与小节。客户当场能核对,客服事后能查证,不需要靠“模型说它是这么说的”。
如果合规要求数据完全不出网:把模型层切到本地推理,检索、存储、生成全部在内网完成。这是配置项,不是定制开发。
模型负责把话说顺,检索负责把话说对。这套系统把两者拆开——模型随时可以换成更强的,检索链路的每一层都有实测数据撑着。
向量与关键词两路并行召回候选,RRF 融合两路排名,避免字面不重合就漏检。
把问题与候选一起交给模型判断相关性,取最相关的几条,并补上相邻段落。
资料作为约束注入提示词,只许依据资料回答,不许自行补充任何数字。
未命中就如实说“帮您确认”;客户要人工,会话转入人工待接入池。
一台云主机、一份 JSON 配置、一个启动命令。不需要向量数据库,也不需要额外运维中间件。
Windows 或 Linux 均可,一条命令启动,配置只有一份 JSON。
CorpID、Secret、Token、EncodingAESKey、客服账号 ID,五项填完即可收消息。
支持 PDF、Word、Excel、Markdown、TXT,自动切块、向量化并建立索引。
一条命令检查配置、模型、向量、检索与公网可达,逐项列出还差什么。