精通之路:LlamaIndex vs LangChain 选型与综合实战
用一个企业知识库项目贯通全模块:完整代码走查 + 两框架选型决策表 + 继续精进的学习地图。
综合实战:企业知识库问答(LlamaIndex 全家桶版)
# 1. 摄取:结构感知切分 + 增量入库
pipeline = IngestionPipeline(transformations=[
MarkdownNodeParser(), # 按标题层级切
SentenceSplitter(chunk_size=512, chunk_overlap=50),
embed_model,
vector_store])
pipeline.run(documents=docs)
# 2. 检索优化:混合思路 + 重排 + 元数据过滤
retriever = QueryFusionRetriever([vector_retriever, bm25_retriever],
similarity_top_k=10)
query_engine = index.as_query_engine(
retriever=retriever,
node_postprocessors=[
SentenceTransformerRerank(top_n=3)])
# 3. 多库路由:财务/人事/技术三个索引 → Agent 工具
agent = ReActAgent.from_tools([finance_tool, hr_tool, tech_tool])
# 4. 对话入口:多轮 + 溯源
chat_engine = index.as_chat_engine(chat_mode="condense_question")
对照《端到端 RAG 调优实战》:方法论完全一致,只是每个环节换用了 LlamaIndex 的官方组件。
选型决策表
| 场景 | 推荐 | 理由 |
|---|---|---|
| 文档 RAG、复杂数据源接入 | LlamaIndex | 索引/检索抽象最完善,摄取管线开箱即用 |
| 多系统编排、复杂 Agent 流程 | LangChain / LangGraph | 生态广、状态机编排更强 |
| 结构化输出、提示工程细控 | 两者皆可 | 能力相当,看团队熟悉度 |
| 混合项目 | 两者混用 | LlamaIndex 建索引,Retriever 桥接进 LangChain 链 |
继续精进的学习地图
- LlamaParse:官方文档解析服务,复杂 PDF/表格的解析质量远超开源方案;
- LlamaCloud:托管的摄取与索引服务,省去自运维向量库;
- 评估:faithfulness / relevancy 指标自动评分,配合本站《RAG 评估》方法论闭环;
- 多模态:图像、表格的 Multi-Modal 索引与查询。
学完本模块你已掌握两大框架。记住:框架会变,RAG 与 Agent 的方法论不变——这正是本站全部课程想交给你的东西。
📝 课后练习
quiz-1 文档 RAG 为主、数据源复杂的项目选型建议是?