惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

美团技术团队
W
WeLiveSecurity
Stack Overflow Blog
Stack Overflow Blog
L
LangChain Blog
S
SegmentFault 最新的问题
Apple Machine Learning Research
Apple Machine Learning Research
Google DeepMind News
Google DeepMind News
F
Full Disclosure
奇客Solidot–传递最新科技情报
奇客Solidot–传递最新科技情报
The Register - Security
The Register - Security
G
Google Developers Blog
C
Check Point Blog
GbyAI
GbyAI
A
About on SuperTechFans
V
Vulnerabilities – Threatpost
T
The Blog of Author Tim Ferriss
T
Tor Project blog
AWS News Blog
AWS News Blog
Cyberwarzone
Cyberwarzone
C
CERT Recently Published Vulnerability Notes
MongoDB | Blog
MongoDB | Blog
Latest news
Latest news
aimingoo的专栏
aimingoo的专栏
U
Unit 42
Y
Y Combinator Blog
P
Privacy International News Feed
Cisco Talos Blog
Cisco Talos Blog
S
Securelist
S
Schneier on Security
雷峰网
雷峰网
cs.CV updates on arXiv.org
cs.CV updates on arXiv.org
Attack and Defense Labs
Attack and Defense Labs
P
Proofpoint News Feed
C
Cisco Blogs
Webroot Blog
Webroot Blog
T
Troy Hunt's Blog
Google Online Security Blog
Google Online Security Blog
月光博客
月光博客
P
Privacy & Cybersecurity Law Blog
Security Archives - TechRepublic
Security Archives - TechRepublic
罗磊的独立博客
Cloudbric
Cloudbric
钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知
Recent Commits to openclaw:main
Recent Commits to openclaw:main
Application and Cybersecurity Blog
Application and Cybersecurity Blog
Hacker News: Ask HN
Hacker News: Ask HN
H
Hackread – Cybersecurity News, Data Breaches, AI and More
博客园 - 司徒正美
freeCodeCamp Programming Tutorials: Python, JavaScript, Git & More
Microsoft Security Blog
Microsoft Security Blog

博客园 - 若-飞

企业AI Agent落地的核心逻辑与路径 基于langchain,Function Call的成功率怎么解决? LangChain Checkpoint(检查点)是什么?—— Agent 的"存档机制" RAG 设计:Embedding 如何切分 Go 百万连接服务器设计:从网卡到业务的全链路解析 深度解析 sync.Pool:从设计哲学到生产实践 Goroutine 泄漏:原因、检测与防范 Go Channel 关闭与超时机制完全指南 Go Map 无限增长问题解决方案 LangChain 聊天记录压缩:原理、机制与实战 揭开 sklearn 文本分类的核心原理:从词袋到逻辑回归 大模型“胡说八道”怎么办?一张图读懂检测、评估与修复全方案 企业级AI知识库权限隔离设计:让AI“懂规矩”比“懂知识”更重要 RAG系统设计全解析:从架构到多模态的核心知识图谱 RAG召回率提升全攻略:7大核心方法让检索更精准 RAG召回率提升秘籍:Metadata过滤的底层原理与实践 构建更好的RAG系统:深入理解混合搜索 一文搞懂 RAG 中 Retriever 和 Reranker 的区别 一文搞懂 RAG 的召回率(Recall)是什么? LangChain / LangGraph、MCP、Harness Engineer 与 Claude Code 的对应关系 Agent Harness 技术笔记:从 Trajectory 到 Function Calling Loop BLEU 是什么?——从原理到工程实践 一文讲清:Approve / Permit / Permit2 的本质区别 分库分表后跨分页查询的完整方案 ai如何处理私有数据 ai幻觉是啥,以及如何解决 别再让大模型“凭空瞎猜”了!带你认识AI最强外挂:ChromaDB 用 useQuery 管请求:TanStack React Query 入门小结 HD钱包--BIP44 TRON 四种 API 面怎么选:从节点协议到 JSON-RPC 再到 TronGrid 以太坊节点存储与共识机制全解析 BSC节点发现协议全解析:UDP发现、Bootnode引导与Gossip交易广播 以太坊节点发现背后的分布式哈希表(DHT)与 Kademlia 原理解析 Solidity中的bytes与string:深入理解这两种特殊的动态数组 智能合约自毁:当资产还在,合约死了 —— 深度解析 selfdestruct 导致的资产锁定风险 TDengine CLI (taos) 使用指南 —— Docker 本地开发实战 在 macOS 上用 DBeaver 连接 TDengine:踩坑总结与最终配置指南 Solidity Storage Slot 深度解析 Geth Snapshot Export/Import 深度解析: 不是备份工具,而是数据分析利器 基于BSC 公链的数据备份与 Snapshot 机制深度解析 Docker 共享内存完全指南:从原理到实践,避免常见的理解误区 Docker容器"僵尸状态"问题排查与自动重启方案 SSE协议深度解析:被低估的HTTP服务器推送标准 TDengine vs MySQL:时序数据处理的时代之选 Proxmox 启用 QEMU Guest Agent 实战指南 解决 Blockscout "batch too large" 错误的完整指南 一文讲清楚什么是基准测试(Benchmark) Rust中的宏(Macro):编译时的代码生成魔法 Docker优雅关闭的艺术:为什么stop_grace_period能防止数据丢失 为什么 Go 没有依赖注入和 Bean 机制?语言设计哲学对比
AI 客服系统设计:RAG 知识库设计
若-飞 · 2026-07-13 · via 博客园 - 若-飞

