【LLM LangChain】 模型绑定工具 + 调用工具的方法(手动调用/LangGraph/AgentExecutor)+ 相关注意事项

基于LangChain、LangGraph与LangSmith构建医疗问诊Agent实战指南 在大模型应用开发中,Agent(智能体)已成为处理复杂任务的核心架构,它通过整合工具调用、知识检索与状态管理,实现超越单一问答的自动化工作流。其原理在于将大语言模型(LLM)作为决策中枢,结合外部工具与数据源,通过ReAct等模式进行推理与行动。这种技术价值在于显著提升了AI系统在专业领域的可靠性与实用性。在应用场景上,Agent广泛适用于需要多步骤决策、动态交互的领域,例如智能客服、数据分析与自动化办公。本文聚焦于医疗健康这一典型场景,通过一个完整的医疗问诊Agent项目,详细演示了如何利用LangCha 阅读详情

模型绑定工具

from langchain_openai import ChatOpenAI
from langchain_core.tools import tool

# 定义一个工具
@tool
def add_numbers(input: str) -> str:
    """Add two numbers together. 输入格式: 'a,b'"""
    a, b = map(int, input.split(","))
    return str(a + b)

# 初始化模型
model = ChatOpenAI(model= "qwen-plus",api_key= "sk-0cff369a69e1474d9a308f19370373f1",base_url="https://dashscope.aliyuncs.com/compatible-mode/v1") # ChatOpenAI(model="gpt-4o", temperature=0)

# 给模型绑定工具
model_with_tools = model.bind_tools([add_numbers])

# 传入对话消息
result = model_with_tools.invoke([
    {"role": "user", "content": "帮我计算 123 + 456"}
])

print(result)

输出

content='' additional_kwargs={'tool_calls': [{'id': 'call_407dc2ba39074f34a319c2', 'function': {'arguments': '{"input": "123,456"}', 'name': 'add_numbers'}, 'type': 'function', 'index': 0}], 'refusal': None} response_metadata={'token_usage': {'completion_tokens': 25, 'prompt_tokens': 162, 'total_tokens': 187, 'completion_tokens_details': None, 'prompt_tokens_details': {'audio_tokens': None, 'cached_tokens': 0}}, 'model_name': 'qwen-plus', 'system_fingerprint': None, 'id': 'chatcmpl-24d6004f-53c9-4362-ade0-1ec3d09f1f5b', 'service_tier': None, 'finish_reason': 'tool_calls', 'logprobs': None} id='run--12c2fe5b-0b2c-4f05-9102-c20b73c93737-0' tool_calls=[{'name': 'add_numbers', 'args': {'input': '123,456'}, 'id': 'call_407dc2ba39074f34a319c2', 'type': 'tool_call'}] usage_metadata={'input_tokens': 162, 'output_tokens': 25, 'total_tokens': 187, 'input_token_details': {'cache_read': 0}, 'output_token_details': {}}

关键字段说明

  • content=''

    • 空字符串,因为这次回答不是自然语言,而是“我要调用工具”。
  • additional_kwargs.tool_calls

    • 模型生成的工具调用请求。

    • 这里包含:

      {
        "id": "call_407dc2ba39074f34a319c2",
        "function": {
          "arguments": "{\"input\": \"123,456\"}",
          "name": "add_numbers"
        },
        "type": "function",
        "index": 0
      }
      
      • name: 工具名称 → "add_numbers"
      • arguments: 工具的参数 → {"input": "123,456"}
      • 这就是模型想让你执行的函数调用。
  • response_metadata.finish_reason='tool_calls'

    • 表示这次生成 不是回答,而是“请求调用工具”。
  • tool_calls

    • 更直观地列出了工具调用:

      [{'name': 'add_numbers', 'args': {'input': '123,456'}, ...}]
      
  • usage_metadata / response_metadata.token_usage

    • 记录了这次请求的 token 用量(输入 162,输出 25)。

