一文读懂如何使用图框架构建多代理应用程序

LangChain VS LangGraph LangChain 是构建 LLM 应用的基础框架(如 RAG、Tool Calling),LangGraph 是 LangChain 的扩展模块,专门用于构建「带状态、可循环、多步骤」的 Agent 工作流。LangChain = 智能体的“工具箱 + 基础能力”LangGraph = 智能体的“操作系统 + 流程引擎”LangChainLangGraph是什么LLM 应用开发框架LangChain 的流程编排扩展解决什么问题“让 LLM 能做事”“让多个 LLM/人按流程协作”是否需要它。 阅读详情

img

简述

LangChain 推出了 LangGraph,这是一个新的库,基于图形框架和运行时循环的概念,用于管理多代理应用程序。

摘要

LangChain 是当前主流的一个人工智能框架,它引入了一个名为 LangGraph 的新库,用于管理多代理应用程序。该库基于图框架和运行时循环的概念,允许创建具有循环的链,这是LangChain之前所缺乏的。使用图形这一数学对象来表示构建由 LLMs(大型语言模型)驱动的应用程序所需的典型组件,其中节点代表代理,边代表连接和关系。本文介绍了如何使用 LangGraph 设计多代理图的示例,并演示了其在多代理应用程序中创建动态工作流的潜力。

LangGraph 入门

去年,LangChain 已成为市场上最受欢迎的人工智能框架之一。这个轻量级的框架可帮助开发人员使用所有相关组件(向量数据库、内存、提示、工具和代理)构建由大语言模型(Large Language Model,LLM) 支持的应用程序。LangChain 的主要特点是能够轻松创建所谓的链。链是一系列组件,使用 LLM 处理用户的输入和输出。一条链可以由不同类型的组件组成,例如提示、检索器、处理器和工具。一条链也可以嵌套在另一个链中以创建更复杂的应用程序。

然而,这些链缺乏将循环引入其运行时的能力,这意味着没有现成的框架使 LLM 能够在类似 for 循环的场景中推理出下一个最佳操作。由于多智能体应用程序的概念——展示不同智能体的应用程序,每个智能体都有特定的个性和访问工具——变得越来越现实和主流(参见 AutoGen 等库项目的兴起),LangChain 的开发人员引入了一个新的库,使管理这类代理应用程序变得更加容易。这个新库于 2024 年 1 月推出,名为 LangGraph,它基于图形这一数学对象,作为 LLM 驱动应用程序的代表性框架。

在动手实践之前,首先介绍一下图的数学概念以及为什么它是一个非常适合循环链的框架。

图表简介

每当需要模拟和分析复杂系统时,使用能够捕获代理之间关系的模型就至关重要。这些关系——以及它们的相对权重和分布——可以用图表的数学表示来建模。

图是一组对象的表示,其中一些对象对通过链接连接。这些链接通常称为边或弧,它们连接的对象称为顶点或节点。图形用于对对象之间的关系进行建模,例如社交网络、道路网络或化学中分子之间的连接。

一般来说,只要一个系统可以用图来建模,就可以说这个系统是一个网络。网络科学是一门学科,其目标是理解其底层结构是图的现象。也就是说,在流行病学领域,网络被用来模拟疾病的传播,其中节点是个体,链接代表个体之间的联系。

在 LangGraph 中,图形框架用于表示构建 LLM 支持的应用程序所需的典型组件。进一步来说:

  1. 节点→类似于游戏中的“演员”或代理。每个人都可以从事不同的活动。也就是说,可以有一个包含 3 个节点的图表,代表心理学家、社会学家和经济学家正在进行一项关于社交媒体对心理健康影响的大规模调查(还可以添加第四个节点,代表这三个专家的监督者)。
  2. 边→代表节点之间的连接和关系。它们可以是在节点之间承载信息的连接,也可以是确定激活节点的条件及其执行顺序的条件边。

构建多智能体图

在这一部分,我们将构建一个涉及 3 个角色的多代理应用程序,以及他们的个性(使用 LLMs 的术语表、系统消息):

  1. 心理学家:“一位心理学家专家,将神经科学理论无缝地融入对话中,揭示了人类行为和情感的复杂性。”
  2. 社会学家:“一位目光敏锐的社会学家,擅长剖析社会模式,研究社交媒体与集体心理之间的相互作用。”
  3. 经济学家:“一位务实的经济学家,量化无形资产,精确地将社交媒体趋势与经济影响联系起来。”