在 AI 客服系统中,真正决定回答质量的不是模型,而是 RAG(Retrieval-Augmented Generation)知识库

一个成熟的客服 RAG 并不是把所有文档 Embedding 后放入向量库,而是需要根据不同类型的数据,采用不同的 知识组织方式、Chunk 策略、Metadata 设计和检索策略

本文介绍一套适合企业级 AI 客服系统的 RAG 设计方案。

一、整体架构

                 用户问题
                     │
                     ▼
             Query Rewrite(问题改写)
                     │
                     ▼
         Intent Router(意图识别)
                     │
      ┌──────────────┼──────────────┐
      │              │              │
      ▼              ▼              ▼
   FAQ库         商品知识库      售后知识库
      │              │              │
      ▼              ▼              ▼
 Semantic Search   Semantic Search  Semantic Search
      │              │              │
      └──────────────┼──────────────┘
                     ▼
               Top20 Candidate
                     │
                     ▼
                Reranker排序
                     │
                     ▼
                  Top5 Chunk
                     │
                     ▼
              Prompt + Memory
                     │
                     ▼
                     LLM
                     │
                     ▼
                  最终回答

整个流程分为四步:

  1. 根据用户问题识别业务意图(Intent)
  2. 路由到对应知识库(Collection)
  3. Retriever + Reranker 获取最相关知识
  4. LLM 结合 Memory 生成最终回复

二、知识库如何规划

不要把所有知识混到一个 Collection。

建议按照业务拆分。

knowledge/

├── faq/
├── products/
├── logistics/
├── after_sale/
├── payment/
├── activity/
├── policy/
├── manuals/
└── excellent_cases/

每一类数据都有不同特点,因此需要采用不同的 Chunk 策略和 Metadata。

三、FAQ 知识设计

FAQ 是客服命中率最高的数据。

推荐使用 JSON,而不是 Word 或 Excel。

示例:

{
    "id":10001,
    "category":"refund",
    "question":"退款多久到账?",
    "similar_questions":[
        "退款什么时候到账",
        "多久能收到退款",
        "退款几天到账"
    ],
    "answer":"退款一般会在1~3个工作日原路退回。",
    "keywords":[
        "退款",
        "到账"
    ],
    "priority":10,
    "version":1
}

Embedding 内容建议:

Question
+
Similar Questions
+
Keywords
+
Answer

例如:

退款多久到账?

退款什么时候到账

多久收到退款

退款

到账

退款一般1~3个工作日到账

相比只 Embedding Answer,召回率会明显提高。

四、不同数据采用不同 Chunk 策略

不同数据结构完全不同,因此不能统一按照 500 Token 切片。

1)FAQ

特点:

  • 一问一答
  • 内容短
  • 独立性强

Chunk:

Question

+

Answer

一个 FAQ 就是一个 Chunk。

不要跨 FAQ 合并。

2)商品知识

例如:

商品说明书

电池

屏幕

摄像头

充电

尺寸

Chunk:

按照功能模块切分。

Chunk1

电池

支持80公里续航

------------

Chunk2

充电

支持20W快充

------------

Chunk3

摄像头

4800万像素

建议:

200~500 Token。

3)售后政策

例如:

退款政策

换货政策

保修政策

每条政策作为一个 Chunk。

例如:

退款政策

7天无理由退款

......

========

换货政策

质量问题30天可换

不要把所有政策放到一个 Chunk。

4)物流知识

物流 FAQ 一般也是一问一答。

例如:

物流一直没更新怎么办?

↓

等待24小时