工具执行

  • 拿到了 工具调用请求 (tool_calls),接下来就有几种执行方式。
  • 手动执行:最灵活,适合简单场景或需要自己管理工具调用逻辑。
  • LangGraph + ToolNode:推荐 👍,适合生产级、多工具、复杂工作流。
  • AgentExecutor:入门快,写起来简洁,但定制性差。

方法 1:手动执行工具

  • 自己解析 tool_calls,调用对应函数,再把结果交回模型。
from langchain_core.messages import AIMessage, ToolMessage

# 1. 模型返回的工具调用请求
ai_message = result  # 就是你拿到的对象
tool_call = ai_message.tool_calls[0]
tool_name = tool_call["name"]
tool_args = tool_call["args"]

# 2. 执行工具
tool_result = add_numbers.invoke(tool_args)  # -> "579"

# 3. 把工具的结果传回模型
final_result = model_with_tools.invoke([
    ai_message,
    ToolMessage(content=tool_result, tool_call_id=tool_call["id"])
])

print(final_result.content)  # 实际输出:最终答案: 123 加 456 等于 579。

方法 2:用 LangGraph 的 ToolNode

  • LangGraph 专门为这种场景做了封装,你只要把工具交给 ToolNode,它会自动检测 tool_calls → 执行 → 把结果再反馈给模型。
from langgraph.graph import StateGraph, MessagesState, START, END
from langgraph.prebuilt import ToolNode

# 定义工具节点
tools = [add_numbers]
tool_node = ToolNode(tools)

# 定义模型节点
def call_model(state: MessagesState):
    response = model_with_tools.invoke(state["messages"])
    return {"messages": [response]}  # 必须返回 dict

# 定义工作流
workflow = StateGraph(MessagesState)
workflow.add_node("agent", call_model)
workflow.add_node("tools", tool_node)
workflow.add_edge(START, "agent")

# 条件判断:模型是否要调用工具
def should_continue(state: MessagesState):
    last_msg = state["messages"][-1]
    return "tools" if getattr(last_msg, "tool_calls", None) else END

workflow.add_conditional_edges("agent", should_continue, ["tools", END])
workflow.add_edge("tools", "agent")

graph = workflow.compile()

# 执行
result = graph.invoke({"messages": [("user", "帮我计算 123+456")]})
print("最终答案:", result["messages"][-1].content)
# 最终答案: 123 + 456 = 579
  • 旧版本 LangGraph Python里使用MessagesAnnotation:
from langgraph.prebuilt import ToolNode
from langgraph.graph import StateGraph, MessagesAnnotation, START, END

# 1. 定义工具节点
tools = [add_numbers]
tool_node = ToolNode(tools)

# 2. 定义模型节点
def call_model(state: MessagesAnnotation.State):
    return {"messages": [model_with_tools.invoke(state["messages"])]}

# 3. 定义图
workflow = StateGraph(MessagesAnnotation)
workflow.add_node("agent", call_model)
workflow.add_node("tools", tool_node)

# 4. 逻辑:模型调用工具 → 工具执行 → 回到模型
workflow.add_edge(START, "agent")
workflow.add_conditional_edges(
    "agent",
    lambda state: "tools" if state["messages"][-1].tool_calls else END,
    ["tools", END],
)
workflow.add_edge("tools", "agent")

graph = workflow.compile()

# 5. 执行
result = graph.invoke({"messages": [("user", "帮我计算 123+456")]})
print(result["messages"][-1].content)

方法 3:用 AgentExecutor

  • LangChain 有 AgentExecutor,可以自动处理工具调用,尤其是想要 “让模型自由选择工具” 时。开箱即用,逻辑封装好,适合快速跑 demo,但灵活度不如 LangGraph。
  • 支持多个工具也更简单:tools = [add_numbers, subtract_numbers];agent = create_openai_functions_agent(llm, tools)
  • agent 会打印执行轨迹(调用了哪个工具、返回了什么),用于调试。
