LangChain / LangGraph 实战
LangChain 中的 RAG 链路
说明 LangChain 如何组织 Document Loader、Text Splitter、Retriever、Prompt 和模型调用。
LangChain / LangGraph 实战intermediateLangChainRAGRetrieverPrompt
LangChain 做 RAG 的价值,不是让 RAG 变神奇,而是把加载文档、切片、检索、Prompt 和模型调用这些重复连接工作组织起来。
真正要关注的是:框架帮我们省掉了什么,哪些工程边界仍然要自己负责。
一条典型链路
LangChain 里的 RAG 通常会经过:
- Document Loader 读取内容。
- Text Splitter 切分文本。
- Embedding 写入向量库。
- Retriever 召回相关片段。
- Prompt 组织上下文。
- ChatModel 生成回答。
这些抽象适合学习链路,也适合快速搭建原型。
仍然要自己管的部分
LangChain 不会自动解决:
- 文档版本一致性。
- 权限过滤。
- 引用展示。
- 调用成本。
- 线上评估。
如果这些边界不补,RAG 原型跑起来也不等于能上线。
什么时候直接写更清楚
如果链路很短,团队也只接一个模型和一个向量库,直接用 SDK 写可能更清楚。等重复逻辑多了,再引入 LangChain 更自然。
框架应该减少复杂度,而不是提前制造抽象。
一句话先记住
LangChain 能帮我们组织 RAG 链路,但不能替我们设计 RAG 系统。
继续阅读
04-rag/002-rag-architecture.md07-langchain-langgraph/007-framework-boundary.md