PydanticAI图表转换AI代理工作流程
PydanticAI 最近推出了一项颠覆性的功能,称为 PydanticAI Graphs,承诺将转变 AI 代理管理与执行工作流程的方式。这一新工具为开发者提供了以空前清晰度和效率建模、控制和可视化复杂 AI 交互的方法。在本文中,我们将深入探讨 PydanticAI Graphs,这一异步图与状态机库,探索其关键特性、优势以及其在革新 AI 开发方面的潜力。
关键要点
- PydanticAI 引入了图支持,用于建模 AI 代理工作流程。
- 这些图作为异步状态机运行,使用类型提示定义。
- 该库面向中高级开发者,提供复杂的控制选项。
- 核心组件包括 GraphRunContext、End、Nodes 和 Graph。
- 它旨在增强 AI 应用的决策过程。
- 这些核心组件是 PydanticAI Graphs 的基本构建模块。
了解 PydanticAI Graphs
什么是 PydanticAI Graphs?
PydanticAI Graphs 是一个专为 Python 构建的异步图与状态机库,使开发者能够使用类型提示定义节点和边。这种结构化方法允许设计复杂的 AI 代理交互。

该库使开发者能够以卓越的清晰度建模、执行、控制和可视化复杂的工作流程。通过使用 PydanticAI Graphs,您可以创建更健壮、易于理解和可维护的 AI 应用,为 AI 代理设计设定新标准。图与有限状态机的结合为管理复杂工作流程提供了强大的抽象。
目标受众
PydanticAI Graphs 专为中高级开发者量身定制,而非初学者。该工具需要对 Python 和图数据结构有扎实的理解。

鉴于其高级特性,该库利用 Python 泛型和类型提示来简化开发过程。对于熟悉图数据结构的开发者,PydanticAI Graphs 提供了无与伦比的强大功能和灵活性。
安装
开始使用 PydanticAI Graphs 非常简单。您可以使用 pip 安装:
pip install pydantic-graph
建议同时安装 PydanticAI,尽管它是可选依赖项。
PydanticAI Graphs 的核心组件
PydanticAI Graphs 围绕四个核心组件构建,这些组件对于有效理解和使用该库至关重要:
- GraphRunContext: 类似于 PydanticAI 中的 RunContext,该组件管理图及其依赖项的状态。它就像接力赛中的接力棒,在节点之间传递关键信息以确保顺利执行。

- End: 这表示图执行的结束,标记节点返回其最终值。它是比赛的终点线,标志着工作流程的完成,特别有助于管理包含多个动作的复杂工作流程。
- Nodes: 这些是图的核心单元,通过 run 方法执行处理逻辑。
- Graph: 作为执行引擎,由节点组成。它是协调整个工作流程的主蓝图,类似于触发任务的管道。
PydanticAI Graphs 的高级主题
图数据结构及其重要性
在计算机科学中,图是表示实体之间连接的抽象数据类型。它们由顶点(或节点)和边组成,边可以是有向或无向的。

图有众多应用,从建模交通和公用事业网络到社交网络和分子结构。它们对于表示复杂关系和系统至关重要。
状态机解释
状态机是一种计算模型,任何时候只能处于有限数量的状态之一。它根据输入改变状态,这些改变称为转换。

状态机对于建模复杂系统、设计机器人控制器、分析计算机语言和开发视频游戏至关重要。它们可以可视化为有向图,其中节点表示状态,边表示转换。
如何使用 PydanticAI Graph
编写简单图
让我们设置一个包含三个节点的简单图:
- 节点 A 作为起始节点。
- 节点 B 作为决策节点。
- 节点 C 作为流程的结束。
每个节点共享一个基类类型,这一点至关重要。首先,导入必要的组件:

