【干货收藏】智能体框架入门指南:LangGraph从零到精通

深入浅出LangGraph AI Agent智能体开发教程(一)—全面认识LangGraph 本期分享从LangGraph与LangChain的对比出发,介绍了LangGraph的三层核心架构、完整生态工具,带大家全面认识最火热最全面的智能体开发框架LangGraph。 阅读详情

本文介绍了智能体框架的概念、重要性及常用框架,重点讲解了LangGraph的架构、状态管理及实际应用。通过示例展示了如何使用LangGraph构建具有记忆功能、人机交互能力的智能体系统,以及在客户服务、研究助手等场景的应用。文章强调了智能体框架在推动AI自主性、结构化和交互性发展方面的重要作用。

一、引言

智能体框架通过赋予自主系统感知、推理和动态行动的能力,彻底革新了人工智能。本节将探讨智能体框架的核心概念,并重点阐述开源解决方案对于现代人工智能开发的创新和可扩展性至关重要的原因。

1.1 什么是智能体框架?

智能体框架代表了人工智能系统设计方式的范式转变。与依赖静态、预定义工作流程的传统人工智能应用不同,智能体框架引入了动态、自适应的系统,这些系统能够自主感知、推理和行动。这些框架可以将复杂的任务分解成更小的子任务,由专门的智能体来处理,这些智能体协同工作以实现更广泛的目标。 通过利用大型语言模型 (LLM),代理框架可以管理工作流程、做出决策并无缝集成工具,使其成为动态决策和实时问题解决等高级应用的理想选择。

1.2 它们为什么重要?

从零开始构建智能体绝非易事。像 LangGraph、CrewAI 和 OpenAI Swarm 这样的框架简化了这一过程,使开发人员能够专注于应用程序逻辑,而无需为状态管理、编排和工具集成重复造轮子。

二、常用的代理框架和库

现在,让我们深入了解一下目前最主要的 AI 代理框架和工具:

2.1 Langchain

LangChain 是一个强大且适应性强的框架,能够简化大型语言模型 (LLM) 应用的开发。凭借其丰富的工具集和抽象层,开发者可以设计出功能强大的 AI 代理,这些代理能够进行复杂的推理、任务执行,并与外部数据源和 API 进行交互。

Github 链接: https://github.com/langchain-ai/langchain/tree/master/libs/langchain/langchain/agents

文档链接: https://python.langchain.com/docs/introduction/

2.2 LangGraph

LangGraph 是 LangChain 的一个扩展,它支持使用大型语言模型 (LLM) 创建有状态的多参与者应用程序。它尤其适用于构建规划、反思、自反和多智能体协调的复杂交互式人工智能系统。

GitHub 链接: https://github.com/langchain-ai/langgraph

文档链接: https://langchain-ai.github.io/langgraph/

2.3 CrewAI

CrewAI 是一个用于编排角色扮演型AI agents的框架。它允许开发者创建一支由AI agents组成的“团队”,每个agents都拥有特定的角色和职责,共同协作完成复杂任务。该框架尤其适用于构建能够解决需要多元专业知识和协同努力的多方面问题的协作型人工智能系统。

GitHub 链接: https://github.com/crewAIInc/crewAI

文档链接: https://docs.crewai.com/

2.4 Microsoft Semantic Kernel

Microsoft Semantic Kernel旨在弥合传统软件开发与人工智能能力之间的鸿沟。它尤其专注于将大型语言模型(LLM)集成到现有应用程序中。该框架为开发人员提供了一系列工具,使他们无需彻底改造现有代码库即可集成人工智能功能。

该 SDK 轻量级且支持多种编程语言,使其能够高度适应各种开发环境。其编排器能够管理复杂的多步骤 AI 任务,使开发人员能够在应用程序中创建复杂的 AI 驱动工作流程。

GitHub 链接: https://github.com/microsoft/semantic-kernel

文档链接: https://learn.microsoft.com/en-us/semantic-kernel/

2.5 Microsoft AutoGen

Microsoft AutoGen 是一个开源框架,旨在构建高级 AI 代理和多代理系统。AutoGen 由微软研究院开发,提供了一套灵活而强大的工具包,用于创建对话式和任务完成型 AI 应用。它强调模块化、可扩展性和易用性,使开发人员能够高效地构建复杂的 AI 系统。

文档链接: https://microsoft.github.io/autogen/stable/user-guide/agentchat-user-guide/

GitHub 链接: https://github.com/microsoft/autogen

2.6 Smolagents

Smolagents 是一个前沿的开源框架,旨在革新人工智能代理的开发方式。它为开发者提供了一套全面的工具包,用于构建智能的、协作式的多代理系统。该框架注重灵活性和模块化,能够创建既可独立运行也可在人类监督下协作运行的复杂人工智能系统。

文档: https://huggingface.co/docs/smolagents/en/index

GitHub 链接: https://github.com/huggingface/smolagents

2.7 AutoGPT