接下来将探究社交媒体与心理健康之间的相关性。为了构建该图,使用了 LangGraph存储库中的示例代码,并对其进行调整以设计上述三个代理的个性。在本文中,将介绍修改后的脚本:

如上一节中提到的,为了构建图,需要两个主要成分:节点和边。接下来介绍背后的逻辑。

节点

节点可以是具有特定任务或个性的代理,也可以是应用程序可以使用给定工具执行的动作。在本文的示例中,已经设置了 3 个代理——心理学家、社会学家和经济学家——以及一个工具——搜索引擎 Tavily。

为了初始化图表,首先设置模型的基本结构(这里利用 Azure OpenAI GPT-4)和工具,代码如下:

#导入 langchain.schema 模块中的 HumanMessage 和 AIMessage 类
from langchain.schema import HumanMessage, AIMessage

#导入 langchain_openai 模块中的 AzureChatOpenAI 类
from langchain_openai import AzureChatOpenAI

#导入 dotenv 模块,用于加载环境变量
from dotenv import load_dotenv

#加载环境变量文件,通常是 .env 文件,其中包含了敏感信息如API密钥等
load_dotenv()

#设置环境变量,这些变量通常在 .env 文件中定义
os.environ["AZURE_OPENAI_API_KEY"]  # Azure OpenAI API 的密钥
os.environ["AZURE_OPENAI_ENDPOINT"]  # Azure OpenAI 的服务端点
os.environ["TAVILY_API_KEY"]  # Tavily API 的密钥

#创建一个 AzureChatOpenAI 实例,用于与 Azure Chat OpenAI 服务交互
llm = AzureChatOpenAI(
    openai_api_version="2023-07-01-preview",  # 使用的 OpenAI API 版本
    azure_deployment="gpt-4",  # 指定使用的 Azure 部署,这里假设是 "gpt-4"
)

#导入 langchain_community.tools.tavily_search 模块中的 TavilySearchResults 类
from langchain_community.tools.tavily_search import TavilySearchResults

#创建一个 TavilySearchResults 实例,用于执行 Tavily 搜索操作
tavily_tool = TavilySearchResults(max_results=5)  # 最多返回5个搜索结果

#创建一个工具列表,将 Tavily 搜索工具添加到列表中
tools = [tavily_tool]

#创建一个 ToolExecutor 实例,用于执行工具列表中的操作
tool_executor = ToolExecutor(tools)

现在使用代理的个性来初始化代理(以及将它们分配给每个节点的函数),代码如下:
import functools  # 导入functools模块,用于实现函数的偏函数等高级功能

#定义一个辅助函数,用于为给定的代理创建节点
def agent_node(state, agent, name):
    # 调用代理的invoke方法,传入状态state
    result = agent.invoke(state)
    # 将代理的输出转换为合适的格式,以便追加到全局状态中
    if isinstance(result, FunctionMessage):  # 如果结果是一个FunctionMessage类型
        pass  # 这里暂时没有操作,可能是后续会有特定的处理
    else:
        # 如果不是FunctionMessage类型,将其转换为HumanMessage类型
        result = HumanMessage(
            **result.dict(exclude={"type", "name"}),  # 将result对象转换为字典,排除"type"和"name"键
            name=name  # 设置消息的发送者名称
        )
    return {
        "messages": [result],  # 将转换后的结果作为消息列表的一部分返回
        # 因为我们有一个严格的工作流程,我们可以
        # 跟踪发送者,这样我们就知道接下来要传递给谁。
        "sender": name,  # 返回发送者名称
    }

#创建心理学家代理和节点
#使用create_agent函数创建一个代理,传入llm和工具列表[tavily_tool]
#system_message参数定义了心理学家的角色描述
psychologist_agent = create_agent(
    llm,
    [tavily_tool],
    system_message="一个将神经科学理论无缝融入对话的专家心理学家,解开人类行为和情感的复杂性。"
)
#使用functools.partial创建一个偏函数,将心理学家代理和名称"Psychologist"固定下来
psychologist_node = functools.partial(agent_node, agent=psychologist_agent, name="Psychologist")

