- RAG各个环节均有极大的优化空间。
1. 知识文档准备阶段
a. 数据清洗
b. 分块处理
2. 嵌入模型阶段
a. 嵌入模型
3. 向量数据库阶段
a.元数据
4. 查询索引阶段(检索召回、重排)
a. 多级索引
b. 索引/查询算大
c. 查询转换
d. 检索参数
e. 高级检索策略
f. 重排模型(Re-ranking)
5. 生成回答阶段
a. 提示词
b. 大语言模型
RAG流程
13.1 知识文档准备阶段
13.1.1 数据清洗
高性能RAG系统依赖于准确且清洁的原始知识数据。一方面为了保证数据的准确性,另一方面需要对知识文档做一些基本数据清洗。
- 基本文本清理:规范文本格式,去除特殊字符和不相关信息。
- 实体解析:消除实体和术语的歧义以实现一致的引用。
- 文档划分:合理的划分不同主题的文档。
- 数据增强:使用同义词、释义甚至其他语言的翻译来增加语料库的多样性。
- 用户反馈:记忆现实世界用户的反馈不断更新数据库,标记它们的真实性。
- 时间敏感数据:对弈经常更新的注意,删除过期的文档,或者对过期的文档更新。