from langchain.agents import initialize_agent, AgentType

agent = initialize_agent(
    tools=[add_numbers],
    llm=model,
    agent_type=AgentType.OPENAI_FUNCTIONS
)

result = agent.invoke({"input": "帮我计算 123+456"})
print(result["output"])

注意事项

如果没有tool_calls

  • AgentExecutor:直接输出 Final Answer。
  • LangGraph:你要在条件分支里处理这种情况。
  • 手动执行工具:需要自己判断 tool_calls 是否为空。

调用报错

  • 正确的情况
    在这里插入图片描述

  • 错误的情况:

    • 工具参数定义是 input: str,模型就可能输出 "123,456"、'123,456'、甚至 {"input": "'123,456'"}。Agent 里最常见,因为它全自动调用工具,最容易出脏数据。

    • ValueError: invalid literal for int() with base 10: "'123",模型返回的参数带了引号,input.split(“,”) 得到的是 [“'123”, “456’”],转 int报错:
      在这里插入图片描述

修复方法

方法 1:在工具里清理参数
@tool
def add_numbers(input: str) -> str:
    """Add two numbers together. 输入格式: 'a,b'"""
    # 去掉可能的引号和空格
    cleaned = input.strip().replace("'", "").replace('"', "")
    a, b = map(int, cleaned.split(","))
    return str(a + b)
方法 2:直接用 结构化参数
from langchain_core.tools import StructuredTool
from pydantic import BaseModel

class AddInput(BaseModel):
    a: int
    b: int

def add_numbers(a: int, b: int) -> str:
    """Add two numbers together"""
    return str(a + b)

add_tool = StructuredTool.from_function(
    func=add_numbers,
    args_schema=AddInput,
    name="add_numbers",
    description="Add two numbers together"
)

预定义工具

基于LangChain构建本地大模型智能体:从工具调用到Agent实战 大语言模型(LLM)作为决策引擎,能够理解用户意图并生成文本,但其本身无法直接操作外部系统或数据。为解决这一局限,工具调用(Tool Calling)技术应运而生,它通过标准化接口将外部能力(如API、数据库、文件操作)封装成模型可理解的“技能”,使LLM能够结构化地请求并利用这些功能。这项技术的核心价值在于实现了“思考”与“行动”的结合,极大扩展了AI的应用边界,使其从单纯的对话助手升级为能够自主完成复杂任务的智能体(Agent)。在工程实践中,通过框架(如LangChain)协调LLM、工具和决策循环, 阅读详情

相关推荐

LangChain与LangGraph实战:构建具备记忆与工具调用的AI智能体

大语言模型(LLM)的应用开发核心在于如何将其与外部工具、数据和复杂逻辑有效连接,以构建真正实用的智能体。这涉及到对模型进行编排和控制,使其能够执行多步骤任务、处理状态并做出决策。从技术原理上看,这需要一套框架来管理工具调用、状态流转和条件分支。其技术价值在于将LLM从单纯的文本生成器升级为能够感知环境、使用工具并完成复杂工作流的智能代理。典型的应用场景包括个人研究助手、客服机器人、自动化数据分析等。本文聚焦于当前主流的开发框架LangChain和LangGraph,通过一个集成长期记忆、工具调用和知识检索

weixin_30607029的博客 279

1. langchain中的tool使用 (How to create tools)

首先,我们从定义一个简单的乘法工具开始。@tool# 查看工具的属性multiply接下来,我们定义一个异步的乘法工具。@tool我们可以使用注解来更详细地描述工具的参数。@tool) -> int:我们可以使用 Pydantic 库来更严格地定义工具的参数。# 查看工具的属性True我们可以自定义工具类。6Calculator我们可以自定义工具错误信息。",

The cure for boredom is curiosity. This is the log of its adventures. 2831

LangChain与LangGraph实战:Python/TypeScript智能体开发全解析

大语言模型(LLM)应用开发的核心在于如何有效协调AI能力完成复杂任务,其技术原理是通过模块化组件与工作流编排实现智能决策。在工程实践中,开发者需要选择合适的框架来构建可维护、可扩展的Agent系统,这直接关系到项目的开发效率和最终性能。LangChain作为模块化的“组件仓库”,提供了统一的模型接口、提示词管理和工具链,而LangGraph则在此基础上引入了图计算模型,以可视化、可循环的方式编排多步骤的智能体工作流。这种组合为构建生产级AI应用提供了坚实基础,尤其在需要处理复杂逻辑、状态管理和工具调用的场

309

LangChain-Agent自定义Tools类 ——输入参数篇(二)

后期关注结构化输出,方便作为借口提供给其他下游应用。

To be a better man 6076

LangChain Deep Agents中System Prompt四层叠加机制与优先级解析

在构建基于大语言模型的智能体时,System Prompt是定义其角色、任务与行为边界的关键指令。其工作原理涉及从底层模型配置到上层应用逻辑的多层指令传递与组装。理解这一机制的技术价值在于,它能帮助开发者精准控制智能体的行为一致性,避免指令冲突或覆盖,从而构建出稳定、可预测的复杂AI应用。在LangChain、LangGraph等主流Agent开发框架中,System Prompt的组装遵循一套明确的优先级逻辑,涉及LLM默认层、提示词模板层、Agent框架层和运行时状态层。本文以LangChain Dee

weixin_30861797的博客 396

LangChain到LangGraph:从链式编排到图工作流的AI应用开发演进

大语言模型应用开发中,工作流编排是连接模型能力与业务逻辑的关键技术。其核心原理在于将复杂的AI任务分解为可组合、可管理的模块化单元,通过定义清晰的执行路径和数据流来实现自动化处理。这一技术价值在于大幅提升了AI应用的开发效率和可维护性,使得开发者能够快速构建从简单问答到复杂多步决策的各类智能系统。在实际应用场景中,检索增强生成和智能体构建是两大典型领域,前者通过结合外部知识库增强模型回答的准确性和时效性,后者则通过多步骤工具调用和状态管理实现自主任务执行。本文聚焦于LangChain生态的演进,深入探讨了其

weixin_34242819的博客 340

LangChain(四)工具调用的底层原理!给大模型按上双手吧!(新手向)

Langchain 工具调用!@tool装饰器是什么鬼?工具调用原理是个啥??新手向!

千天夜的博客 4550

人工智能基于LangChain的Tool工具调用技术解析:大模型外部功能扩展与标准化集成应用研究

内容概要:本文系统介绍了“Tool”(工具)在大模型应用中的定义、核心价值、使用流程及典型应用场景。Tool作为可被大模型识别和调用的外部函数或服务,通过名称、描述和参数三要素实现标准化接入,能够突破大模型在实时信息获取、精确计算等方面的局限,构建“思考-行动”闭环。文章详细阐述了在LangChain框架下定义工具、绑定模型、触发调用与处理结果的完整流程,并列举研究助理、数据分析和个人助理三大应用场景,展示了Tool如何赋能智能体完成复杂任务。最后提出工具设计的最佳实践,强调命名清晰、描述详尽、粒度适中和参数规范的重要性。; 适合人群:具备一定编程基础,熟悉大模型应用开发,工作1-3年的AI研发人员或系统设计师。; 使用场景及目标:① 掌握如何通过Tool扩展大模型能力,实现如实时数据查询、数学运算、日程管理等功能;② 学习在LangChain中集成外部API和服务的方法,提升智能体的实际问题解决能力;③ 遵循最佳实践设计高可用、易维护的工具接口。; 阅读建议:此资源以实际代码与案例结合的方式讲解Tool机制,建议读者边学习边动手实现文中示例,深入理解工具定义与模型交互的全过程,并尝试将其应用于真实业务场景中进行验证和优化。

【LangChain】langchain_core.tools.tool 装饰器:创建自定义工具

@tool 装饰器位于 langchain_core.tools.convert 模块,用于将 Python 函数或可运行对象转换为 BaseTool 对象,使其与 LangChain 的工具调用机制兼容。它通过分析函数签名和文档字符串,自动生成工具的名称、描述和参数模式,简化工具创建过程。该装饰器特别适合构建基于代理的系统、LangGraph 工作流或自定义链,允许模型调用外部功能并处理输出。

彬彬侠的博客 2112

人工智能入门系列之一: 鸢尾花(Iris)多分类的神经网络详解及代码实现

这是最好的时代,我们一起来打造属于自动驾驶汽车上路、无人机飞天、智能机器人管工厂的AI未来 人工智能领域分化为两个阵营:其一是规则式(rule-based)方法,在人工智能早期占主峰;其二是神经网络(neural network)方法,后起之秀。随着硬件水平的提高,算力的指数式增长;人工智能的重心已经从规则式的专家时代转移到神经网络的数据时代。 “神经网络”不选择把人脑熟稔的逻辑规则传授给计算机...

NLP家的码奴小荷的博客 2万+

openEuler 20.03 LTS面向RK3399移植系列(3)—openEuler 20.03 LTS面向Firefly RK3399的第一个版本(Linux kernel 4.4)

任务动机:完成openEuler面向RK3399开发板的移植。 任务描述:按照固件烧写准备,固件获取,固件打包和烧写的步骤实现openEuler面向RK3399开发板的移植,整理过程和相关命令记录到文档。 1. 制作openEuler的rootfs.img 1.1 开发环境 树莓派--openEuler系统 openEuler 20.03 LTS 的内测版本镜像,下载。 1.2 具体操作 1.2.1 ssh远程连接树莓派 确定树莓派IP ssh连接 1.2.2 制作rootfs.img

火种源码的机器人技术专栏 2369

【大模型】-LangChain自定义工具调用

本文介绍了在LangChain中创建自定义工具的三种方法:1)使用@tool装饰器快速定义工具;2)通过StructuredTool.from_function提供更多配置选项;3)继承BaseTool实现最大灵活性。重点演示了前两种方法,包括同步/异步实现、参数自定义和错误处理。示例代码展示了如何创建天气查询、景点搜索等工具,并详细说明了工具名称、描述和参数模式的配置方式。最后介绍了使用ToolException处理工具错误的策略,包括设置错误处理程序的方法。这些技术可以帮助开发者更高效地构建LangCh

