""" RAG 检索与生成模块 提供在线检索与生成功能,包括: - 基础向量检索(稠密向量 / 混合检索) - 重排序(Cross-Encoder) - 多路查询改写(Multi-Query) - RRF 融合(Reciprocal Rank Fusion) - 完整的 RAG 流水线 - Agent 工具封装 固定流水线: 用户查询 → 多路改写 → 并行检索 → RRF 融合 → 重排序 → 返回父文档 示例用法: >>> from app.rag.rag import RAGPipeline, create_rag_tool >>> from rag_indexer.builder import IndexBuilder, IndexBuilderConfig >>> from langchain_openai import ChatOpenAI >>> >>> # 获取基础检索器(如父子块检索器) >>> config = IndexBuilderConfig(collection_name="my_docs") >>> builder = IndexBuilder(config) >>> retriever = builder.retriever >>> >>> # 创建 LLM 和流水线 >>> llm = ChatOpenAI(model="gpt-3.5-turbo") >>> pipeline = RAGPipeline(retriever=retriever, llm=llm) >>> >>> # 检索 >>> docs = await pipeline.aretrieve("什么是 RAG?") >>> context = pipeline.format_context(docs) >>> >>> # 创建 Agent 工具 >>> rag_tool = create_rag_tool(retriever=retriever, llm=llm) """ from .retriever import ( create_base_retriever, create_hybrid_retriever, create_qdrant_client, ) from .reranker import LLaMaCPPReranker from .query_transform import MultiQueryGenerator from .fusion import reciprocal_rank_fusion from .pipeline import RAGPipeline from .tools import create_rag_tool_sync __all__ = [ # 检索器工厂函数 "create_base_retriever", "create_hybrid_retriever", "create_qdrant_client", # 重排序器 "LLaMaCPPReranker", # 查询改写生成器 "MultiQueryGenerator", # 融合算法 "reciprocal_rank_fusion", # 主流水线 "RAGPipeline", # 工具创建(供 Agent 使用) "create_rag_tool_sync", ]