01—langchain 架构
LangChain是一个AI应用开发框架,其架构包含四个主要部分:LangChain核心提供基础组件(模型、提示、链等),LangGraph用于复杂任务协调,LangSmith提供调试和监控工具,LangServe用于API部署。框架采用分层设计,从基础组件到高级应用链。核心功能包括提示模板、大模型调用、输出解析、工具集成和RAG等。其中LangGraph的任务协调和LangSmith的运维监控被
langchain 架构

结构 1: LangChain
- langchain:构成应用程序认知架构的 Chains, Agents, Retrieval strategies 等
构成应用程序的链、智能体、RAG。 - langchain-community:第三方集成
比如:Model I/O、Retrieval、Tool & Toolkit;合作伙伴包 langchain-openai, langchain-anthropic 等。 - langchain-Core:基础抽象和 LangChain 表达式语言 (LCEL)
LangChain,就是 AI 应用组装套件,封装了一堆的 API。langchain 框架不大,但是里面琐碎的知识点特别多。就像玩乐高,提供了很多标准化的乐高零件(比如,连接器、轮子等)
结构 2: LangGraph
LangGraph 可以看做基于 LangChain 的 api 的进一步封装,能够协调多个 Chain、Agent、Tools 完成更复杂的任务,实现更高级的功能。
结构 3: LangSmith
链路追踪。提供了 6 大功能,涉及 Debugging (调试)、Playground (沙盒)、Prompt Management (提示管理)、Annotation (注释)、Testing (测试)、Monitoring (监控)等。与 LangChain 无缝集成,帮助你从原型阶段过渡到生产阶段。
正是因为 LangSmith 这样的工具出现,才使得 LangChain 意义更大,要不仅靠一些 API(当然也可以不用,用原生的 API)。
结构 4: LangServe
将 LangChain 的可运行项和链部署为 REST API,使得它们可以通过网络进行调用。
Java 怎么调用 langchain 呢?就通过这个 langserve。将 langchain 应用包装成一个 rest api,对外暴露服务。同时,支持更高的并发,稳定性更好。
总结
LangChain 当中,最有前途的两个模块就是:LangGraph,LangSmith。
LangChain 能做 RAG,其它的一些框架也能做,而且做的也不错,比如 LlamaIndex。所以这时候 LangChain 要在 Agent 这块发力,那就需要 LangGraph。而 LangSmith,做运维、监控。故,二者是 LangChain 里最有前途的。
核心组件层次
┌───────────────────────────────────────────┐
│ 应用层(Applications) │
├───────────────────────────────────────────┤
│ 链层(Chains) │
├───────────────────────────────────────────┤
│ 组件层(Components) │
│ ┌──────────┬──────────┬──────────┐ │
│ │ Models │ Prompts │ Memory │ │
│ ├──────────┼──────────┼──────────┤ │
│ │ Indexes │ Agents │ Callbacks│ │
│ └──────────┴──────────┴──────────┘ │
├───────────────────────────────────────────┤
│ 基础层(Foundation) │
└───────────────────────────────────────────┘
核心组件
| 模块 | 作用 | 示例 |
|---|---|---|
| Prompt | 设定提示模板 | “请分析以下文本情感:{text}” |
| LLM | 调用大模型(如 OpenAI、Qwen、Claude) | ChatOpenAI() |
| Parser | 解析模型输出为结构化结果 | StrOutputParser()、with_structured_output() |
| Chain (LCEL) | 用管道符把各模块串联起来 | Prompt - LLM - Parser |
| Memory | 保存历史对话,实现上下文记忆 | RunnableWithMessageHistory() |
| Tool | 工具调用,例如计算、查天气 | @tool |
| RAG | 检索增强问答,结合向量数据库 | FAISS / Chroma |
| Fallback | 模型或链出错时的自动回退 | .with_fallbacks() |
主要模块说明
🤖 Models(模型层)
– LLM 接口:OpenAI、Anthropic、Hugging Face 等
– Chat Models:专门用于对话的模型接口
– Embeddings:文本向量化模型
📝 Prompts(提示层)
- Prompt Templates:动态提示模板
- Few-shot Examples:少样本学习示例
- Output Parsers:结构化输出解析
🧠 Memory(记忆层)
- Conversation Memory:对话记忆
- Vector Store Memory:向量存储记忆
- Summary Memory:摘要记忆
🔍 Indexes(索引层)
- Document Loaders:文档加载器
- Text Splitters:文本分割器
- Vector Stores:向量数据库
🤖 Agents(代理层)
- Tool Integration:工具集成
- Decision Making:决策制定
- Action Execution:动作执行
更多推荐

所有评论(0)