JH灰色的博客 1145

深入解析DDR5 RFM机制:从JESD79-5标准到硬件实现

本文深入解析了DDR5内存标准中的关键机制——RFM(Refresh Management)。文章从JESD79-5标准出发,详细阐述了RFM如何通过RAA计数器实现从被动定时到主动响应的智能刷新管理,并探讨了其硬件实现细节、命令调度挑战及系统级设计考量,为芯片设计工程师优化DDR5内存子系统性能与可靠性提供了实践指导。

fff88的博客 491

【LangChain】使用聊天模型调用工具

在 LangChain 中,使用聊天模型调用工具是一种强大的机制,允许语言模型(LLM)通过动态选择和执行外部工具来完成复杂任务。工具调用(Tool Calling)结合了聊天模型的自然语言理解能力和外部工具(如搜索、计算、API 调用等)的功能,使模型能够处理需要外部数据或特定操作的任务。实现方式:bind_tools:直接绑定工具。AgentExecutor:自动管理工具调用。StructuredTool:定义结构化工具。LangGraph:自定义工作流

彬彬侠的博客 1704

Linux【实战】—— LAMP环境搭建 & 部署网站

由LinuxApacheMySQLPHP组成的一个web网络平台。

2201_75935630的博客 4980

4.7W防削顶单声道D类音频功率放大器HT6872介绍