AutoGPT 基于强大的 GPT-4 语言模型,能够通过语言输入执行目标导向型任务,代表了自主AI agents领域的一项重大进步。这款顶尖人工智能助手将决策能力提升到了一个全新的高度,超越了基本的反射型代理,并集成了诸多复杂功能,使其成为各种应用场景中不可或缺的工具。

文档: https://huggingface.co/docs/smolagents/en/index

GitHub 链接: https://github.com/huggingface/smolagents

2.8 Agno (Phidata)

我们将讨论的最后一个 AI 代理框架是 Phidata 。它是一个多模态代理框架,可以开发协同工作的代理系统。它还被设计成可以与内存和工具等组件配合使用,以帮助它们自主且稳定地运行。

默认情况下,Phidata 代理支持多模态数据,例如文本、图像和音频数据,无需依赖外部工具即可发挥其价值。该框架还提供 Agentic UI,方便用户与代理进行可视化交互。此外,他们还率先推出了 Agentic RAG(红黄绿蓝绿)功能,使代理能够搜索知识库。

文档: https://docs.phidata.com/introduction

GitHub 链接: https://github.com/agno-agi/phidata

三、智能体框架比较

下表对本文讨论的主要人工智能代理框架进行了概览式比较,旨在突出每个框架的独特优势和重点领域,帮助开发人员和研究人员根据自身需求选择最合适的工具。

四、深入了解 LangGraph

LangGraph 是由 LangChain 团队构建的一个库,旨在帮助开发者创建基于图的单智能体或多智能体 AI 应用。作为一个底层框架,LangGraph 允许您控制智能体之间的交互方式、使用的工具以及信息在应用内的流动方式。

4.1 什么是Graph?

想象一下,你有一堆数据,这些数据可以表示成一个网络,其中每个数据或实体都与其他数据或实体存在关联,这种关联可以是多种类型(一对一、一对多、多对多等等)。图中有两个主要组成部分:节点和边。

这类数据的例子包括交通运输数据或社交媒体网络,其中每个实体或用户都与其他实体或用户存在关联,而图则可以轻松地将这类数据可视化。

图分为两种类型:

  • 有向图 ——在有向图中,边具有方向,表示节点之间的流动或关系(例如,在社交媒体上关注)。
  • 无向图 ——在无向图中,边没有方向,表示对称关系(例如,LinkedIn 上的联系)。

4.2 关键概念
4.2.1 图结构

LangGraph 设计的核心在于以图的形式展现应用程序的工作流程。该图包含两个主要元素:

  • Nodes ——工作的构建模块:LangGraph 中的每个节点代表应用程序中一个独立的工作单元或操作。这些节点本质上是封装特定任务的 Python 函数。该任务可能涉及多种操作,例如:
  • 与LLM直接沟通,进行文本生成、摘要或其他语言相关任务。
  • 与外部工具和 API 交互,以获取数据或在现实世界中执行操作。
  • 通过格式化、过滤或转换等过程来处理数据。
  • 与用户互动以收集意见或展示信息。
  • Edges——引导信息和控制流:边在 LangGraph 中扮演着连接组织的角色,建立信息流路径并决定操作顺序。LangGraph 支持多种边类型:
  • 简单边 :表示从一个节点到另一个节点的直接且无条件的流。第一个节点的输出作为后续节点的输入,形成线性级联。
  • 条件边 :条件边引入了动态机制,使工作流能够根据特定节点的操作结果进行分支。例如,根据用户的响应,图可以决定终止交互或继续调用某个工具。这种决策能力对于创建能够适应不同情况的应用程序至关重要。

4.2.2 State管理

管理多智能体系统的一个关键方面是确保所有智能体对任务的当前状态达成共识。LangGraph 通过自动状态管理解决了这个问题。这意味着该库会自动跟踪和更新中央状态对象,并在智能体执行任务时自动完成。

此state对象充当关键信息的存储库,这些信息需要在工作流程的不同阶段访问。这些信息可能包括:

  • 对话历史 :在聊天机器人应用程序中,状态可以存储用户和机器人之间正在进行的对话,从而实现上下文感知响应。
  • 上下文数据 :与当前任务相关的信息,例如用户偏好、过去的行为或相关的外部数据,可以存储在状态中,供代理在决策时使用。
  • 内部变量 :智能体可以使用状态来跟踪内部标志、计数器或其他变量,这些变量指导其行为和决策。

五、LangGraph 实战

5.1 安装

要开始使用 LangGraph,您需要先安装它,打开终端或命令提示符并运行以下命令:

pip install -U langgraph

-U 标志可确保您获得的是最新版本。

5.2 使用 LangGraph 创建基本聊天机器人

这个例子是理解 LangGraph 基本概念的一个很好的起点。

1)导入必要的库 :首先从 LangGraph 和其他相关库导入所需的类和模块。

from typing import Annotated
from typing_extensions import TypedDict
from langgraph.graph import StateGraph, START, END
from langgraph.graph.message import add_messages

