构建生产级RAG系统注意事项


构建生产级 RAG(检索增强生成)AI 系统是一个艰难的任务。


👇是 RAG 系统中的一些关键组件,你需要对它们进行管理和持续优化,以实现预期的效果(不要错过最后的 H 部分):


检索(Retrieval)


F) 数据切分(Chunking) – 如何对用于外部上下文的数据进行切分?

  • 小块 vs. 大块。
  • 滑动窗口(sliding window)或滚动窗口(tumbling window)进行切分。
  • 在搜索时是检索父级或关联块,还是仅使用原始检索数据?

C) 选择嵌入模型(Choosing the embedding model)

  • 用于将数据嵌入和查询外部上下文的模型选择。
  • 考虑上下文化嵌入(Contextual embeddings)。

D) 向量数据库(Vector Database)

  • 选择哪种数据库。
  • 部署位置。
  • 需要存储哪些元数据以便与嵌入向量关联。
  • 索引策略。

E) 向量搜索(Vector Search)

  • 相似度度量的选择。
  • 查询路径的选择:先基于元数据还是先使用 ANN(近似最近邻)搜索?
  • 采用混合搜索(Hybrid Search)。

G) 规则与启发式(Heuristics) – 在检索过程中应用的业务规则。

  • 时间权重(Time importance)。
  • 重新排序(Reranking)。
  • 处理重复上下文(多样性排序)。
  • 来源检索(Source retrieval)。
  • 条件性文档预处理。


生成(Generation)


A) LLM 选择(Choosing the right Large Language Model)

✅ 随着 LLM 的发展,这个问题变得越来越简单。当前,开源和专有 LLM 的性能正在趋同,主要的选择在于:

  • 使用专有模型(Proprietary model)。
  • 自行托管(Self-hosting)。

B) Prompt 设计(Prompt Engineering)

即使有了外部上下文,仍然需要精心设计 Prompt:

  • 使系统生成符合预期的输出。
  • 预防越狱(Jailbreak)场景。


别忘了一个容易被忽略的部分


H) 观察、评估、监控和安全性(Observing, Evaluating, Monitoring and Securing)

确保生产环境下的应用运行稳定、安全,并能持续优化!



👉 你认为还有哪些关键组件没有提到?欢迎在评论区讨论!👇


https://x.com/Aurimas_Gr/status/1902734448988180766








(文:PyTorch研习社)

发表评论

×

下载每时AI手机APP

 

和大家一起交流AI最新资讯!

立即前往