一条物流规则就是一个 Chunk。

5)PDF 产品手册

PDF 通常几十页。

不要固定长度切片。

建议:

章节

↓

一级标题

↓

二级标题

↓

正文

例如:

第一章

安全说明

Chunk1

-----------------

第二章

安装说明

Chunk2

-----------------

第三章

保养说明

Chunk3

建议:

300~600 Token。

6)用户协议

例如:

隐私协议

退款协议

会员协议

协议内容较长。

建议:

按照章节切。

例如:

第一章

定义

第二章

用户权利

第三章

免责声明

建议:

500~800 Token。

五、不同数据采用不同 Metadata

Metadata 的作用:

不是给模型看的。

而是给 Retriever 做过滤(Filter)。

例如:

用户:

退款多久到账

可以直接过滤:

category=refund

减少无关召回。

FAQ Metadata

{
    "id":10001,
    "category":"refund",
    "priority":10,
    "version":1,
    "language":"zh",
    "source":"faq.json"
}

适用于:

  • FAQ
  • 常见问题

商品知识 Metadata

{
    "product":"Bike-A100",
    "category":"battery",
    "model":"2026",
    "language":"zh",
    "version":"2.1"
}

适用于:

不同型号商品。

例如:

Bike A100

Bike A200

直接过滤:

product=A100

避免命中错误型号。

售后政策 Metadata

{
    "policy":"refund",
    "country":"CN",
    "version":"2026",
    "effective_time":"2026-01-01"
}

例如:

不同国家退款政策不同。

Retriever 可以直接过滤:

country=JP

产品手册 Metadata

{
    "product":"Camera-X1",
    "chapter":"安装",
    "language":"zh",
    "source":"manual.pdf"
}

便于后续定位来源。

优秀客服案例 Metadata

{
    "intent":"refund",
    "emotion":"angry",
    "score":5,
    "agent":"AI"
}

以后可以专门学习:

退款

+

愤怒用户

优秀回复。

六、Embedding 流程

不同数据最终都会进入统一的 Embedding Pipeline。

Document

        │

        ▼

Document Loader

        │

        ▼

Parser

        │

        ▼

Semantic Chunk

        │

        ▼

Metadata Enrichment

        │

        ▼

Embedding

        │

        ▼

Milvus

整个流程建议离线完成。

不要在用户提问时实时生成 Embedding。

七、检索流程

推荐采用两阶段检索。

User Query

      │

      ▼

Intent Router

      │

      ▼

Collection

      │

      ▼

Retriever

Top20

      │

      ▼

Reranker

Top5

      │

      ▼

LLM

为什么需要 Reranker?

Retriever 擅长"找得到"。

Reranker 擅长"排得准"。

例如:

用户:

钱怎么还没退?

Retriever 可能返回:

退款多久到账

退款失败

退款流程

Reranker 会重新排序:

①退款多久到账(最高)

②退款流程

③退款失败

最终送入 LLM 的就是最相关的 Top5。

八、推荐的目录结构

knowledge/

├── faq/
│   ├── refund.json
│   ├── logistics.json
│   ├── payment.json
│   └── account.json
│
├── products/
│   ├── bike_a100.md
│   ├── iphone16.md
│   └── camera.md
│
├── policy/
│   ├── refund.md
│   ├── exchange.md
│   └── warranty.md
│
├── manuals/
│   ├── user_manual.pdf
│   └── quick_start.pdf
│
└── examples/
    ├── excellent_cases.json
    └── standard_reply.json

每类数据使用独立的 Chunk 策略、Metadata 和 Collection,可以有效提高召回准确率和维护效率。

九、总结

一个企业级 AI 客服 RAG 的核心设计原则如下:

模块 推荐方案
知识库划分 FAQ、商品、物流、售后、政策、手册、优秀案例独立管理
FAQ 数据格式 JSON,一问一答,支持 Similar Questions、Keywords
Chunk 策略 FAQ 按问答切、商品按功能切、政策按条款切、PDF 按章节切
Embedding 内容 Question + Similar Questions + Keywords + Answer
Metadata 根据业务设计,如 category、product、policy、country、version 等
检索流程 Intent Router → Retriever(Top20) → Reranker(Top5) → LLM
向量库 Milvus(生产)、Chroma(开发)
更新方式 离线索引,支持版本管理与增量更新

核心思想:不要让所有知识采用同一种 Chunk、同一种 Metadata、同一种检索策略,而应根据数据特点进行分类设计。只有知识组织合理,RAG 才能真正发挥效果,支撑生产级 AI 客服系统。