跳到主要内容

高级 RAG

RAG 系统的进阶技术和优化策略。

高级技术

结合向量检索和关键词检索,提高召回率。

from langchain.retrievers import BM25Retriever, EnsembleRetriever

bm25_retriever = BM25Retriever.from_documents(docs)
vector_retriever = vectorstore.as_retriever()

ensemble = EnsembleRetriever(
retrievers=[bm25_retriever, vector_retriever],
weights=[0.4, 0.6]
)

2. 重排序 (Re-ranking)

对召回结果进行二次排序,提升相关性。

3. 查询重写 (Query Rewriting)

自动优化用户查询以获得更好的检索效果。

4. 上下文压缩

保留最相关的内容,减少 LLM 上下文开销。

Workflow

注意事项

  • 根据场景选择合适的检索策略
  • 监控各环节延迟,优化性能瓶颈
  • 建立评测体系持续优化