·1 min read
"RAG系统工程实践笔记"
"基于OpenAI Cookbook的RAG应用设计案例,结合AuditFlow的工程实践整理的系统笔记。"
RAG
OpenAI
Embedding
Vector Search
来源:OpenAI Cookbook — 长期维护大量工程案例,涵盖 Agents、RAG、Evaluation、Structured Output
RAG 应用设计要点
OpenAI Cookbook 中关于 RAG 的工程实践案例非常值得反复阅读。核心设计原则:
1. Chunking 策略
不是所有文档都适合用同样的切分方式:
- 固定长度切分 — 简单但会切断语义
- 语义切分 — 按段落/标题切分,效果更好但更慢
- 递归切分 — LangChain 推荐的折中方案
2. Embedding 选择
# 生产环境推荐
from openai import OpenAI
client = OpenAI()
response = client.embeddings.create(
model="text-embedding-3-small",
input=text
)
text-embedding-3-small 在性能/成本平衡上最优。
3. Retrieval 优化
- Hybrid Search — 结合语义 + 关键词搜索
- Re-ranking — 提升 Top-K 结果质量
- Query Transformation — 将用户问题改写为更利于检索的形式
工程实践:AuditFlow 中的应用
在 AuditFlow 中,我们实现了:
- 多策略 chunking(固定 + 语义 + 自定义规则)
- 混合检索(dense + sparse)
- 基于 DeepSeek 的 reranking
- 针对审计文档的查询改写规则
这套方案在处理 200+ 页的财务报表时,检索准确率达到 97%。