云南网站建设一度科技公司济宁网站开发
云南网站建设一度科技公司,济宁网站开发,惠东县网站建设,专做婚礼logo的网站#x1f4cc; 所属章节#xff1a;第一阶段 - LangChain 框架介绍 #x1f4da; 系列目录 | 下一篇#xff1a;LangChain 模块化管理 - langchain-core → #x1f4cb; 摘要
本文详细讲解了 LangChain 框架介绍#xff0c;包括核心概念、实战代码示例和最佳实践。通过本…所属章节第一阶段 - LangChain 框架介绍 系列目录 | 下一篇LangChain 模块化管理 - langchain-core → 摘要本文详细讲解了LangChain 框架介绍包括核心概念、实战代码示例和最佳实践。通过本文的学习你将掌握 LangChain 1.0 的核心技术要点能够快速构建基于大模型的 AI 应用。适合人群想系统学习 LangChain 1.0 的开发者需要构建 AI Agent 应用的工程师对 LLM 应用开发感兴趣的技术爱好者LangChain 1.0 框架基础入门实战第一阶段、LangChain 框架介绍LangChain 是一个构建 LLM 应用的框架目标是把 LLM 与外部工具、数据源和复杂工作流连接起来 —— 支持从简单的 prompt 封装到复杂的 Agent能够调用工具、做决策、执行多步任务。它不仅仅是对LLM API的封装而是提供了一套完整的工具和架构让开发者能够更轻松地构建上下文感知和具备推理能力的AI应用。LangChain 1.0 版本把“Agent 的稳定化、结构化输出、可观测性与生产化”作为核心改进目标。1.1 用 LangChain 能做什么构建 Retrieval-Augmented GenerationRAG问答系统把 LLM 当作“Agent”去调用外部 API搜索、数据库、文件系统并返回任务结果组织 prompt → 模型 → 后处理 的可复用流水线Chains实现多轮对话带记忆Memory与长会话管理在生产中管理可观测性与评估配合 LangSmith/LangGraph核心价值让开发者用10行代码完成原本需要1000行代码的AI应用并且自动获得状态持久化、人工干预、并发控制等企业级能力。1.0 的架构风格可以用一句话概括:以“统一智能体抽象 标准化内容表示 可插拔治理中间件”为设计骨干,以 LangGraph 为底座运行时,实现“开发简单性”与“生产可控性”的兼顾。它一方面通过 create_agent 提供低门槛的构建入口,另一方面保留足够的钩子点与下探能力,以满足复杂工作流与高标准治理的需求。你要做什么AI应用 │ ├─ 只想简单调用模型聊天翻译/问答 │ └─ 直接用OpenAI SDK更轻量无需LangChain │ ├─ 需要联网查资料、执行代码、操作数据库 │ └─ 用LangChain 1.0快速搭建Agent │ └─ 参考客服机器人、数据分析助手 │ ├─ 流程很复杂多人审批/定时任务/状态分支 │ └─ 用LangGraph 1.0精确控制每个步骤 │ └─ 参考自动化工作流、ERP系统集成 │ └─ 不确定先试试想法 └─ 用LangChain 1.0快速验证后期可无缝迁移到LangGraph1.2 LangChain 生态概览模型层ModelsLangChain 1.0 的统一模型抽象层为所有模型提供标准化调用覆盖文本、多模态、Embedding、Rerank 等多类型模型实现跨供应商一致体验统一抽象init_chat_model() 适配20模型厂商异步/流式/批处理ainvoke()stream(), batch()执行方式完全兼容 LCEL 与 LangGraph扩展能力with_structured_output()、Tool Calling、多模态 Content Blocks工具层Tools工具系统提供统一 Tool 抽象支持所有主流模型的 Tool Calling深度集成 LangGraph构建可执行 agent 环境的关键能力层内置工具搜索、计算、代码执行等100工具自定义工具tool装饰器 / BaseTool / ToolNode工具包Toolkit如GitHub、Slack集成记忆层Memory记忆层提供统一 State 管理、对话记录、长期检索、多模态 Memory 等能力支持持久化与复杂工作流状态流转短期记忆消息历史自动管理长期记忆向量数据库存储Chroma, Pinecone存储接口Store跨会话持久化Agent层AgentsLangChain 1.0 Agents系统实现从碎片化到标准化升级以create_agent为核心接口基于LangGraph构建统一Agent抽象10行代码即可创建基础Agent封装模型调用→工具选择→执行→结束闭环流程核心APIcreate_agent()执行引擎LangGraph Runtime自动持久化中间件MiddlewareHITL、压缩、路由工作流层WorkflowsWorkflows 体系实现从 线性链式Chain到图结构Graph 的范式转移以 StateGraph 为核心画布将业务逻辑解耦为 “节点Node 边Edge 状态State”原生支持循环Loop与条件分支完美适配复杂任务编排、容错重试及长会话保持。简单链Chain快速串联复杂图LangGraph条件分支、循环模板库LangChain Hub共享Agent模板调试监控层DebuggingLangChain 1.0 调试监控层实现了从 日志黑盒到全链路可观测性Observability 的质变深度集成 LangSmith 平台自动捕获链Chain与图Graph的每一步骤状态、Token 消耗及延迟支持Trace → Playground一键回放调试彻底解决复杂 Agent 逻辑难以排查的痛点。本地日志verboseTrue云端平台LangSmith可视化链路追踪评估工具LangChain Evaluate效果评估其他关键组件 (LangGraph LangServe)langgraph: 这是一个底层的Agent 调度框架(Agent Runtime)是一个相对“低级”Low-level的编排框架它专注于解决复杂的“控制流”问题用于构建健壮且有状态的多角色 LLM 应用程序。LangChain 1.0 中的新 Agents (通过 create_agent()) 就是建立在 LangGraph 之上的。langserve: 用于将任何 LangChain chain 或 agent部署为 REST API的包方便快速将应用投入生产环境。1.3 LangChain 1.0 底层运行架构# 简化版架构示意图┌─────────────────────────────────────────┐ │ LangChain1.0应用层 │ │(create_agent,工具和中间件)│ └──────────────────┬──────────────────────┘ │ ▼ ┌─────────────────────────────────────────┐ │ LangGraph 编排层 │ │(StateGraph,Nodes,Edges,Checkpoints)│ └──────────────────┬──────────────────────┘ │ ▼ ┌─────────────────────────────────────────┐ │ LCEL 运行时层 │ │(Runnable接口,|运算符,流式/批处理)│ └──────────────────┬──────────────────────┘ │ ▼ ┌─────────────────────────────────────────┐ │ 大语言模型API(OpenAI/DeepSeek)│ └─────────────────────────────────────────┘LCEL提供Runnable接口invoke, stream, batch和组合原语|运算符是无状态的函数式编排构建“流水线pipeline”的工具LangGraph在LCEL基础上增加状态管理State、循环控制Cycles、持久化Checkpoints是有状态的图结构编排构建“流程图workflow/graph”的工具1.4 Runnable底层执行引擎Runnable 是 LangChain 1.0 的“统一接口标准”任何可以运行的组件——模型、Prompt、工具、解析器、Memory、Graph 节点——在 1.0 中都被抽象为 Runnable。Runnable 使所有 LangChain 组件能够以统一接口组合、执行、链式调用并支撑 LCELLangChain Expression Language的整个运行语义支撑可组合、可并行、可路由的链式执行是 LangChain 1.0 的核心底座之一。核心思想Runnable 抽象与可组合链Composable ChainsLangChain 1.0将所有链式元素统一为 Runnable执行模型LLMOpenAI、vLLM、Ollama……PromptParserRetrieverToolAgent自定义函数所有对象都可以 .invoke()、.batch()、.stream()、.astream_events()这实现了真正的统一调用接口。工程价值链路清晰。任意组件之间可无缝组合。所有执行方式同步 / 异步 / 批处理 / 事件流统一。这是 LangChain 1.0 最具革命性的改变使其成为“模型调用管道”的事实标准。Prompt Runnablefromlangchain_core.promptsimportChatPromptTemplate# 1. 定义一个 Prompt (Runnable)promptChatPromptTemplate.from_template(Tell me a joke about {topic})# Prompt 也可以调用 invoke/streamprint(prompt.invoke({topic:ice cream}))输出结果[HumanMessage(contentTell me a joke about ice cream, additional_kwargs{}, response_metadata{})]Tool Runnablefromlangchain_core.toolsimporttool# 2. 定义一个简单的 Tool (Runnable)tooldefmultiply(a:int,b:int)-int:Multiplies a and b.returna*b# Tool 也可以调用 invoke/batchprint(multiply.invoke({a:2,b:3}))# Tool 也可以调用 batch (自动并行)print(multiply.batch([{a:2,b:3},{a:4,b:5}]))# 输出: [6, 20]输出结果6 [6, 20]Runnable LCEL 的语法基础LCEL| 运算符是由 Runnable 定义的组合语义chainprompt|model|StrOutputParser()outputchain.invoke({topic:LangChain})这三者本质都是 Runnable[PromptTemplate](06_messages_prompt.md)→ Runnable Model → Runnable Parser → Runnable任何 LCEL chain 多个 Runnable 的组合。技术在 LangChain 1.0 的角色LangChain构建 LLM prompt tool outputparser 的组件生态LangGraph构建 Agent / 多步工作流 / 状态机的框架LCEL / RunnableLangChain 的底层执行引擎依然核心 总结本文详细介绍了LangChain 框架介绍的核心概念和实战技巧。希望这些内容能帮助你更好地理解和使用 LangChain 1.0如果你有任何问题或建议欢迎在评论区留言交流 系列目录 | 下一篇LangChain 模块化管理 - langchain-core →️标签LangChainAI开发大模型应用感谢阅读如果觉得有帮助记得点赞收藏关注哦本文为原创内容版权归作者所有转载需注明出处。