HT6872是一款低EMI,防削顶失真,单声道免滤波D类音频功率放大器。在6.5V电源,10%THD+N,4Ω负载条件下,输出4.71W功率,在各类音频终端应用中维持高效率并提供AB类放大器的性能。

weichen_78的博客 4699

LangChain与LangGraph:LLM应用开发框架与工作流库的核心区别与选型指南

在构建大语言模型应用时,理解框架与库的核心差异至关重要。LangChain作为一个开源框架,提供了模型I/O、数据连接、文本处理等标准化组件,通过链式结构简化了检索增强生成等确定性任务的开发流程。其核心价值在于将LLM与外部工具高效集成,实现如问答、总结等常见应用模式。而LangGraph作为其生态中的库,专注于有状态、多步骤工作流的编排,通过图与状态抽象支持循环、分支等复杂控制流,特别适合构建需要动态决策的自主代理系统。两者结合,能高效应对从简单流水线到多智能体协作的各类工程实践场景,帮助开发者根据任务复

weixin_30781433的博客 544

元学习与Transformer的结合:Meta-Transformer架构解析

我们生活在一个信息爆炸的时代,每天都会产生海量的数据。在深度学习领域,如何让模型更高效地学习、更快地适应新的任务,一直是科学家们努力的方向。元学习和Transformer都是深度学习中的重要概念,它们各自有着独特的优势。本文的目的就是深入剖析将元学习和Transformer结合起来的Meta - Transformer架构,探讨它的原理、应用以及未来发展。我们会从基础概念讲起,逐步深入到架构的各个方面,让大家对Meta - Transformer有一个全面的了解。