2)定义状态结构:创建一个类来定义状态对象的结构,该对象将保存需要在图中的节点之间共享和更新的信息。

class State(TypedDict):
# 'messages' will store the chatbot conversation history.
# The 'add_messages' function ensures new messages are appended to the list.
messages: Annotated[list, add_messages]
# Create an instance of the StateGraph, passing in the State class
graph_builder = StateGraph(State)

3)初始化 LLM :实例化 LLM 模型,并提供必要的 API 密钥或配置参数。此 LLM 将用于生成聊天机器人的响应。

#pip install -U langchain_anthropic
from langchain_anthropic import ChatAnthropic
llm = ChatAnthropic(model="claude-3-5-sonnet-20240620")

4)创建聊天机器人节点 :定义一个封装聊天机器人节点逻辑的 Python 函数。该函数将当前状态作为输入,并根据 LLM 的输出生成响应。

def chatbot(state: State):
# Use the LLM to generate a response based on the current conversation history.
response = llm.invoke(state["messages"])
# Return the updated state with the new message appended
return {"messages": [response]}
# Add the 'chatbot' node to the graph,
graph_builder.add_node("chatbot", chatbot)

5)定义入口点和终点点 :指定工作流在图中的起点和终点。

# For this basic chatbot, the 'chatbot' node is both the entry and finish point
graph_builder.add_edge(START, "chatbot")
graph_builder.add_edge("chatbot", END)

6)编译图 :通过编译图来创建图的可运行实例。

graph = graph_builder.compile()

7)可视化图:通过运行简单的 Python 代码,您可以可视化具有节点和边的图。

from IPython.display import Image, display
try:
display(Image(graph.get_graph().draw_mermaid_png()))
except Exception:
# This requires some extra dependencies and is optional
pass

8)运行聊天机器人 :实现一个循环来与用户交互,将用户的输入传递给图表并显示聊天机器人的响应。

while True:
user_input = input("User: ")
if user_input.lower() in ["quit", "exit", "q"]:
print("Goodbye!")
break
# Process user input through the LangGraph
for event in graph.stream({"messages": [("user", user_input)]}):
for value in event.values():
print("Assistant:", value["messages"][-1].content)

这段代码片段提供了一个 LangGraph 聊天机器人的基本结构。您可以在此基础上进行扩展,例如集成更复杂的状态管理和不同的 LLM 模型,或者连接外部工具和 API。关键在于为不同的任务定义清晰的节点,并使用边来建立聊天机器人内部所需的信息流和控制流。

5.3 LangGraph高级技术

工具集成: 将工具集成到 LangGraph 聊天机器人中,可以使其以您喜欢的方式访问和处理信息,从而显著增强其功能。

通过工具集成增强我们的基础聊天机器人

让我们修改上一节创建的基本聊天机器人,使其包含一个可以搜索网络信息的工具。我们将使用来自 langchain_community.tools.tavily_search 的 TavilySearchResults 工具。本示例需要 Tavily API 密钥 。

#pip install -U tavily-python langchain_community
from typing import Annotated
from langchain_anthropic import ChatAnthropic
from langchain_community.tools.tavily_search import TavilySearchResults
from langchain_core.messages import BaseMessage
from typing_extensions import TypedDict
from langgraph.graph import StateGraph
from langgraph.graph.message import add_messages
from langgraph.prebuilt import ToolNode, tools_condition
class State(TypedDict):
messages: Annotated[list, add_messages]
graph_builder = StateGraph(State)
tool = TavilySearchResults(max_results=2)
tools = [tool]
llm = ChatAnthropic(model="claude-3-5-sonnet-20240620")
llm_with_tools = llm.bind_tools(tools)
def chatbot(state: State):
return {"messages": [llm_with_tools.invoke(state["messages"])]}
graph_builder.add_node("chatbot", chatbot)
tool_node = ToolNode(tools=[tool])
graph_builder.add_node("tools", tool_node)
graph_builder.add_conditional_edges(
"chatbot",
tools_condition,
)
# Any time a tool is called, we return to the chatbot to decide the next step
graph_builder.add_edge("tools", "chatbot")
graph_builder.set_entry_point("chatbot")
graph = graph_builder.compile()

代码解释:

  1. 导入工具:导入必要的工具类,在本例中 TavilySearchResults 。

  2. 定义并绑定工具:创建工具实例并使用 llm.bind_tools() 将其绑定到 LLM,这会将可用工具及其使用情况告知 LLM。

  3. 创建 ToolNode:实例化 ToolNode ,传入可用工具列表。

  4. 将 ToolNode 添加到图中:使用 graph_builder.add_node() 将 ToolNode 合并到 LangGraph 中。

  5. 条件路由:使用 graph_builder.add_conditional_edges() 根据 LLM 是否决定调用工具来设置路由逻辑。tools_condition 检查 LLM 的响应是否包含工具调用指令。

  6. 回环:执行该工具后,使用 graph_builder.add_edge() 将流程重定向回 chatbot 节点,从而允许对话继续进行。

    现在,当运行聊天机器人并提出需要外部信息的问题时,LLM 可以选择调用网络搜索工具,检索相关数据,并将其纳入其回复中。