textfrom dataclasses import dataclass
from pydantic_graph import GraphRunContext, BaseNode, Graph, End
,[object Object],[object Object]text@dataclass
class NodeC(BaseNode[int]):
track_number: int编写异步 Run 方法
现在,让我们为这些节点编写异步 run 方法:
text@dataclass
class NodeA(BaseNode[int]):
track_number: int
async def run(self, ctx: GraphRunContext) -> BaseNode:
print(f'调用节点 A')
return NodeB(self.track_number)
,[object Object]text@dataclass
class NodeC(BaseNode[int]):
track_number: int
async def run(self, ctx: GraphRunContext) -> End:
print(f'调用节点 C')
return End(f'在节点 C 返回的值:{self.track_number}')节点 A 将跟踪传递给节点 B,节点 B 决定是停止执行还是继续到节点 C。
运行
最后,初始化图并运行它:
textgraph = Graph(nodes=[NodeA, NodeB, NodeC])
result, history = graph.run_sync(start_node=NodeA(track_number=1))
print('*' * 40)
print('历史记录:')
for history_part in history:
print(history_part)
print('*' * 40)
print(f'结果:{result}')此代码将调用节点 A,然后在节点 B 处停止执行,跟踪值为 1。
使用 PydanticAI Graphs 的优势与劣势
优势
- 增强的工作流程建模和可视化。
- 异步操作以实现高性能。
- 类型提示以实现健壮的代码。
- 可独立使用。
劣势
- 对初学者来说学习曲线陡峭。
- 早期测试版可能包含错误和不完整的文档。
常见问题解答
什么是 PydanticAI?
PydanticAI 是一个 AI 框架,旨在简化 AI 应用的开发、部署和管理。它集成了异步编程、数据验证和工作流程管理,形成一个 cohesive 系统。
使用 PydanticAI Graphs 的主要优势是什么?
PydanticAI Graphs 使开发者能够以更高的清晰度和控制力创建复杂的 AI 代理工作流程。图结构便于这些工作流程的建模和可视化,增强了可维护性和性能。
PydanticAI Graphs 是否依赖于其他 PydanticAI 组件?
虽然作为 PydanticAI 的一部分开发,PydanticAI Graphs 不依赖于其他组件,可以独立用于基于图的状态机应用。这种灵活性使其适用于广泛的项目。
相关问题
PydanticAI 的替代方案有哪些?
用于构建 AI 代理和工作流程的替代方案包括:
- Langchain: 一个用于使用大型语言模型(LLMs)创建应用的框架。
- AutoGen: 由 Microsoft 开发,帮助开发者通过协调多个可对话以解决任务的代理来构建会话 AI。
- Haystack: 由 deepset 提供的开源框架,使开发者能够在大规模文档集合上构建智能搜索应用。
相关文章
Anthropic公司的实验性人工智能Claude在电子商务测试中完成了谈判和交易
随着人工智能的飞速发展,Anthropic上周五悄然启动了一项名为“Project Deal”的内部实验,展示了人工智能在电子商务领域的潜力。该实验让其人工智能模型Claude在封闭的市场环境中自主处理买卖及价格谈判,并涉及真实的金融交易。实验的核心是一个基于Slack构建的内部市场,Claude在其中同时担任买卖双方的谈判代表。它首先对69名员工进行了访谈,收集了他们的买卖意向及个性化指示,随后
DeepSeek Code 即将发布
随着人工智能技术的加速发展,DeepSeek正处于一个激动人心的关键时刻。这家人工智能公司近日透露,已获得超过700亿元的融资。公司管理层强调,将致力于开创性的人工智能研究,而非追求眼前的商业利益。这一战略转型表明,DeepSeek将全力投入新产品的开发,尤其是备受期待的DeepSeek Code。DeepSeek Code的规划已初具雏形,公司招聘页面上已发布多个相关职位,例如“Agent Ha
马斯克的Grok:1.5万亿参数与光标代码吸收——颠覆性突破还是虚张声势?
埃隆·马斯克终于开始行动了。在人工智能编程竞赛中,OpenAI和Anthropic正加速前进,而xAI似乎有些落后。马斯克曾多次表示要与Claude一较高下,尽管Grok4.X系列已多次更新,但其成果在理论上看似不错,实际应用中却未能达到预期,双方的差距几乎未见缩小。不过,这次他手中握有一张新牌。马斯克在X平台确认,Grok的新版本即将问世。 这款基础模型第九版的内部代号已确定,参数规模高达1.5
相关专题推荐
评论 (14)
0/500
This looks like a game-changer for workflow management! The ability to visualize AI interactions could make debugging so much easier. 🚀 I'm curious how this compares to LangGraph in real-world applications though - anyone tried both yet?
PydanticAI Graphs sound like a game-changer for AI workflows! The ability to visualize complex interactions is super cool, but I wonder how steep the learning curve is for newbies. 🤔 Anyone tried it yet?
Cette fonctionnalité de PydanticAI Graphs semble révolutionnaire, mais est-ce vraiment accessible aux développeurs moins expérimentés ou juste un jouet pour les pros ? 🤔
This PydanticAI Graphs thing sounds like a total game-changer for AI workflows! 😎 I'm curious, how easy is it to integrate with existing Python projects?
PydanticAI Graphs es un cambio de juego total para gestionar flujos de trabajo de IA. ¡Es como tener un mapa para navegar por interacciones de IA complejas! La visualización es súper clara, pero a veces puede ser un poco abrumadora. Aún así, es imprescindible para cualquier desarrollador que trabaje con agentes de IA. ¡Altamente recomendado! 🚀
PydanticAI 最近推出了一项颠覆性的功能,称为 PydanticAI Graphs,承诺将转变 AI 代理管理与执行工作流程的方式。这一新工具为开发者提供了以空前清晰度和效率建模、控制和可视化复杂 AI 交互的方法。在本文中,我们将深入探讨 PydanticAI Graphs,这一异步图与状态机库,探索其关键特性、优势以及其在革新 AI 开发方面的潜力。
关键要点
- PydanticAI 引入了图支持,用于建模 AI 代理工作流程。
- 这些图作为异步状态机运行,使用类型提示定义。
- 该库面向中高级开发者,提供复杂的控制选项。
- 核心组件包括 GraphRunContext、End、Nodes 和 Graph。
- 它旨在增强 AI 应用的决策过程。
- 这些核心组件是 PydanticAI Graphs 的基本构建模块。
了解 PydanticAI Graphs
什么是 PydanticAI Graphs?
PydanticAI Graphs 是一个专为 Python 构建的异步图与状态机库,使开发者能够使用类型提示定义节点和边。这种结构化方法允许设计复杂的 AI 代理交互。