#以类似的方式创建社会学家代理和节点
sociologist_agent = create_agent(
    llm,
    [tavily_tool],
    system_message="一个擅长剖析社会模式,调查集体心理的敏锐社会学家。关注群体效应而非个体效应。"
)
sociologist_node = functools.partial(agent_node, agent=sociologist_agent, name="Sociologist")

#以类似的方式创建经济学家代理和节点
economist_agent = create_agent(
    llm,
    [tavily_tool],
    system_message="一个务实的经济学家,量化无形资产,将趋势与经济影响精确地联系起来。"
)
economist_node = functools.partial(agent_node, agent=economist_agent, name="Economist")

边
现在需要一个逻辑来应用于边,以确定循环的执行模式。为此,将创建一个具有以下结构的路由器:
#定义一个名为router的函数,用于决定对话流程的下一步
def router(state):
    # 这个函数是流程的路由器
    messages = state["messages"]  # 从状态state中获取消息列表
    last_message = messages[-1]  # 获取列表中的最后一个消息

    # 检查最后一个消息是否包含"function_call"关键字
    if "function_call" in last_message.additional_kwargs:
        # 如果上一个代理正在调用一个工具
        return "call_tool"  # 返回"call_tool",表示下一步是调用工具

    # 检查最后一个消息的内容是否包含"FINAL ANSWER"文本
    if "FINAL ANSWER" in last_message.content:
        # 如果任何一个代理决定工作已经完成
        return "end"  # 返回"end",表示结束对话流程

    # 如果以上条件都不满足
    return "continue"  # 返回"continue",表示继续对话流程

给定循环中的状态,下一步可能采取三种行动:

  1. 如果前一个操作 (-1) 需要调用工具(给出“函数调用”输出),则会调用其中一个可用的工具;
  2. 如果前一个动作产生最终输出(“FINAN ANSWER”),则循环结束;
  3. 否则,循环将按照在初始化图表时定义的顺序继续。

现在已经具备了建立图形框架的所有要素。可以用路由器初始化节点(3个代理+1个工具)和边,设置一个循环如下:心理学家→社会学家→经济学家。代码如下:

#创建一个名为workflow的StateGraph实例,用于定义工作流程
workflow = StateGraph(AgentState)

#向工作流程中添加节点
workflow.add_node("Psychologist", psychologist_node)  # 添加心理学家节点
workflow.add_node("Sociologist", sociologist_node)  # 添加社会学家节点
workflow.add_node("Economist", economist_node)  # 添加经济学家节点
workflow.add_node("call_tool", tool_node)  # 添加调用工具的节点

#为心理学家节点添加条件边
#根据router函数的返回值,决定下一步的动作
workflow.add_conditional_edges(
    "Psychologist",  # 从心理学家节点开始
    router,  # 使用router函数作为条件判断
    {
        "continue": "Sociologist",  # 如果返回"continue",则跳转到社会学家节点
        "call_tool": "call_tool",  # 如果返回"call_tool",则跳转到调用工具的节点
        "end": END  # 如果返回"end",则结束流程
    }
)

#为社会学家节点添加条件边
workflow.add_conditional_edges(
    "Sociologist",  # 从社会学家节点开始
    router,  # 使用router函数作为条件判断
    {
        "continue": "Economist",  # 如果返回"continue",则跳转到经济学家节点
        "call_tool": "call_tool",  # 如果返回"call_tool",则跳转到调用工具的节点
        "end": END  # 如果返回"end",则结束流程
    }
)

#为经济学家节点添加条件边
workflow.add_conditional_edges(
    "Economist",  # 从经济学家节点开始
    router,  # 使用router函数作为条件判断
    {
        "continue": "Psychologist",  # 如果返回"continue",则跳转到心理学家节点
        "call_tool": "call_tool",  # 如果返回"call_tool",则跳转到调用工具的节点
        "end": END  # 如果返回"end",则结束流程
    }
)

#为调用工具的节点添加条件边
#根据发送者名称决定下一步的动作
workflow.add_conditional_edges(
    "call_tool",  # 从调用工具的节点开始
    lambda x: x["sender"],  # 使用lambda函数作为条件判断,获取发送者名称
    {
        "Psychologist": "Psychologist",  # 如果发送者是心理学家,则跳转到心理学家节点
        "Sociologist": "Sociologist",  # 如果发送者是社会学家,则跳转到社会学家节点
        "Economist": "Economist"  # 如果发送者是经济学家,则跳转到经济学家节点
    }
)

