产品手册RAG:从文档检索到精准问答

简介: --- title: "产品手册智能对话:银行也可以有自己的 AI 知识库机器人" date: 2026-06-07 author: AlphaAgent series: series5 tags: [RAG, 问答, 知识库, 产品手册, BM25, TF-IDF] --- 产品手册智能对话:银行也可以有自己的 AI 知识库机器人 客户问"金葵花理财起购金额是多少?",客户经理不用

title: "产品手册智能对话:银行也可以有自己的 AI 知识库机器人"
date: 2026-06-07
author: AlphaAgent
series: series5

tags: [RAG, 问答, 知识库, 产品手册, BM25, TF-IDF]

产品手册智能对话:银行也可以有自己的 AI 知识库机器人

客户问"金葵花理财起购金额是多少?",客户经理不用翻手册,AI 秒回答案并标注出处。这就是产品手册智能对话的力量。

场景痛点

银行的客户经理每天要面对几十个产品、数百条规则。金葵花理财的申购起点是多少?平安白金卡年费多少?建行惠懂你 310 模式是什么?——这些问题,客户随时可能问。

传统解决方案是:

  1. 翻手册(慢,容易错,找不到)
  2. 问同事(打断别人工作,信息可能不准)
  3. 打客服(客户觉得你不够专业)

三个选择都不好。

已有方案 vs 我们的方案

我们先看看同业的做法:

银行 方案 优点 缺点
招行 "智谱" 投顾对话机器人 对话自然 需要大量标注数据,成本高
平安 "知鸟" 企业级知识库 功能全面 需要平台 API 授权
工行 "工小智" 客服机器人 已承接大量流量 主要处理账户类问题,产品类不够细
我们的方案 BM25+TF-IDF RAG 零 API 费用,Hit@1=100%,2.5ms 响应 不支持语义推理(v1.1 解决)

技术选型:为什么是 BM25 + TF-IDF 双路检索?

很多人一谈 RAG 就想到 embedding + 向量数据库。但实际业务中,产品手册的 FAQ 类问题有一个很关键的特性:问题中的关键词与答案所在的章节标题高度相关

例如用户问"起购金额是多少",手册中"申购起点与持有门槛"章节下就有"单只理财产品起购金额:人民币产品 1 万元起"的原文。这不是一个"语义相似"问题,而是一个"关键词匹配+段落定位"问题。

所以我们选择了:

  • BM25Okapi:经典的词袋检索模型,对生僻词idf高区分度
  • TF-IDF 余弦相似度:弥补 BM25 在短文本下的稳定性
  • RRF (Reciprocal Rank Fusion):两路结果融合
  • 章节标题加权:查询词与章节标题的重叠 token 给予额外分数
  • 产品自动识别:从"建行惠懂你最高额度"自动推断产品名

结果如何?

性能数据

在 3 个产品手册、25 个 chunk、15 个测试用例上:

指标 数值
Hit@1 100%
Hit@3 100%
MRR 1.000
平均检索耗时 2.5 ms
内存占用 < 5 MB
外部依赖 零(纯标准库)

关键设计:章节标题加权的魔力

纯靠 BM25+TF-IDF 的效果本来只有 Hit@1=26.7%,我们做了两项关键优化后升至 100%:

