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:动作执行
相关推荐
用户938515635071 小时前
从 0 到 1 搭建企业级多模态 RAG 知识库:一个装修公司的 AI 落地实战
人工智能·langchain·llm
染指11102 小时前
140.Agent-多Agent框架-Agent执行Skills流程
数据库·人工智能·设计模式·langchain·agents
敲个大西瓜3 小时前
langchain笔记(一)
redis·笔记·langchain
Maiko Star4 小时前
* LangChain中Milvus的使用指南
langchain·milvus
YIAN7 小时前
LangGraph 完全入门指南:从线性工作流到带中断恢复的有状态 Agent 编排
langchain·node.js·agent
小盆女神节奶粉7 小时前
让 Agent 在沙箱里写代码跑代码,产物进 OSS
langchain·agent
Mr_star_galaxy9 小时前
【Agent】LangChain聊天模型 -- 调用工具
人工智能·langchain
梦在远山后1 天前
通过 WSS 让 Server 安全调用 Desktop 本地工具(下01):Ticket、人工确认、幂等与断线对账
python·langchain·agent
jason.zeng@15022071 天前
(六)Prompt 优化
python·ai·langchain·prompt·ai编程·llama
jason.zeng@15022071 天前
(八)现有架构上新增一个通用Excel导出工具
python·架构·langchain·excel·llama