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: 作为执行引擎,由节点组成。它是 orchestrate 整个工作流程的主蓝图,类似于触发任务的管道。
PydanticAI Graphs 的高级话题
图数据结构及其重要性
在计算机科学中,图是表示实体之间连接的抽象数据类型。它们由顶点(或节点)和边组成,可以是有向或无向的。

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

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

from dataclasses import dataclass
from pydantic_graph import GraphRunContext, BaseNode, Graph, End
@dataclass
class NodeA(BaseNode[int]):
track_number: int
@dataclass
class NodeB(BaseNode[int]):
track_number: int
@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)
@dataclass
class NodeB(BaseNode[int]):
track_number: int
async def run(self, ctx: GraphRunContext) -> BaseNode | End:
print(f'调用节点 B')
if self.track_number == 1:
return End(f'在节点 B 停止,值为 --> {self.track_number}')
else:
return NodeC(self.track_number)
@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 应用程序的开发、部署和管理。它将异步编程、数据验证和工作流程管理整合成一个连贯的系统。
使用 PydanticAI Graphs 的主要好处是什么?
PydanticAI Graphs 使开发者能够以更大的清晰度和控制力创建复杂的 AI 代理工作流程。图结构允许更容易地建模和可视化这些工作流程,增强了可维护性和性能。
PydanticAI Graphs 是否依赖其他 PydanticAI 组件?
虽然作为 PydanticAI 的一部分开发,但 PydanticAI Graphs 并不依赖其他组件,并且可以独立用于基于图的状态机应用程序。这种灵活性使其适合各种项目。
相关问题
PydanticAI 的替代品有哪些?
构建 AI 代理和工作流程的替代品包括:
- Langchain: 一个用于创建使用大型语言模型(LLM)的应用程序的框架。
- AutoGen: 由微软开发,帮助开发者通过编排多个能够对话以解决任务的代理来构建对话式 AI。
- Haystack: 来自 deepset 的开源框架,使开发者能够在大量文档集合上构建智能搜索应用程序。
相关文章
IBM首席执行官敦促特朗普政府增加——而非削减——联邦AI研发资金
IBM首席执行官倡导在预算削减中加强联邦AI资金支持IBM首席执行官阿尔温德·克里希纳在谈到联邦对AI和新兴技术的资助时毫不含糊。面对特朗普政府大幅削减科学研究预算的推动,克里希纳认为增加研发投资对美国的未来至关重要。 “我们——无论是作为公司还是我个人——一直非常明确地表示,联邦资助的研发应该扩大,而非减少,”克里希纳在最近接受《TechCrunch》采访时表示。“我们的立场很明确:更多资金将
CGDream AI图像生成器:将您的创意转化为惊艳视觉效果
释放您的创造力,使用CGDream AI:终极AI图像生成器在当今快节奏的数字世界中,拥有将创意愿景变为现实的正确工具至关重要。无论您是设计师、营销人员还是内容创作者,CGDream AI图像生成器 是一个改变游戏规则的平台,只需几次点击即可将创意转化为惊艳的视觉效果。从文本到图像生成到3D模型转换,这个AI驱动的工具为打造引人注目的内容提供了无限可能。为什么选择CGDream AI?CGDrea
6个必须了解的ChatGPT项目功能以提升AI性能
ChatGPT项目迎来重大升级——以下是新功能OpenAI为ChatGPT项目推出了迄今为止最大的更新,将其从简单的组织工具转变为生产力 powerhouse。无论您是在管理研究、编码项目还是创意工作流,这六个新功能从根本上改变了您与AI的交互方式——使其更智能、更直观、在现实场景中更加实用。 让我们一一解析。 ChatGPT项目的6个变革性功能1. 语音模式来了(彻底改变游戏规则)语音模式不仅仅
评论 (10)
0/200
AlbertSanchez
2025-05-10 08:00:00
PydanticAI Graphs is a total game-changer for managing AI workflows! It's like having a map to navigate through complex AI interactions. The visualization is super clear, but sometimes it can be a bit overwhelming. Still, it's a must-have for any developer working with AI agents. Highly recommended! 🚀
0
StephenGreen
2025-05-10 08:00:00
PydanticAI GraphsはAIワークフローを管理するための完全なゲームチェンジャーです!複雑なAIの相互作用をナビゲートするための地図を持っているようなものです。ビジュアライゼーションはとても明確ですが、時々圧倒されることがあります。それでも、AIエージェントと働く開発者にとっては必須です。強くお勧めします!🚀
0
StevenGonzalez
2025-05-09 08:00:00
PydanticAI Graphs는 AI 워크플로우를 관리하는 데 혁신적인 도구입니다! 복잡한 AI 상호작용을 탐색하는 지도 같은 느낌이에요. 시각화가 매우 명확하지만, 가끔은 압도적일 수 있습니다. 그래도 AI 에이전트와 함께 일하는 개발자에게는 필수입니다. 강력 추천해요! 🚀
0
BruceSmith
2025-05-10 08:00:00
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! 🚀
0
JoseJackson
2025-05-09 08:00:00
PydanticAI Graphs - это полная смена игры для управления рабочими процессами ИИ! Это как иметь карту для навигации по сложным взаимодействиям ИИ. Визуализация очень четкая, но иногда может быть немного подавляющей. Тем не менее, это обязательный инструмент для любого разработчика, работающего с агентами ИИ. Настоятельно рекомендую! 🚀
0
LawrenceLee
2025-05-09 08:00:00
PydanticAI Graphs is a lifesaver for managing AI workflows! It's so intuitive and the visualizations are on point. Only downside is the learning curve can be steep, but once you get it, it's smooth sailing. Highly recommend if you're into AI dev! 🚀
0
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: 作为执行引擎,由节点组成。它是 orchestrate 整个工作流程的主蓝图,类似于触发任务的管道。
PydanticAI Graphs 的高级话题
图数据结构及其重要性
在计算机科学中,图是表示实体之间连接的抽象数据类型。它们由顶点(或节点)和边组成,可以是有向或无向的。
图在许多领域都有应用,从建模交通和公用事业网络到社交网络和分子结构。它们对于表示复杂的关系和系统至关重要。
状态机解释
状态机是一种计算模型,任何时刻都可以处于有限数量的状态之一。它根据输入改变状态,这些改变被称为转换。
状态机对于建模复杂系统、设计机器人控制器、分析计算机语言和开发视频游戏至关重要。它们可以被可视化为有向图,其中节点代表状态,边代表转换。
如何使用 PydanticAI Graph
编写一个简单的图
让我们设置一个包含三个节点的简单图:
- 节点 A 作为起始节点。
- 节点 B 作为决策节点。
- 节点 C 作为过程的结束。
每个节点共享一个基础类类型,这一点至关重要。首先,导入必要的组件:
from dataclasses import dataclass
from pydantic_graph import GraphRunContext, BaseNode, Graph, End
@dataclass
class NodeA(BaseNode[int]):
track_number: int
@dataclass
class NodeB(BaseNode[int]):
track_number: int
@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)
@dataclass
class NodeB(BaseNode[int]):
track_number: int
async def run(self, ctx: GraphRunContext) -> BaseNode | End:
print(f'调用节点 B')
if self.track_number == 1:
return End(f'在节点 B 停止,值为 --> {self.track_number}')
else:
return NodeC(self.track_number)
@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 应用程序的开发、部署和管理。它将异步编程、数据验证和工作流程管理整合成一个连贯的系统。
使用 PydanticAI Graphs 的主要好处是什么?
PydanticAI Graphs 使开发者能够以更大的清晰度和控制力创建复杂的 AI 代理工作流程。图结构允许更容易地建模和可视化这些工作流程,增强了可维护性和性能。
PydanticAI Graphs 是否依赖其他 PydanticAI 组件?
虽然作为 PydanticAI 的一部分开发,但 PydanticAI Graphs 并不依赖其他组件,并且可以独立用于基于图的状态机应用程序。这种灵活性使其适合各种项目。
相关问题
PydanticAI 的替代品有哪些?
构建 AI 代理和工作流程的替代品包括:
- Langchain: 一个用于创建使用大型语言模型(LLM)的应用程序的框架。
- AutoGen: 由微软开发,帮助开发者通过编排多个能够对话以解决任务的代理来构建对话式 AI。
- Haystack: 来自 deepset 的开源框架,使开发者能够在大量文档集合上构建智能搜索应用程序。