六、为聊天机器人添加记忆

记忆力对于创建能够通过记住过去的互动来进行有意义对话的聊天机器人至关重要。

LangGraph 的Checkpointer系统

  1. Checkpointer :编译 LangGraph 时,您可以提供一个 checkpointer 对象,该对象负责保存图在不同时间点的状态。
  2. Thread ID :每次调用图时,都需要提供一个 thread_id ,checkpointer 使用此 ID 来跟踪不同的对话线程。
  3. 自动保存和加载 :LangGraph 会在给定 thread_id 的图执行完每一步后自动保存状态。当您使用相同的 thread_id 再次调用该图时,它会自动加载已保存的状态,使聊天机器人能够从上次中断的地方继续对话。

使用检查点实现内存

在前文代码的基础上,以下是如何使用 LangGraph 的检查点机制来添加记忆:

# ... (Previous code to define State, graph_builder, nodes, and edges)
from langgraph.checkpoint.memory import MemorySaver
# Create a MemorySaver object to act as the checkpointer
memory = MemorySaver()
# Compile the graph, passing in the 'memory' object as the checkpointer
graph = graph_builder.compile(checkpointer=memory)
# ... (Rest of the code to run the chatbot)

代码解释:

  1. 导入 MemorySaver :从 langgraph.checkpoint.memory 导入 MemorySaver 类。
  2. 创建一个 MemorySaver 对象:实例化一个 MemorySaver 对象,该对象将处理图表状态的保存和加载。
  3. 传递给 compile() :编译图形时,将 memory 对象作为 checkpointer 参数传递。

现在,运行聊天机器人时,首先使用 thread_id 作为本次对话的键:

config = {"configurable": {"thread_id": "1"}}

每个唯一的 thread_id 都会存储其对话历史记录。

现在开始对话:

while True:
user_input = input("User: ")
if user_input.lower() in ["quit", "exit", "q"]:
print("Goodbye!")
break
# Process user input through the LangGraph
for event in graph.stream({"messages": [("user", user_input)]}, config):
for value in event.values():
print("Assistant:", value["messages"][-1].content)

注意:在调用我们的图时,配置信息作为第二个位置参数提供。

七、人机交互

在人工智能应用中,如果需要加入人工监督、验证或决策,那么人机协作工作流程至关重要。

利用中断实现人机交互

以下代码演示如何使用 LangGraph 的 interrupt_before 或 interrupt_after 功能实现人机交互。以下是详细解析:

from typing import Annotated
from langchain_anthropic import ChatAnthropic
from langchain_community.tools.tavily_search import TavilySearchResults
from langchain_core.messages import BaseMessage
from typing_extensions import TypedDict
from langgraph.checkpoint.memory import MemorySaver
from langgraph.graph import StateGraph
from langgraph.graph.message import add_messages
from langgraph.prebuilt import ToolNode, tools_condition
class State(TypedDict):
messages: Annotated[list, add_messages]
graph_builder = StateGraph(State)
tool = TavilySearchResults(max_results=2)
tools = [tool]
llm = ChatAnthropic(model="claude-3-5-sonnet-20240620")
llm_with_tools = llm.bind_tools(tools)
def chatbot(state: State):
return {"messages": [llm_with_tools.invoke(state["messages"])]}
graph_builder.add_node("chatbot", chatbot)
tool_node = ToolNode(tools=[tool])
graph_builder.add_node("tools", tool_node)
graph_builder.add_conditional_edges(
"chatbot",
tools_condition,
)
graph_builder.add_edge("tools", "chatbot")
graph_builder.set_entry_point("chatbot")
memory = MemorySaver()
graph = graph_builder.compile(
checkpointer=memory,
# This is new!
interrupt_before=["tools"],
# Note: can also interrupt __after__ actions, if desired.
# interrupt_after=["tools"]
)

代码解释:

在这个例子中,程序会在执行 tools 节点之前暂停。该 tools 节点负责运行 LLM 在其回合中可能请求的任何工具。通过在此处中断,可以允许用户执行以下操作:

  • 批准工具调用: 人工审核 LLM 想要调用的工具及其输入。如果审核员认为合适,只需允许图继续运行,工具即可执行。
  • 修改工具调用: 如果用户认为需要调整 LLM 的工具调用(例如,细化搜索查询),他们可以修改图的状态,然后恢复执行。
  • 绕过工具调用: 用户可能认为该工具并非必要。或许他们已经掌握了 LLM 试图查找的答案。在这种情况下,他们可以直接用相关信息更新图状态,LLM 会像工具返回了该信息一样接收到更新后的数据。

八、LangGraph 的实际应用