AI智能探索者的博客 1052

从零构建AI编程智能体:基于LangChain的任务分解与工具调用实践

在人工智能与软件开发深度融合的背景下,大语言模型(LLM)正从单纯的代码补全工具演变为能够自主执行复杂任务的智能体。其核心原理在于将自然语言指令转化为可执行的操作序列,这依赖于任务分解与工具调用两大关键技术。通过任务分解,智能体能够将模糊需求拆解为具体步骤;借助工具调用,则可连接代码执行、文件读写等实际能力。这种架构的技术价值在于显著提升开发效率,将开发者从重复性劳动中解放,使其更专注于架构设计与核心逻辑。典型的应用场景包括自动化项目脚手架生成、代码重构辅助、以及持续集成流程的智能编排等。本文将以LangC

weixin_34212762的博客 393

【FreeSwitch开发实践】外呼网关配置(拨打电话)

FreeSwitch开发一个重要应用是外呼,所谓外呼就拨打真实电话或手机号呼叫,配合语音机器人可以实现智能客服的功能。外呼配置主要是配置外呼服务器,外呼服务器主要指SIP网关,每个外呼服务器就是一个SIP节点,FreeSwitch服务也可以是一个SIP节点。本文主要介绍了FreeSwitch外呼相关配置,主要有外呼配置的模式,包括注册模式和非注册模式网关加载的查看方法拨号中常见的呼出配置和呼入配置如果觉得有些帮助或觉得文章还不错,请关注一下博主,你的关注是我持续写作的动力。............

xiao2macf的专栏 1万+

科研问答:医药类本科生(临床、中医、中药与护理)本科阶段是否需要开展科研学习?

医药类本科生(临床、中医、中药与护理)本科阶段是否需要开展科研学习?

MD Code 1508

LangChain Agent四大核心抽象:LLM、Tool、Chain、Memory详解

Agent是大模型落地的关键范式,其本质是一套可组合、可调试、可追踪的运行时系统。理解Agent需从基础抽象入手:LLM抽象解决多模型切换与可观测性问题;Tool抽象支撑ReAct范式,实现‘思考-行动’闭环;Chain抽象将业务逻辑封装为可测试、可监控的工作流单元;Memory抽象则决定状态持久化粒度与范围。这些设计直击Agent开发中的熵增痛点——模型不稳、工具不可控、流程难调试、上下文易丢失。结合langchain agent实战和langchain架构两大热词,本文以Python环境配置助手为案例,

weixin_34356555的博客 395