该库使开发者能够以卓越的清晰度建模、执行、控制和可视化复杂的工作流程。通过使用 PydanticAI Graphs,您可以创建更健壮、易于理解和可维护的 AI 应用,为 AI 代理设计设定新标准。图与有限状态机的结合为管理复杂工作流程提供了强大的抽象。
目标受众
PydanticAI Graphs 专为中高级开发者量身定制,而非初学者。该工具需要对 Python 和图数据结构有扎实的理解。

鉴于其高级特性,该库利用 Python 泛型和类型提示来简化开发过程。对于熟悉图数据结构的开发者,PydanticAI Graphs 提供了无与伦比的强大功能和灵活性。
安装
开始使用 PydanticAI Graphs 非常简单。您可以使用 pip 安装:

建议同时安装 PydanticAI,尽管它是可选依赖项。
PydanticAI Graphs 的核心组件
PydanticAI Graphs 围绕四个核心组件构建,这些组件对于有效理解和使用该库至关重要:
- GraphRunContext: 类似于 PydanticAI 中的 RunContext,该组件管理图及其依赖项的状态。它就像接力赛中的接力棒,在节点之间传递关键信息以确保顺利执行。
- End: 这表示图执行的结束,标记节点返回其最终值。它是比赛的终点线,标志着工作流程的完成,特别有助于管理包含多个动作的复杂工作流程。
- Nodes: 这些是图的核心单元,通过 run 方法执行处理逻辑。
- Graph: 作为执行引擎,由节点组成。它是协调整个工作流程的主蓝图,类似于触发任务的管道。

PydanticAI Graphs 的高级主题
图数据结构及其重要性
在计算机科学中,图是表示实体之间连接的抽象数据类型。它们由顶点(或节点)和边组成,边可以是有向或无向的。

图有众多应用,从建模交通和公用事业网络到社交网络和分子结构。它们对于表示复杂关系和系统至关重要。
状态机解释
状态机是一种计算模型,任何时候只能处于有限数量的状态之一。它根据输入改变状态,这些改变称为转换。

状态机对于建模复杂系统、设计机器人控制器、分析计算机语言和开发视频游戏至关重要。它们可以可视化为有向图,其中节点表示状态,边表示转换。
如何使用 PydanticAI Graph
编写简单图
让我们设置一个包含三个节点的简单图:
- 节点 A 作为起始节点。
- 节点 B 作为决策节点。
- 节点 C 作为流程的结束。
每个节点共享一个基类类型,这一点至关重要。首先,导入必要的组件:

from dataclasses import dataclass
from pydantic_graph import GraphRunContext, BaseNode, Graph, End
,[object Object],[object Object]@dataclass
class NodeC(BaseNode[int]):
track_number: int编写异步 Run 方法
现在,让我们为这些节点编写异步 run 方法:
@dataclass
class NodeA(BaseNode[int]):
track_number: int
async def run(self, ctx: GraphRunContext) -> BaseNode:
print(f'调用节点 A')
return NodeB(self.track_number)
,[object Object]@dataclass
class NodeC(BaseNode[int]):
track_number: int
async def run(self, ctx: GraphRunContext) -> End:
print(f'调用节点 C')
return End(f'在节点 C 返回的值:{self.track_number}')节点 A 将跟踪传递给节点 B,节点 B 决定是停止执行还是继续到节点 C。
运行
最后,初始化图并运行它:
graph = Graph(nodes=[NodeA, NodeB, NodeC])
result, history = graph.run_sync(start_node=NodeA(track_number=1))
print('*' * 40)
print('历史记录:')
for history_part in history:
print(history_part)
print('*' * 40)
print(f'结果:{result}')此代码将调用节点 A,然后在节点 B 处停止执行,跟踪值为 1。
使用 PydanticAI Graphs 的优势与劣势
优势
- 增强的工作流程建模和可视化。
- 异步操作以实现高性能。
- 类型提示以实现健壮的代码。
- 可独立使用。
劣势
- 对初学者来说学习曲线陡峭。
- 早期测试版可能包含错误和不完整的文档。
常见问题解答
什么是 PydanticAI?
PydanticAI 是一个 AI 框架,旨在简化 AI 应用的开发、部署和管理。它集成了异步编程、数据验证和工作流程管理,形成一个 cohesive 系统。
使用 PydanticAI Graphs 的主要优势是什么?
PydanticAI Graphs 使开发者能够以更高的清晰度和控制力创建复杂的 AI 代理工作流程。图结构便于这些工作流程的建模和可视化,增强了可维护性和性能。
PydanticAI Graphs 是否依赖于其他 PydanticAI 组件?
虽然作为 PydanticAI 的一部分开发,PydanticAI Graphs 不依赖于其他组件,可以独立用于基于图的状态机应用。这种灵活性使其适用于广泛的项目。
相关问题
PydanticAI 的替代方案有哪些?
用于构建 AI 代理和工作流程的替代方案包括:
- Langchain: 一个用于使用大型语言模型(LLMs)创建应用的框架。
- AutoGen: 由 Microsoft 开发,帮助开发者通过协调多个可对话以解决任务的代理来构建会话 AI。
- Haystack: 由 deepset 提供的开源框架,使开发者能够在大规模文档集合上构建智能搜索应用。
Anthropic公司的实验性人工智能Claude在电子商务测试中完成了谈判和交易
随着人工智能的飞速发展,Anthropic上周五悄然启动了一项名为“Project Deal”的内部实验,展示了人工智能在电子商务领域的潜力。该实验让其人工智能模型Claude在封闭的市场环境中自主处理买卖及价格谈判,并涉及真实的金融交易。实验的核心是一个基于Slack构建的内部市场,Claude在其中同时担任买卖双方的谈判代表。它首先对69名员工进行了访谈,收集了他们的买卖意向及个性化指示,随后
DeepSeek Code 即将发布
随着人工智能技术的加速发展,DeepSeek正处于一个激动人心的关键时刻。这家人工智能公司近日透露,已获得超过700亿元的融资。公司管理层强调,将致力于开创性的人工智能研究,而非追求眼前的商业利益。这一战略转型表明,DeepSeek将全力投入新产品的开发,尤其是备受期待的DeepSeek Code。DeepSeek Code的规划已初具雏形,公司招聘页面上已发布多个相关职位,例如“Agent Ha
马斯克的Grok:1.5万亿参数与光标代码吸收——颠覆性突破还是虚张声势?
埃隆·马斯克终于开始行动了。在人工智能编程竞赛中,OpenAI和Anthropic正加速前进,而xAI似乎有些落后。马斯克曾多次表示要与Claude一较高下,尽管Grok4.X系列已多次更新,但其成果在理论上看似不错,实际应用中却未能达到预期,双方的差距几乎未见缩小。不过,这次他手中握有一张新牌。马斯克在X平台确认,Grok的新版本即将问世。 这款基础模型第九版的内部代号已确定,参数规模高达1.5
This looks like a game-changer for workflow management! The ability to visualize AI interactions could make debugging so much easier. 🚀 I'm curious how this compares to LangGraph in real-world applications though - anyone tried both yet?
PydanticAI Graphs sound like a game-changer for AI workflows! The ability to visualize complex interactions is super cool, but I wonder how steep the learning curve is for newbies. 🤔 Anyone tried it yet?
Cette fonctionnalité de PydanticAI Graphs semble révolutionnaire, mais est-ce vraiment accessible aux développeurs moins expérimentés ou juste un jouet pour les pros ? 🤔
This PydanticAI Graphs thing sounds like a total game-changer for AI workflows! 😎 I'm curious, how easy is it to integrate with existing Python projects?
PydanticAI Graphs es un cambio de juego total para gestionar flujos de trabajo de IA. ¡Es como tener un mapa para navegar por interacciones de IA complejas! La visualización es súper clara, pero a veces puede ser un poco abrumadora. Aún así, es imprescindible para cualquier desarrollador que trabaje con agentes de IA. ¡Altamente recomendado! 🚀





首页






