用途:为构建检索增强生成(RAG)应用提供框架对比与选型参考,覆盖 LangChain、LlamaIndex、Sentence Transformers 三类工具,并给出常见 RAG 架构模式与决策指南。
主要能力与对比:LangChain 是面向复杂 LLM 应用的编排框架,核心概念包括 Chains(检索→提示→生成等顺序操作)、Agents(由 LLM 决定使用哪些工具)、LCEL(用 | 运算符的声明式管道语法)和 Retrievers(向量存储的抽象接口);优势是生态丰富、集成多、具备智能体能力,限制是抽象可能令人困惑、API 变化快。LlamaIndex 是聚焦连接 LLM 与外部数据的数据框架,核心概念包括 Documents→Nodes(自动分块与索引)、多种索引类型(向量、关键词、树、知识图谱)、查询引擎与聊天引擎;优势是 API 简单、适合文档问答、数据连接器多,限制是对复杂智能体工作流灵活性较低。Sentence Transformers 用于生成高质量语义相似度嵌入,常见模型有 all-MiniLM-L6-v2(384 维,质量好、速度快)、all-mpnet-base-v2(768 维,更好、速度中等)、e5-large-v2(1024 维,最好、速度慢),核心是双编码器架构,分别编码查询与文档后用余弦相似度比较。
架构模式:Naive RAG(检索 top-k 塞入提示,适合简单问答)、Parent-Child(检索块返回父文档,保留上下文)、Hybrid Search(向量加关键词,提升召回)、Re-ranking(多检索后用交叉编码器重排,提升精度)、Query Expansion(生成查询变体,应对模糊查询)。
选型建议:简单文档问答用 LlamaIndex;复杂智能体/工具用 LangChain;自定义嵌入管道用 Sentence Transformers;生产级 RAG 用 LangChain 或自建;快速原型用 LlamaIndex;最大控制力则用 Sentence Transformers 自建。
资源:LangChain https://python.langchain.com ;LlamaIndex https://docs.llamaindex.ai ;Sentence Transformers https://sbert.net 。
限制:资料未提供具体安装命令、代码示例、收费与平台信息,暂未提供。