#设置工作流程的入口点为心理学家节点
workflow.set_entry_point("Psychologist")

#编译工作流程图
graph = workflow.compile()

接下来初始化图表。将整个对话存储到一个称为输出的列表中,然后打印每个代理的推理,代码如下所示:
#初始化一个空列表,用于存储输出结果
outputs = []

#使用graph.stream方法处理初始状态,并生成一个流
#graph.stream方法接受两个参数:初始状态和配置选项
for s in graph.stream(
    {
        "messages": [
            HumanMessage(  # 创建一个HumanMessage对象
                content="Provide me with meaningful insights about the effects of social media on mental health, covering individual effects, collective effects and macroeconomics effects. Once you provided me with these three perspectives, finish."
            )
        ],
    },
    # 配置选项,设置在图中执行的最大步数为150
    {"recursion_limit": 150},
):
    # 打印当前步骤的状态
    print(s)
    # 将当前步骤的状态添加到输出结果列表中
    outputs.append(s)
    # 打印分隔线,用于在输出中区分不同的步骤
    print("----")

输出内容如下:img也可以仅打印最终答案,如下所示:

print(outputs[-1][‘__end__’][‘messages’][-1].content)

输出如下:img

结论

LangGraph 已经成为开发多代理应用程序的强大工具,其基于图形的方法具有明显的优势,可以创建多个独立代理无缝协作的动态工作流程。这些由 LLM 提供支持的代理可以共享状态或独立工作,并将最终响应传递给彼此。

此外,通过对工具和职责进行分组,LangGraph 还提高了效率。每个代理都专注于特定的任务,从而获得更好的结果。单独的提示允许定制,代理甚至可以由单独的微调语言模型提供支持。

即使 LangGraph 还处于早期开发阶段,它在快速发展的多代理应用程序领域是一个有极大发展前景的框架。

如何学习AI大模型?

大模型时代,火爆出圈的LLM大模型让程序员们开始重新评估自己的本领。 “AI会取代那些行业?”“谁的饭碗又将不保了?”等问题热议不断。

不如成为「掌握AI工具的技术人」,毕竟AI时代,谁先尝试,谁就能占得先机!

想正式转到一些新兴的 AI 行业,不仅需要系统的学习AI大模型。同时也要跟已有的技能结合,辅助编程提效,或上手实操应用,增加自己的职场竞争力。

但是LLM相关的内容很多,现在网上的老课程老教材关于LLM又太少。所以现在小白入门就只能靠自学,学习成本和门槛很高

那么我作为一名热心肠的互联网老兵,我意识到有很多经验和知识值得分享给大家,希望可以帮助到更多学习大模型的人!至于能学习到多少就看你的学习毅力和能力了 。我已将重要的AI大模型资料包括AI大模型入门学习思维导图、精品AI大模型学习书籍手册、视频教程、实战学习等录播视频免费分享出来。

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

👉 福利来袭优快云大礼包:《2025最全AI大模型学习资源包》免费分享,安全可点 👈

全套AGI大模型学习大纲+路线

AI大模型时代的学习之旅:从基础到前沿,掌握人工智能的核心技能!

img

640套AI大模型报告合集

这套包含640份报告的合集,涵盖了AI大模型的理论研究、技术实现、行业应用等多个方面。无论您是科研人员、工程师,还是对AI大模型感兴趣的爱好者,这套报告合集都将为您提供宝贵的信息和启示。

在这里插入图片描述
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

👉学会后的收获:👈
• 基于大模型全栈工程实现(前端、后端、产品经理、设计、数据分析等),通过这门课可获得不同能力;

• 能够利用大模型解决相关实际项目需求: 大数据时代,越来越多的企业和机构需要处理海量数据,利用大模型技术可以更好地处理这些数据,提高数据分析和决策的准确性。因此,掌握大模型应用开发技能,可以让程序员更好地应对实际项目需求;

• 基于大模型和企业数据AI应用开发,实现大模型理论、掌握GPU算力、硬件、LangChain开发框架和项目实战技能, 学会Fine-tuning垂直训练大模型(数据准备、数据蒸馏、大模型部署)一站式掌握;

• 能够完成时下热门大模型垂直领域模型训练能力,提高程序员的编码能力: 大模型应用开发需要掌握机器学习算法、深度学习框架等技术,这些技术的掌握可以提高程序员的编码能力和分析能力,让程序员更加熟练地编写高质量的代码。