PydanticAI Graphs is a total game-changer for managing AI workflows! It's like having a map to navigate through complex AI interactions. The visualization is super clear, but sometimes it can be a bit overwhelming. Still, it's a must-have for any developer working with AI agents. Highly recommended! 🚀




PydanticAI GraphsはAIワークフローを管理するための完全なゲームチェンジャーです!複雑なAIの相互作用をナビゲートするための地図を持っているようなものです。ビジュアライゼーションはとても明確ですが、時々圧倒されることがあります。それでも、AIエージェントと働く開発者にとっては必須です。強くお勧めします!🚀




PydanticAI Graphs는 AI 워크플로우를 관리하는 데 혁신적인 도구입니다! 복잡한 AI 상호작용을 탐색하는 지도 같은 느낌이에요. 시각화가 매우 명확하지만, 가끔은 압도적일 수 있습니다. 그래도 AI 에이전트와 함께 일하는 개발자에게는 필수입니다. 강력 추천해요! 🚀




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 Graphs - это полная смена игры для управления рабочими процессами ИИ! Это как иметь карту для навигации по сложным взаимодействиям ИИ. Визуализация очень четкая, но иногда может быть немного подавляющей. Тем не менее, это обязательный инструмент для любого разработчика, работающего с агентами ИИ. Настоятельно рекомендую! 🚀




PydanticAI Graphs is a lifesaver for managing AI workflows! It's so intuitive and the visualizations are on point. Only downside is the learning curve can be steep, but once you get it, it's smooth sailing. Highly recommend if you're into AI dev! 🚀












