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:动作执行
Logo

有“AI”的1024 = 2048,欢迎大家加入2048 AI社区

更多推荐