👉 福利来袭优快云大礼包:《2025最全AI大模型学习资源包》免费分享,安全可点 👈

img

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

作为普通人,入局大模型时代需要持续学习和实践,不断提高自己的技能和认知水平,同时也需要有责任感和伦理意识,为人工智能的健康发展贡献力量。

LangGraph多代理系统构建可审计AI投资框架 多代理系统是实现复杂决策自动化的核心范式,其本质在于通过状态驱动的图结构编排多个专业化智能体,实现职责分离、行为可追溯与协作可复盘。LangGraph作为专为有状态、循环、条件化工作流设计的编排框架,弥补了传统线性链式调用(如LangChain)在金融投研等动态协同场景中的能力短板。它支持将宏观策略、行业轮动、个股研究、风控合规等18类专业能力解耦为原子化Agent,并依托共享State实现数据一致性与决策留痕,显著提升AI辅助投资系统的可解释性、可调试性与监管合规性。本文聚焦LangGraph在智能投研场 阅读详情

相关推荐

LangChain 2024 最新发布:LangGraph 多智能体工作流(Multi-Agent Workflows)

当我们谈论“多智能体”时,我们谈论的是多个独立的参与者,这些参与者由以特定方式连接的语言模型提供支持。每个代理都可以有自己的提示、LLM、工具和其他自定义代码,以便与其他代理进行最佳协作。什么是多个独立代理?这些代理是如何连接的?这种想法非常适合图表示,例如由LangGraph 提供的图表示。在此方法中,每个智能体都是图中的一个节点,它们的连接表示为一条边。控制流由边管理,它们通过添加到图的状态进行通信。注意:这里一个非常相关的概念是状态机的概念,我们明确地将其称为认知架构的一个类别。

大模型与Agent智能体 4940

一文搞懂 LangChain 新利器:LangGraph

▼最近直播超级多,预约保你有收获今天直播:《RAG和GPTs构建Agent产业应用落地实战》—1—LangGraph 技术架构解读LangGraph 是一个有用于构建有状态和多角色的 Agents 应用,它并不是一个独立于 Langchain 的新框架,而是基于 Langchain 之上构建的一个扩展库,可以与 Langchain 现有的链(Chains)、LangChain Expressi...

musicml的博客 2万+

《一文读懂Agentic AI在金融提示工程实践的关键,架构师速进》

当AI从“执行指令的工具”进化为“能自主决策的智能代理”(Agentic AI),金融行业迎来了前所未有的变革——从高频交易到风险防控,从个性化投顾到合规审计,Agentic AI正在重构金融系统的底层逻辑。而提示工程(Prompt Engineering)则是这场变革的“翻译官”:它将金融业务规则、监管要求和用户需求转化为Agent能理解的“语言”,让Agent从“能做事”变成“会做事”。本文针对金融架构师的核心需求,从Agentic AI的底层逻辑金融提示工程的关键技术落地实践的架构设计。

AI架构师小马 1116

LangChain 和 LangGraph 该怎么选?

无论是个人开发者还是企业团队,在借助大语言模型(LLM)开发有趣又有价值的应用时,“用什么工具” 往往是最先面临的技术难题。今天,咱们就深入探讨两款构建 LLM 应用的热门框架 ——LangChain 和 LangGraph,帮你拨开迷雾,做出最适合的选择!当下,生成式 AI 领域发展迅猛,新框架、新技术层出不穷。所以大家阅读本文时要注意,文中信息可能会随着时间推移而变化哦!

m0_59163425的博客 1390

解决 PyInstaller 与 `pathlib` 包不兼容的问题

为了避免 PyInstaller 和pathlib包的兼容性问题,最简单的解决办法就是卸载不必要的pathlib包。只需在命令行中运行卸载命令,然后重新打包即可。

Winfredzhang的博客 3225

红米12C刷机避坑指南:NV数据损坏的修复与系统版本选择

本文提供了红米12C刷机过程中避免NV数据损坏的详细指南,涵盖系统版本选择、SP刷机工具使用和fastboot命令修复。重点分析了NV数据损坏的原因与表现,并给出通过工程固件和深度修复技巧解决基带未知、IMEI丢失等问题的实操方案,帮助用户安全完成刷机。

cuda7parallel的博客 1075

LangChain 最近发布的一个重要功能:LangGraph

next: str。

2301_78285120的博客 3720

