2026/3/23 18:04:49
网站建设
项目流程
网站ui设计例子,如何设计软件界面,如何套用别人网站模板,黔江做网站一、引言智能体框架通过赋予自主系统感知、推理和动态行动的能力#xff0c;彻底革新了人工智能。本节将探讨智能体框架的核心概念#xff0c;并重点阐述开源解决方案对于现代人工智能开发的创新和可扩展性至关重要的原因。1.1 什么是智能体框架#xff1f;智能体框架代表了…一、引言智能体框架通过赋予自主系统感知、推理和动态行动的能力彻底革新了人工智能。本节将探讨智能体框架的核心概念并重点阐述开源解决方案对于现代人工智能开发的创新和可扩展性至关重要的原因。1.1 什么是智能体框架智能体框架代表了人工智能系统设计方式的范式转变。与依赖静态、预定义工作流程的传统人工智能应用不同智能体框架引入了动态、自适应的系统这些系统能够自主感知、推理和行动。这些框架可以将复杂的任务分解成更小的子任务由专门的智能体来处理这些智能体协同工作以实现更广泛的目标。 通过利用大型语言模型 (LLM)代理框架可以管理工作流程、做出决策并无缝集成工具使其成为动态决策和实时问题解决等高级应用的理想选择。1.2 它们为什么重要从零开始构建智能体绝非易事。像 LangGraph、CrewAI 和 OpenAI Swarm 这样的框架简化了这一过程使开发人员能够专注于应用程序逻辑而无需为状态管理、编排和工具集成重复造轮子。二、常用的代理框架和库现在让我们深入了解一下目前最主要的 AI 代理框架和工具2.1 LangchainLangChain 是一个强大且适应性强的框架能够简化大型语言模型 (LLM) 应用的开发。凭借其丰富的工具集和抽象层开发者可以设计出功能强大的 AI 代理这些代理能够进行复杂的推理、任务执行并与外部数据源和 API 进行交互。Github 链接: https://github.com/langchain-ai/langchain/tree/master/libs/langchain/langchain/agents文档链接 https://python.langchain.com/docs/introduction/2.2 LangGraphLangGraph 是 LangChain 的一个扩展它支持使用大型语言模型 (LLM) 创建有状态的多参与者应用程序。它尤其适用于构建规划、反思、自反和多智能体协调的复杂交互式人工智能系统。GitHub 链接 https://github.com/langchain-ai/langgraph文档链接 https://langchain-ai.github.io/langgraph/2.3 CrewAICrewAI 是一个用于编排角色扮演型AI agents的框架。它允许开发者创建一支由AI agents组成的“团队”每个agents都拥有特定的角色和职责共同协作完成复杂任务。该框架尤其适用于构建能够解决需要多元专业知识和协同努力的多方面问题的协作型人工智能系统。GitHub 链接 https://github.com/crewAIInc/crewAI文档链接 https://docs.crewai.com/2.4 Microsoft Semantic KernelMicrosoft Semantic Kernel旨在弥合传统软件开发与人工智能能力之间的鸿沟。它尤其专注于将大型语言模型LLM集成到现有应用程序中。该框架为开发人员提供了一系列工具使他们无需彻底改造现有代码库即可集成人工智能功能。 该 SDK 轻量级且支持多种编程语言使其能够高度适应各种开发环境。其编排器能够管理复杂的多步骤 AI 任务使开发人员能够在应用程序中创建复杂的 AI 驱动工作流程。GitHub 链接 https://github.com/microsoft/semantic-kernel文档链接 https://learn.microsoft.com/en-us/semantic-kernel/2.5 Microsoft AutoGenMicrosoft AutoGen 是一个开源框架旨在构建高级 AI 代理和多代理系统。AutoGen 由微软研究院开发提供了一套灵活而强大的工具包用于创建对话式和任务完成型 AI 应用。它强调模块化、可扩展性和易用性使开发人员能够高效地构建复杂的 AI 系统。文档链接 https://microsoft.github.io/autogen/stable/user-guide/agentchat-user-guide/GitHub 链接 https://github.com/microsoft/autogen2.6 SmolagentsSmolagents 是一个前沿的开源框架旨在革新人工智能代理的开发方式。它为开发者提供了一套全面的工具包用于构建智能的、协作式的多代理系统。该框架注重灵活性和模块化能够创建既可独立运行也可在人类监督下协作运行的复杂人工智能系统。文档 https://huggingface.co/docs/smolagents/en/indexGitHub 链接 https://github.com/huggingface/smolagents2.7 AutoGPTAutoGPT 基于强大的 GPT-4 语言模型能够通过语言输入执行目标导向型任务代表了自主AI agents领域的一项重大进步。这款顶尖人工智能助手将决策能力提升到了一个全新的高度超越了基本的反射型代理并集成了诸多复杂功能使其成为各种应用场景中不可或缺的工具。文档 https://huggingface.co/docs/smolagents/en/indexGitHub 链接 https://github.com/huggingface/smolagents2.8 Agno (Phidata)我们将讨论的最后一个 AI 代理框架是 Phidata 。它是一个多模态代理框架可以开发协同工作的代理系统。它还被设计成可以与内存和工具等组件配合使用以帮助它们自主且稳定地运行。 默认情况下Phidata 代理支持多模态数据例如文本、图像和音频数据无需依赖外部工具即可发挥其价值。该框架还提供 Agentic UI方便用户与代理进行可视化交互。此外他们还率先推出了 Agentic RAG红黄绿蓝绿功能使代理能够搜索知识库。文档 https://docs.phidata.com/introductionGitHub 链接 https://github.com/agno-agi/phidata三、智能体框架比较下表对本文讨论的主要人工智能代理框架进行了概览式比较旨在突出每个框架的独特优势和重点领域帮助开发人员和研究人员根据自身需求选择最合适的工具。四、深入了解 LangGraphLangGraph 是由 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_messages2定义状态结构创建一个类来定义状态对象的结构该对象将保存需要在图中的节点之间共享和更新的信息。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(modelclaude-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 pass8运行聊天机器人 实现一个循环来与用户交互将用户的输入传递给图表并显示聊天机器人的响应。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_results2) tools [tool] llm ChatAnthropic(modelclaude-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()代码解释导入工具导入必要的工具类在本例中 TavilySearchResults 。定义并绑定工具创建工具实例并使用 llm.bind_tools() 将其绑定到 LLM这会将可用工具及其使用情况告知 LLM。创建 ToolNode实例化 ToolNode 传入可用工具列表。将 ToolNode 添加到图中使用 graph_builder.add_node() 将 ToolNode 合并到 LangGraph 中。条件路由使用 graph_builder.add_conditional_edges() 根据 LLM 是否决定调用工具来设置路由逻辑。tools_condition 检查 LLM 的响应是否包含工具调用指令。回环执行该工具后使用 graph_builder.add_edge() 将流程重定向回 chatbot 节点从而允许对话继续进行。现在当运行聊天机器人并提出需要外部信息的问题时LLM 可以选择调用网络搜索工具检索相关数据并将其纳入其回复中。六、为聊天机器人添加记忆记忆力对于创建能够通过记住过去的互动来进行有意义对话的聊天机器人至关重要。LangGraph 的Checkpointer系统Checkpointer 编译 LangGraph 时您可以提供一个 checkpointer 对象该对象负责保存图在不同时间点的状态。Thread ID 每次调用图时都需要提供一个 thread_id checkpointer 使用此 ID 来跟踪不同的对话线程。自动保存和加载 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(checkpointermemory) # ... (Rest of the code to run the chatbot)代码解释导入 MemorySaver 从 langgraph.checkpoint.memory 导入 MemorySaver 类。创建一个 MemorySaver 对象实例化一个 MemorySaver 对象该对象将处理图表状态的保存和加载。传递给 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_results2) tools [tool] llm ChatAnthropic(modelclaude-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( checkpointermemory, # This is new! interrupt_before[tools], # Note: can also interrupt __after__ actions, if desired. # interrupt_after[tools] )代码解释在这个例子中程序会在执行 tools 节点之前暂停。该 tools 节点负责运行 LLM 在其回合中可能请求的任何工具。通过在此处中断可以允许用户执行以下操作批准工具调用 人工审核 LLM 想要调用的工具及其输入。如果审核员认为合适只需允许图继续运行工具即可执行。修改工具调用 如果用户认为需要调整 LLM 的工具调用例如细化搜索查询他们可以修改图的状态然后恢复执行。绕过工具调用 用户可能认为该工具并非必要。或许他们已经掌握了 LLM 试图查找的答案。在这种情况下他们可以直接用相关信息更新图状态LLM 会像工具返回了该信息一样接收到更新后的数据。参考资料 https://github.com/langchain-ai/langgraph/blob/main/docs/docs/how-tos/human_in_the_loop/review-tool-calls.ipynb八、LangGraph 的实际应用LangGraph 允许您构建比简单的问答机器人更复杂、更具交互性的 AI 系统它能够管理状态、协调多个代理并允许人类反馈。以下是 LangGraph 的一些应用方式更智能的客户服务 想象一下一款用于在线购物的聊天机器人可以记住您过去的订单和偏好。它可以回答有关产品的问题跟踪您的发货情况甚至在需要时将您转接给人工客服。AI 研究助手 需要研究项目方面的帮助吗基于 LangGraph 的助手可以搜索大量的学术论文和文章总结关键发现甚至可以帮助您整理笔记。个性化学习 LangGraph 有望为下一代教育平台提供强大支持。试想一下如果系统能够适应你的学习风格识别你需要额外帮助的领域并推荐个性化的学习资源那该有多好。精简业务流程 许多业务流程涉及多个步骤和人员。LangGraph 可以自动化这些工作流程中的部分环节例如文档审批路由、数据分析或项目管理。这些例子突显了 LangGraph 如何帮助弥合人工智能能力与现实世界复杂性之间的差距。九、结论智能体框架正在革新人工智能系统的运行方式使智能体能够进行推理、规划和动态交互。在本博客中我们探讨了智能体框架的重要性调研了一些最流行的库并比较了它们的优势。随后我们深入研究了 LangGraph 了解了其基于图的架构、状态管理以及实际应用。实践部分演示了如何使用 LangGraph 构建具有记忆功能、人机交互能力和可扩展工作流的人工智能智能体。随着人工智能的不断发展LangGraph、LangChain、CrewAI 等智能体框架将在塑造下一代智能应用方面发挥关键作用。无论是开发聊天机器人、自动化工具还是研究型智能体这些框架都能提供构建模块帮助您打造更具适应性和高效性的人工智能系统。人工智能的未来在于自主性、结构化和交互性 ——而智能体框架正引领着这一发展方向。现在正是开始尝试、构建和创新这些框架的最佳时机。最后我在一线科技企业深耕十二载见证过太多因技术更迭而跃迁的案例。那些率先拥抱 AI 的同事早已在效率与薪资上形成代际优势我意识到有很多经验和知识值得分享给大家也可以通过我们的能力和经验解答大家在大模型的学习中的很多困惑。我整理出这套 AI 大模型突围资料包✅AI大模型学习路线图✅Agent行业报告✅100集大模型视频教程✅大模型书籍PDF✅DeepSeek教程✅AI产品经理入门资料完整的大模型学习和面试资料已经上传带到CSDN的官方了有需要的朋友可以扫描下方二维码免费领取【保证100%免费】为什么说现在普通人就业/升职加薪的首选是AI大模型人工智能技术的爆发式增长正以不可逆转之势重塑就业市场版图。从DeepSeek等国产大模型引发的科技圈热议到全国两会关于AI产业发展的政策聚焦再到招聘会上排起的长队AI的热度已从技术领域渗透到就业市场的每一个角落。智联招聘的最新数据给出了最直观的印证2025年2月AI领域求职人数同比增幅突破200%远超其他行业平均水平整个人工智能行业的求职增速达到33.4%位居各行业榜首其中人工智能工程师岗位的求职热度更是飙升69.6%。AI产业的快速扩张也让人才供需矛盾愈发突出。麦肯锡报告明确预测到2030年中国AI专业人才需求将达600万人人才缺口可能高达400万人这一缺口不仅存在于核心技术领域更蔓延至产业应用的各个环节。资料包有什么①从入门到精通的全套视频教程⑤⑥包含提示词工程、RAG、Agent等技术点② AI大模型学习路线图还有视频解说全过程AI大模型学习路线③学习电子书籍和技术文档市面上的大模型书籍确实太多了这些是我精选出来的④各大厂大模型面试题目详解⑤ 这些资料真的有用吗?这份资料由我和鲁为民博士共同整理鲁为民博士先后获得了北京清华大学学士和美国加州理工学院博士学位在包括IEEE Transactions等学术期刊和诸多国际会议上发表了超过50篇学术论文、取得了多项美国和中国发明专利同时还斩获了吴文俊人工智能科学技术奖。目前我正在和鲁博士共同进行人工智能的研究。所有的视频教程由智泊AI老师录制且资料与智泊AI共享相互补充。这份学习大礼包应该算是现在最全面的大模型学习资料了。资料内容涵盖了从入门到进阶的各类视频教程和实战项目无论你是小白还是有些技术基础的这份资料都绝对能帮助你提升薪资待遇转行大模型岗位。智泊AI始终秉持着“让每个人平等享受到优质教育资源”的育人理念通过动态追踪大模型开发、数据标注伦理等前沿技术趋势构建起前沿课程智能实训精准就业的高效培养体系。课堂上不光教理论还带着学员做了十多个真实项目。学员要亲自上手搞数据清洗、模型调优这些硬核操作把课本知识变成真本事如果说你是以下人群中的其中一类都可以来智泊AI学习人工智能找到高薪工作一次小小的“投资”换来的是终身受益应届毕业生无工作经验但想要系统学习AI大模型技术期待通过实战项目掌握核心技术。零基础转型非技术背景但关注AI应用场景计划通过低代码工具实现“AI行业”跨界。业务赋能 突破瓶颈传统开发者Java/前端等学习Transformer架构与LangChain框架向AI全栈工程师转型。获取方式有需要的小伙伴可以保存图片到wx扫描二v码免费领取【保证100%免费】**