LangGraph 允许您构建比简单的问答机器人更复杂、更具交互性的 AI 系统,它能够管理状态、协调多个代理并允许人类反馈。以下是 LangGraph 的一些应用方式:

  • 更智能的客户服务 :想象一下,一款用于在线购物的聊天机器人可以记住您过去的订单和偏好。它可以回答有关产品的问题,跟踪您的发货情况,甚至在需要时将您转接给人工客服。

  • AI 研究助手 :需要研究项目方面的帮助吗?基于 LangGraph 的助手可以搜索大量的学术论文和文章,总结关键发现,甚至可以帮助您整理笔记。

  • 个性化学习 :LangGraph 有望为下一代教育平台提供强大支持。试想一下,如果系统能够适应你的学习风格,识别你需要额外帮助的领域,并推荐个性化的学习资源,那该有多好。

  • 精简业务流程 :许多业务流程涉及多个步骤和人员。LangGraph 可以自动化这些工作流程中的部分环节,例如文档审批路由、数据分析或项目管理。

    这些例子突显了 LangGraph 如何帮助弥合人工智能能力与现实世界复杂性之间的差距。

九、结论

智能体框架正在革新人工智能系统的运行方式,使智能体能够进行推理、规划和动态交互。在本博客中,我们探讨了智能体框架的重要性,调研了一些最流行的库,并比较了它们的优势。随后,我们深入研究了 LangGraph ,了解了其基于图的架构、状态管理以及实际应用。实践部分演示了如何使用 LangGraph 构建具有记忆功能、人机交互能力和可扩展工作流的人工智能智能体。

随着人工智能的不断发展,LangGraph、LangChain、CrewAI 等智能体框架将在塑造下一代智能应用方面发挥关键作用。无论是开发聊天机器人、自动化工具还是研究型智能体,这些框架都能提供构建模块,帮助您打造更具适应性和高效性的人工智能系统。

人工智能的未来在于自主性、结构化和交互性 ——而智能体框架正引领着这一发展方向。现在正是开始尝试、构建和创新这些框架的最佳时机。

限时免费!优快云 大模型学习大礼包开放领取!

从入门到进阶,助你快速掌握核心技能!

资料目录

  1. AI大模型学习路线图
  2. 配套视频教程
  3. 大模型学习书籍
  4. AI大模型最新行业报告
  5. 大模型项目实战
  6. 面试题合集

👇👇扫码免费领取全部内容👇👇

在这里插入图片描述

📚 资源包核心内容一览:

1、 AI大模型学习路线图

  1. 成长路线图 & 学习规划: 科学系统的新手入门指南,避免走弯路,明确学习方向。

img

2、配套视频教程

  1. 根据学习路线配套的视频教程:涵盖核心知识板块,告别晦涩文字,快速理解重点难点。

在这里插入图片描述

课程精彩瞬间

在这里插入图片描述

3、大模型学习书籍

在这里插入图片描述

4、 AI大模型最新行业报告

2025最新行业报告,针对不同行业的现状、趋势、问题、机会等进行系统地调研和评估,以了解哪些行业更适合引入大模型的技术和应用,以及在哪些方面可以发挥大模型的优势。

img

5、大模型项目实战&配套源码

学以致用,在项目实战中检验和巩固你所学到的知识,同时为你找工作就业和职业发展打下坚实的基础。

img

6、大模型大厂面试真题

整理了百度、阿里、字节等企业近三年的AI大模型岗位面试题,涵盖基础理论、技术实操、项目经验等维度,每道题都配有详细解析和答题思路,帮你针对性提升面试竞争力。

img

这份完整版的大模型 AI 学习资料已经上传优快云,朋友们如果需要可以微信扫描下方优快云官方认证二维码免费领取【保证100%免费】

在这里插入图片描述

【AI Agent系列】【LangGraph】0. 快速上手:协同LangChain,LangGraph帮你用图结构轻松构建多智能体应用 LangGraph 是在 LangChain 的基础上实现的一个多智能体的运行框架。它扩展了LangChain表达式语言,能够以循环的方式在多个计算步骤中协调多个链(或参与者)。 阅读详情

相关推荐

Qt Tab Widget 实战:如何打造一个可动态增删的标签页管理器(附完整代码)

本文深入探讨了使用Qt框架中的Tab Widget控件构建动态标签页管理器的实战方法。通过分析动态增删的核心挑战,提供了完整的C++代码示例,涵盖信号槽机制、页面生命周期管理、上下文菜单实现以及状态持久化等关键功能,帮助开发者打造高效、用户友好的桌面应用界面。

bb456的博客 1043

只需8步,手把手教你用LangGraph创建AI智能体

LangGraph是LangChain的高级库,为大型语言模型(LLM)带来循环计算能力。它超越了LangChain的线性工作流,通过循环支持复杂的任务处理。状态:维护计算过程中的上下文,实现基于累积数据的动态决策。节点:代表计算步骤,执行特定任务,可定制以适应不同工作流。边:连接节点,定义计算流程,支持条件逻辑,实现复杂工作流。LangGraph简化了AI开发,自动管理状态,保持上下文,使AI能智能响应变化。它让开发者专注于创新,而非技术细节,同时确保应用程序的高性能和可靠性。