在MDK5.37版本中添加Complier Version 5( 解决Missing Compiler Version 5 )

本文章仅作为个人学习记录,方法也是从其他博主的博客中得到的,链接如下:二、Keil——Missing Compiler Version 5 和 core_cm3.c 问题解决 - YI颗白菜 - 博客园 (cnblogs.com) 问题描述 更新最新的keil版本(MDK5.37)后,在编译以前版本的工程文件时,发现出现了非常多的报错,在网上搜索之后发现原来时编译器版本不匹配的问题,即MDK5.37中使用的是Version 6版本的编译器,而缺少Version 5,对于以前编写的工

leveling99的博客 1万+

什么是 Agentic RAG,一文读懂 Agentic RAG 数据检索范式

检索增强生成 (RAG)是一种构建 LLM 驱动应用程序的技术。它利用外部知识源为 LLM 提供相关背景并减少幻觉。一个简单的 RAG 管道由一个检索组件(通常由一个嵌入模型和一个向量数据库组成)和一个生成组件(LLM)组成。在推理时,用户查询用于对索引文档运行相似性搜索,以检索与查询最相似的文档并为 LLM 提供额外的上下文。

qkh1234567的博客 5400

使用 git一个仓库管理多个项目

我们需要在 git 里面创建一个空分支,该分支不继承任何提交,没有父节点,完全是一个干净的分支,这时候就需要使用 orphan。该命令会创建一个新的分支,并且该分支有前一个分支下的所有文件,我们不想提交任何内容,所以我们需要把当前内容全部删除。此时 master 分支已经有一个项目了,下面我们创建新的分支管理另一个项目。此时可以在该分支目录上初始化你的项目,在执行 git 命令提交代码。此时我们就完成了在同一个仓库管理不同项目的需求了。下载仓库到本地之后,进入项目目录,查看分支信息。

xrs151的博客 2027

Spring AI + RAG 构建电商智能客服:从 PDF 文档解析到精准问答的全链路实战