NTscan扫描工具

ntscan是一个扫描器,可以扫描没有密码和弱密码的共享,先到配置文件中填写猜测的用户名和密码,扫描过程中右侧出现的是扫描日志。

AI Agent开发实战:LangChain与LangGraph框架全解析

AI Agent作为连接大语言模型与现实应用的关键技术,通过工具调用、任务规划与状态管理,实现了从被动问答到主动执行的跨越。其核心原理在于将LLM的推理能力与外部工具、数据源相结合,形成可自主完成复杂任务的智能系统。这一架构在自动化流程、智能客服、数据分析等场景展现出巨大价值。本文聚焦于当前主流的LangChain与LangGraph框架,通过实战代码演示如何构建具备工具调用、工作流编排和对话记忆能力的智能体。教程涵盖从环境搭建、核心组件使用到API封装的全流程,为开发者提供了一套完整的工程实践方案。

weixin_34026276的博客 356

efm32 入门.pdf

本PDF共计22页,介绍的是操作驱动API,下载与否自己斟酌。

假人有限元模型

假人模型,车辆碰撞假人有限元模型,适合做乘员安全的研究者利用

从LangChain到LangGraph:构建可调试AI智能体的渐进式工程指南

如果你正在尝试用大语言模型(LLM)构建一个能自主决策、调用工具、完成复杂任务的“智能体”,却发现自己被困在无尽的代码胶水、状态管理和循环逻辑里——那么,你遇到的核心问题,很可能不是模型不够聪明,而是缺少一个真正为“智能体”设计的工程框架。 过去几个月,从 LangChain 到 LangGraph,再到各大云厂商推出的智能体平台,工具生态的爆发式增长,反而让开发者更困惑:我到底该选哪个?它们之间是什么关系?为什么我照着教程搭出来的 Agent,总是笨拙、低效且难以调试? 本文将为你彻底厘清这条技术栈: 从

373

复分析 阿尔福斯(Ahlfors) 第三版答案 英文

答案分为十章,有部分习题没有答案,全英文复分析阿尔福斯(Ahlfors) 第三版答案

LangChain Deep Agents 架构解析:从函数调用到AI操作系统内核的组装逻辑

在AI应用开发领域,智能体(Agent)已成为连接大语言模型(LLM)与真实世界任务的关键技术架构。其核心原理在于通过规划、决策与工具调用的闭环,赋予模型执行复杂多步任务的能力。这种架构的技术价值在于将LLM的认知能力与外部工具的功能性相结合,实现了从“对话”到“行动”的跨越,极大地扩展了AI的应用边界。典型的应用场景包括自动化工作流、数据分析助手、智能客服系统等。本文聚焦于LangChain框架中的Deep Agents实现,特别是其核心组装函数 `create_deep_agent`。该函数并非简单的A

weixin_30753873的博客 381

深入解析LangChain Deep Agents组装逻辑:从组件到AI操作系统的构建

在AI智能体开发领域,理解核心组件的组装逻辑是实现高效定制和优化的关键。智能体框架通过将大模型、工具集、记忆系统和执行引擎等模块进行标准化集成,构建出能够自主感知、决策和行动的智能单元。其技术价值在于将复杂的多步骤任务自动化,通过状态管理和工作流调度,实现可靠的“思考-行动”循环。这种组装模式广泛应用于自动化客服、数据分析、智能工作流等场景,其中LangChain的Deep Agents框架通过create_deep_agent函数,将工具调用、提示词工程和记忆管理等复杂流程封装为可配置的流水线,显著提升了

weixin_34210740的博客 408
上一篇: nodejs43 (UI相关) : TradingView专业金融图表库 + react useEffect 动态加载与使用TradingView.widget的demo
下一篇: 【LLM LangChain】AgentExecutor 创建带工具的Agent+加入BufferMemory+支持多用户记忆 demos
FakeOccupational
博客等级 码龄6年 2万+粉丝 1727原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值