2401_85375186的博客 2771

ROS开发者的福音:用Anaconda虚拟环境解决Python包冲突(附完整配置流程)

本文为ROS开发者提供了使用Anaconda虚拟环境解决Python包冲突的完整方案。通过分析冲突根源,详细介绍了Miniconda安装、专用环境创建以及核心桥梁包的配置流程,并阐述了“混合环境运行”与“纯虚拟环境构建”两种实战工作流,帮助开发者实现ROS核心与特定Python库的和谐共存,从而提升开发效率和项目可维护性。

weixin_28835789的博客 338

LangGraph 入门:从 Chain 到 Graph 的思想转变

本文介绍了LangGraph作为LangChain生态的新成员,如何实现从DAG(有向无环图)到State Graph(状态图)的范式转变。LangGraph通过引入State(状态)、Node(节点)和Edge(边)三大核心概念,支持循环、自我修正和记忆能力,适用于Agent、多步复杂任务等场景。与LangChain相比,LangGraph更适合需要循环、多Agent协作、人机协同和非确定性路径的应用。文章还提供了实战代码示例,展示了如何构建具备自我修正能力的Agent工作流。

IT幻彩世界之炫酷 992

Jasypt 开源加密库使用教程

Jasypt 加密框架概述 1、Jasypt Spring Boot 为 spring boot 应用程序中的属性源提供加密支持,出于安全考虑,Spring boot 配置文件中的敏感信息通常需要对它进行加密/脱敏处理,尽量不使用明文,要实现这一点,办法有很多,自己手动对敏感信息进行加解密也是可以的。 2、有需求就有人奉献,Jasypt 开源安全框架就是专门用于处理 Spring boot 属性加密的,在配置文件中直接配置密文,然后应用启动的时候,Jasypt 会自动将密码解密成明文供程序使用。 3、

蚩尤后裔-汪茂雄 3万+

在Proteus中用80C51模拟4线SPI点亮OLED屏幕

在Proteus里用80C51模拟4线SPI控制OLED屏幕使其显示图案(汇编实现)。

Connor3093的博客 5003

使用LangGraph从零构建多智能体AI系统:实现智能协作的完整指南

本文将通过构建AI研究助手的完整案例,展示如何使用LangGraph框架实现这种架构转变,从理论基础到具体实现,帮助你掌握下一代AI系统的构建方法。

deephub 1740

3大绝招!MySQL如何轻松搞定文本、图像和视频的多模态数据分析?

首先,让我们来了解一下“多模态”到底是什么意思。简单来说,多模态指的是能够同时处理不同类型数据(如文本、图像、音频等)的能力。传统的数据库往往只能专注于一种或几种特定类型的数据,比如关系型数据库主要处理结构化数据,而文档型数据库则更适合非结构化数据。但是现在,随着技术的进步,像MySQL这样的数据库也开始支持更加复杂的数据模型,允许我们在同一个系统内处理多种格式的数据。通过上述五个部分的详细介绍,相信你现在应该对如何利用MySQL进行多模态数据分析有了更清晰的认识。

java专栏 2116

LangGraph实战教程:构建AI智能体,从入门到精通!(含完整代码)

本文介绍如何利用LangGraph框架构建智能太阳能节能助手。作为LangChain的高级扩展,LangGraph支持多角色智能体协作和状态管理,特别适合处理复杂业务场景。文章通过8个步骤详细演示开发过程:1)导入必要库;2)定义节能计算工具;3)实现状态管理与错误处理;4)构建状态结构;5)配置AWS Bedrock LLM;6)定义工作流程;7)构建LangGraph图结构;8)运行测试。该助手能根据用户电费数据计算太阳能节省效果,并支持多轮对话、错误恢复等功能,展示了LangGraph在构建复杂AI应

2401_85375151的博客 1274

FreeRTOS全攻略:从入门到精通

本文聚焦 FreeRTOS,从基础概念出发,阐述其开源、轻量级等优势。着重介绍 FreeRTOS 入门知识,涵盖内存管理、任务操作、同步互斥机制等核心内容。其中,空闲任务与钩子函数保障系统基础运行与功能扩展;队列、信号量、互斥锁和事件组等机制,分别从数据传递、资源访问控制、优先级问题解决及多任务同步等方面,为开发者提供高效的任务间协作与资源管理方案,助力开发者掌握 FreeRTOS 核心技术,为嵌入式项目开发筑牢基础。

邓邓子的博客 6358

YOLOv11在STM32H7上的MCU部署实战:基于CMSIS-NN的高效推理实现

