01—langchain 架构

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 里最有前途的。

核心组件层次

txt 复制代码
┌───────────────────────────────────────────┐
│               应用层(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:动作执行
相关推荐
勇往直前plus2 小时前
大模型开发手记(八):LangChain Agent格式化输出
langchain
qq_5470261793 小时前
LangChain 会话记忆(Conversation Memory)
langchain
Vital5 小时前
AI Agent(写一个简易的MCP天气查询工具)
langchain·ai编程·cursor
逸尘谈PM7 小时前
智能体框架对比:OpenClaw、LangChain、AutoGPT、CrewAI 深度对比
人工智能·ai·langchain·职场·2026年
前进的李工8 小时前
LangChain使用之Model IO(提示词模版之ChatPromptTemplate)
java·前端·人工智能·python·langchain·大模型
张张123y11 小时前
知识图谱从0到1:AI应用开发的核心技术
人工智能·langchain·transformer·知识图谱
勇往直前plus12 小时前
大模型开发手记(九):LangChain Agent 中间件-提升Agent的可靠性与可控性
中间件·langchain
java1234_小锋13 小时前
基于LangChain的RAG与Agent智能体开发 - 使用LangChain调用大模型设置流式输出
langchain·rag
诗酒当趁年华13 小时前
langchain核心组件5-短期记忆
langchain
啊巴矲13 小时前
白从零开始勇闯人工智能:LangChain中的检索增强生成(RAG)
langchain