核心框架:向量数据库:- PostgreSQL + pgvector (生产推荐)- Redis Stack (轻量级方案)- ChromaDB (快速原型)文档解析:- Apache PDFBox: PDF 文本提取- Spring AI Document Readers: 结构化解析大模型:- 阿里云百炼 (DashScope)- 本地部署:Qwen/ChatGLM/*** 电商领域实体*/@Data@Builder@ToString/*** 商品类型。

一起修行,不孤单。这里有编程语言、开发工具、学习方法论和踩坑笔记。用简单的话说复杂的事,陪你从小白到进阶。周更干货,欢迎一起成长! 381

一文读懂大模型 Agent 的四大范式:反思(Reflection)、工具使用(Tool Use)、规划(Planning)和多代理协作(Multi-Agent)

一文读懂大模型 Agent 的四大范式:反思(Reflection)、工具使用(Tool Use)、规划(Planning)和多代理协作(Multi-Agent)

EnjoyEDU的博客 2073

切比雪夫插值

切比雪夫插值是一种基于切比雪夫节点的多项式插值方法,其优势是减少插值误差(特别是龙格现象:表现为高维插值时在边缘处插值误差骤增)。本文对其基本操作进行说明。

平和少年的博客 1646

【大模型行业应用入门系列】一文读懂AI Agents常见框架--Autogen

在语言模型领域,基本模型虽然擅长执行翻译、问答等常规任务,但有时也会显得力有未逮,就像缺少关键工具的熟练工人一样。然而,我们发现了一个非常有趣的现象:只要配备合适的工具,这些模型就能展现出令人惊讶的思考和行动能力。尽管它们可能无法完全理解所有内容,但我们可以通过提供特殊的数据和提示,帮助它们不断学习和进步。

weixin_72959097的博客 568

PCIe链路训练Recovery状态机:从RcvrLock到链路稳定的关键路径

本文深入解析PCIe链路训练中的Recovery状态机,特别是RcvrLock状态的关键作用。从Block对齐、均衡预设值应用到状态转移条件,详细介绍了确保链路稳定的技术要点,并提供了高速率下的特殊处理方法和常见问题排查指南,帮助工程师解决PCIe链路不稳定问题。

weixin_28739079的博客 175

基于STM32L4XX 、HAL库的TMP144YFFR数字温度传感器驱动应用C语言程序设计

define TMP144_ADDRESS 0x00 // 默认为全局地址,用于单器件或MDA命令。#define TMP144_CMD_READ_TEMP 0x00 // 读取温度寄存器命令。if (temp_raw & 0x800) { // 判断第11位(符号位)

PP_Cottage的博客 91

收藏!一文读懂AI Agent开发框架对比,从入门到选型全攻略

本文全面对比分析了LangGraph、AutoGen、Dify等AI Agent开发框架,从核心定位、技术特性、典型场景等维度提供评估和选型建议。同时介绍AI大模型学习路径和实战资源,帮助技术从业者从零入门到掌握大模型核心技术,实现职业转型和能力提升。

2401_85154887的博客 1617

STM32F407中文手册

STM32f407中文手册 本参考手册面向应用开发人员,提供有关使用 STM32F405xx/07xx、STM32F415xx/17xx、 STM32F42xxx 和 STM32F43xxx 微控制器存储器与外设的完整信息。STM32F405xx/07xx、STM32F415xx/17xx、STM32F42xxx 和 STM32F43xxx 构成一个微 控制器系列,各产品具有不同的存储器大小、封装和外设。有关订购信息以及器件的机械与电气特性,请参见数据手册。有关 ARM Cortex™-M4F 内核的信息,请参见《Cortex™-M4F 技术参考手册》。

一文读懂 RAG:从传统框架到 Agentic RAG 的进化与实践

一文读懂 RAG:从传统框架到 Agentic RAG 的进化与实践

kaka0722ww的博客 1114

jre9下载 jdk9

(Java SE Runtime Environment 9.0) 9.0u175 官方最新版 【x86|x64】

华为的C语言编程规范.pdf

华为技术有限公司内部技术规范。本规范制定了编写C语言程序的基本原则、规则和建议。从代码的清晰、简洁、可测试、安全、程序效率、可移植各个方面对C语言编程作出了具体指导。

一文读懂 AI Agents 与 Agentic AI,看这一篇就够了

人工智能(AI)正在改变我们的生活,从智能助手到自动化工作流,AI的潜力似乎无穷无尽。在AI的众多分支中,AI Agent(人工智能代理或AI智能体) 作为基础,已在诸多领域展现潜力。而在此之上,Agentic AI(代理式人工智能)正作为AI Agent的高级演进形态浮出水面,预示着未来智能系统将具备更高的自主性、协作能力和解决复杂问题的潜力。本文将带你了解AI Agent的起源、Agentic AI的突破,以及推动这一领域的关键技术——MCP和A2A协议。

m0_48891301的博客 1425

一文读懂 AI Agents 与 Agentic AI:别再傻傻分不清了!

随着AI系统功能日益强大并逐渐融入日常工作流程,一个新的区别正在重塑我们设计、构建和评估这些系统的方式:AI Agents 与 Agentic AI。虽然这两个术语常被混用,但它们指的是不同的系统架构、功能和协调模型。

kaka0722ww的博客 991

一篇大模型Agentic框架到应用最新综述:一文读懂LLM推理框架的前沿进展

因此,每个代理的上下文更新通常遵循公式12中的通用形式,其中每个代理必须处理其邻居的输出,或者在完全连接的系统中的所有其他代理的输出。在这种情况下,基于学习的选择指的是一个明确的在线过程,其中代理在推理过程中改进其工具选择策略。这种适应通过行动、反馈和反思的循环发生,改进其并发的工具行动。在这种结构中,代理被组织成层次结构,高级代理监督和协调低级代理的活动,同时低级代理在各自的责任范围内保持一定程度的自主性。在这种模式下,代理按顺序调用工具,其中一个工具的输出通常作为下一个工具的输入,形成清晰的工具链。

人工智能学家 281

AutoGen Studio新手教程:从安装到多代理协作全流程

本文介绍了如何在星图GPU平台上自动化部署AutoGen Studio镜像,快速构建多AI代理协作系统。用户无需编写代码,即可通过可视化界面配置Qwen3模型并启动旅游规划等典型任务,实现行程设计、预算分析与路线描述的全流程协同输出。

weixin_42593130的博客 290
上一篇: 全网最好用的6个常见大模型,你最喜欢用哪个?文心一言已改名......
下一篇: AI大模型实战:用于情感分类的传统人工智能与生成式人工智能
我爱学大模型
博客等级 码龄3年 7883粉丝 687原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值