嵌入式AI与MCU部署技术解析 本文系统介绍了基于STM32H7微控制器的YOLOv11模型部署方案。主要内容包括: 边缘计算背景下MCU的AI部署优势与挑战,重点分析了STM32H7平台特性 YOLOv11模型的结构优化,包括E-ELAN骨干网络和Meta-ACON激活函数等改进 CMSIS-NN加速库的架构原理,在STM32H743上可实现5.4倍卷积加速 完整的开发环境搭建流程,涵盖硬件选型、工具链配置和模型转换 模型优化关键技术,包括int8量化、剪枝和内存占用优化等 实验表明,该方案在保持模型精度

本博客聚焦 YOLOv11 全流程落地,涵盖架构优化、数据集处理、训练技巧与多场景部署,兼及国产数据库、Java 开发与 AI 模型应用,内容兼顾理论与工程实践,为开发者提供系统干货,助力高效提升技术能力。 854

【干货收藏】AI智能体框架选型指南:AutoGen、AgentScope、CAMEL、LangGraph对比

正如前文所述,AutoGen 的设计哲学根植于"以对话驱动协作"。它巧妙地将复杂的任务解决流程,映射为不同角色的智能体之间的一系列自动化对话。基于这一核心理念,AutoGen 框架持续演进。我们将以 0.7.4 版本为例,因为它是截止目前为止最新版本,代表了一次重要的架构重构,从类继承设计转向了更灵活的组合式架构。为了深入理解并应用这一框架,我们首先需要讲解其最核心的构成要素与底层的对话交互机制。工程化优先的多智能体平台。

xxue345678的博客 1439

华为OD机试真题 新系统 2026-06-10 C++ 实现【设备重排SN】

通信设备SN一般是包含:字母、数字,用'-'(破折号)进行分组分割,例如:8F-3T-1G-2n是一个有效的SN地址。 现在要对已经存在的SN 按照新的规则进行重排:

MISAYAONE的博客 130

【干货收藏】LangGraph+ReAct打造智能体:从硬编码到LLM驱动的完整指南

文章摘要:本文详细介绍了使用LangGraph框架构建ReAct智能体的方法。第一部分通过硬编码示例展示了ReAct循环的核心机制,包括状态设置、模拟工具、推理节点和行动节点的实现。第二部分将升级为LLM驱动的动态决策智能体。文章重点讲解了如何通过LangGraph的图结构(节点和边)来定义智能体工作流,实现"推理-行动-观察"的循环流程,并提供了完整的代码示例展示从构建到运行的全过程。这种设计实现了工作流结构与智能推理的解耦,为构建实用型AI智能体提供了清晰的技术路径。

2301_76168381的博客 1083

假人有限元模型

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

老版QQ原生表情gif动态

这是老版的QQ表情,不过全是动态的的,Windows照片查看器是不会动的,可以右击用浏览器打开查看,再说一遍是老版的,只是分享给宁愿用老版也要动态的人。

LangGraph从入门到精通:构建复杂多智能体系统的完整指南(必收藏)

本文介绍了LangGraph框架,这是一个基于有向图模型的多智能体应用开发工具。LangGraph通过节点和边构建复杂工作流,支持状态管理、条件分支、循环和人机协作等高级功能。文章详细解析了其核心概念(图、状态、节点、边)以及多智能体架构模式(supervisor、swarm、handoffs),并介绍了Java版本的LangChain4J和LangGraph4J。相比传统线性执行方式,LangGraph提供了更灵活的控制流和更好的可调试性,适用于智能客服、自动化运维等场景。

ytt0523_com的博客 1152

WINCC7.3破解文件

WINCC7.3硬件够破解文件,有需要的下载!WINCC7.3硬件够破解文件,有需要的下载!

干货|深度解析:JoyAgent vs LangGraph,怎么选择多智能体框架?

最近后台好多朋友问我,说现在AI多智能体(Multi-Agent)框架太火了,尤其是最近京东开源了的 Java 语言的 JoyAgent,评测分数非常高,效果到底怎么样? 和LangChain团队的LangGraph ,看着都挺香,但到底该怎么选?选错了怕浪费时间,毕竟,免费的才是最贵的 嘛。

2401_85343303的博客 2021

TMS_WebGMaps_1.9.8.0_Full_Source

TMS_WebGMaps_1.9.8.0_Full_Source 全源码 delphi cbuilder

【干货收藏】大模型智能体系统详解:从单智能体到多智能体的技术演进与框架选型

【干货收藏】大模型智能体系统详解:从单智能体到多智能体的技术演进与框架选型

youmaob的博客 1870

【干货收藏】LangGraph多智能体系统构建指南:从单体瓶颈到协作突破

多智能体系统通过将复杂问题拆解为可治理的自治单元,解决单体智能体的工具过载、上下文负担和领域专精冲突等问题。LangGraph提供五种典型架构(网络、监督者、层级等),支持显式交接协议(Command)和状态管理,实现模块化、专精化和可控性。文章详细介绍了三种交接模式的代码实现及工程化落地要点,建议从简单模式起步,逐步演进至复杂架构。

weixin_72959097的博客 1576

看完就懂!AI智能体(AI Agent)从原理到实践:含LangGraph框架示例,技术干货收藏!