1. 产品自动识别(_infer_product

查询"建行惠懂你 310 是什么" → 自动推断产品名"建行惠懂你小微贷" → product_filter 限制在该手册内检索 → 排除其他手册的干扰。

关键实现:从产品名中通过 sliding window 抽取所有 2-4 字的候选词,以"最长命中字数"打分。_infer_product('建行惠懂你最高额度是多少') 正确返回 '建行惠懂你小微贷'。

2. 章节标题 token 加权

在 BM25/TF-IDF 索引构建时,将章节标题的 token 复制 3 倍后加入文档向量。这使得"起购金额"在"二、申购起点与持有门槛"章节中的权属显著高于其他含数字的章节。

同时,在 RRF 融合后的 rerank 阶段,计算查询词与章节标题的重叠 token,给予 0.005 × len(overlap) 的额外分数。这个 bonus 虽然微小,但在短文本场景下足以让正确的章节排到第一。

文档切分的教训

初期实现中,'1. xxx' 格式的列表项被 HEADING 正则误识别为标题(因为含有 \d+\.\s+.+ 模式),导致"申购起点与持有门槛"(含 '1. 金葵花客户准入门槛')和"申购与赎回规则"(含 '1. 申购时间:...')等章节被覆盖丢失。

修复:正则只匹配中文数字章节号([一二三四五六七八九十]+、)和 markdown 标题(## xxx),排除 \d+.\s+.+ 模式。修正后 chunk 数从 17 增加到 25,缺失的章节内容全部召回。

企微端体验

在企微端,我们设计了四个入口:

  1. 🔍 直接提问:输入自然语言问题
  2. 🎤 语音提问:长按说出问题,自动转写为文字
  3. 📚 浏览产品:列出已加载的产品手册
  4. 📊 我的提问历史:记录历史问答

答案卡片包含:出处(产品名 → 章节)、置信度评分、👍/👎 反馈按钮。

下一步

  • v1.1:接入 embedding 向量化(可选),支持 PDF/Word/Excel 直接导入
  • v1.2:LLM Re-Rank 精排 + 答案合成改写
  • 知识图谱融合:产品-条款-费率三元组

代码获取

git clone https://github.com/yuzhaopeng-up/financial-ai-skills.git
cd financial-ai-skills/skills/product-manual-rag
python3 scripts/rag_cli.py ask "金葵花理财起购金额是多少"

三行命令,零外部依赖,秒级体验 AI 知识库问答。


作者:AlphaAgent · Financial AI Community

相关文章
|
2天前
|
人工智能 安全 测试技术
|
4天前
|
云安全 人工智能 安全
阿里云 Agentic SOC 位居 IDC MarketScape安全运营智能体2026领导者类别
以 Agentic AI 重构安全运营闭环,阿里云云安全在产品能力与市场份额
1176 3
|
5天前
|
缓存 UED 开发者
Codex109天重置23次,明天还要再送一次
Codex近109天完成23次额度重置,7月14日将迎来第24次。Tibo高频响应用户反馈:优化GPT-5.6高消耗问题、补发失效福利、调整重置时间——形成“反馈→回应→修复→补偿”正向闭环,彰显以用户为中心的产品哲学。(239字)
625 11
|
4天前
|
数据采集 机器学习/深度学习 人工智能
田间杂草定位与检测4200张YOLO智慧农业数据集分享
本数据集含4200张真实农田图像,YOLO格式,单类别(杂草)高质量标注,覆盖多作物、多光照、多生长阶段等复杂场景,专为智慧农业杂草检测与智能除草设备研发设计,支持YOLOv5/v8/v10等主流模型训练。
360 94
|
8天前
|
存储 人工智能 JSON
Qwen 本地部署搭配 ComfyUI 生成 AI 漫剧完整实操指南(小白零基础可落地,零成本无限生成+角色一致性天花板)
2026全网最优本地漫剧流水线:零成本、离线运行、角色统一、低配(8G显卡)可跑。融合Qwen本地大模型+ComfyUI双引擎,实现剧本生成→分镜绘图→动态成片全自动,隐私安全、无审核限流,新手30分钟上手,日更无忧。(239字)
|
2天前
|
Web App开发 数据采集 人工智能
|
9天前
|
人工智能 缓存 JSON
刚刚 GPT-5.6 发布,吊打 Claude 5 和 Grok 4.5?一手实测来啦!
GPT-5.6 刚发布,跑分号称超越 Fable 5,真的假的?附一手实测,让 3 个最强 AI 编程模型 GPT-5.6 Sol、Claude Fable 5、Grok 4.5 在 Cursor 里同时一把梭开发网页游戏,看看最新模型到底谁更能打。
374 0