Runjie Luo
Back to Blog
·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 中,我们实现了:

  1. 多策略 chunking(固定 + 语义 + 自定义规则)
  2. 混合检索(dense + sparse)
  3. 基于 DeepSeek 的 reranking
  4. 针对审计文档的查询改写规则

这套方案在处理 200+ 页的财务报表时,检索准确率达到 97%。