AI智能体(Agent)是能够代表用户独立完成任务的系统,与传统LLM应用的最大区别在于其动态决策、工具调用和多轮状态管理能力。智能体由模型、工具和指令三部分组成,适用于需要上下文判断的复杂任务场景。构建时应选择合适模型、定义标准化工具接口,并编写清晰的指令。智能体编排可采用单智能体或多智能体系统,同时必须建立安全护栏体系来确保行为边界。文章最后通过LangGraph框架提供了一个可运行的最小智能体示例,展示了从理论到实践的完整流程。

优快云_224022的博客 1055

【干货收藏】LangGraph检查点机制实现:让AI智能体记住一切

文章介绍了LangGraph框架中的持久化机制,详细讲解线程(Thread)和检查点(Checkpoint)概念,以及三种内置检查点保存器(MemorySaver/SqliteSaver/PostgresSaver)的应用场景。通过代码示例展示了如何实现对话记忆、人机环路工作流和时间旅行调试等功能,帮助开发者构建能够保持连续性、从中断恢复并支持复杂交互流程的AI智能体。

Android23333的博客 1543

【干货收藏】2026年AI Agent开发全攻略:从零到精通,程序员必学大模型智能体指南

我们不是在开发Agent,是在用Agent赋能业务。AI Agent开发的终极答案不是"技术多牛",而是"业务价值多高"。没有业务价值,技术再炫酷也无用;没有清晰路线图,投入再多也白费。2025年,AI Agent不再是"可选",而是"必需"。你,准备好了吗?

youmaob的博客 1388

首款AI智能体IDE:LangGraph Studio

点击下方“JavaEdge”,选择“设为星标”第一时间关注技术干货!免责声明~任何文章不要过度深思!万事万物都经不起审视,因为世上没有同样的成长环境,也没有同样的认知水平,更「没有适用于所有人的解决方案」;不要急着评判文章列出的观点,只需代入其中,适度审视一番自己即可,能「跳脱出来从外人的角度看看现在的自己处在什么样的阶段」才不为俗人。怎么想、怎么做,全在乎自己「不断实践中寻找适合自己的大道」0...

JavaEdge全是干货的技术号 2752

【干货】自我改进智能体实战:基于LangGraph的Reflection与Reflexion模式实现详解!

文章详解了两种自我改进智能体模式:Reflection(自我批评)和Reflexion(知识检索),基于LangGraph框架实现。系统包含真正的流式输出、参数动态化和Ollama本地模型集成等特性。Reflection适合内容创作,Reflexion适合专业问题解答。文章对比了两种模式的架构、性能差异和应用场景,提供了完整的实现代码和优化策略,帮助开发者构建具有自我改进能力的智能体系统。

m0_71746299的博客 1103

Datawhale干货:AI智能体框架大比拼!从零入门,轻松构建可靠应用,速收藏!

本文分析了当前主流的智能体框架及其选型策略,重点介绍了AutoGen、AgentScope、CAMEL和LangGraph四个代表性框架。文章指出智能体框架通过抽象通用功能、模块化设计和标准化流程,可显著提升开发效率、可扩展性和可维护性。各框架采用不同技术路径:AutoGen通过对话驱动协作,AgentScope侧重工程化多智能体平台,CAMEL采用角色扮演方法,LangGraph则基于图结构建模工作流。最后总结了智能体框架的设计思路,包括协作方式选择与工程化考量,为开发者提供了实用的选型指导。

qq_46094651的博客 382

干货收藏!LangGraph与Agno-AGI深度对比:如何选择适合你的大模型框架

本文对LangGraph与Agno-AGI两大大模型框架进行了深度技术对比分析,涵盖架构范式、核心特性、性能表现等方面。LangGraph强调显式控制与可靠性,适合高可靠性要求和复杂自定义逻辑场景;Agno-AGI注重极致性能与集成简易性,适合性能关键型应用和快速开发需求。文章详细分析了两种框架在状态管理、多智能体系统、人机协同等方面的差异,为开发者提供了基于不同应用场景的选型建议。

bugyinyin的博客 1289

收藏级干货:LangChain与LangGraph对比解析,看透Agent智能体的本质

本文通过LangChain和LangGraph两大主流AI框架,深入剖析Agent智能体的本质。LangChain将大模型视为流水线工人,采用链式结构但过于死板;LangGraph引入图结构,赋予大模型决策能力,实现循环和记忆功能。Agent核心是"大模型+循环控制流+记忆",市场上的产品主要由反思模式、工具路由模式和监督者模式三种基础模式组合而成,理解这些模式就能看透Agent的本质。

ytt0523_com的博客 1053
上一篇: 收藏!大模型人才缺口400万,薪资碾压传统行业,小白如何入局AI
下一篇: 【干货收藏】Prompt工程VS模型训练:大模型能力的终极边界深度解析
大模型教程.
博客等级 码龄5年 5275粉丝 2887原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值