写点什么

Cloudflare Workflows 为持久化的 AI 管道提供了 Python 支持

作者:Steef-Jan Wiggers

  • 2025-11-24
    北京
  • 本文字数:1202 字

    阅读完需:约 4 分钟

大小:592.15K时长:03:22
Cloudflare Workflows为持久化的AI管道提供了Python支持

Workflows是 Cloudflare 的一项服务,它提供了一个持久的执行引擎,用于构建多步骤的应用程序编排。最初,它只支持 TypeScript,现在它提供了支持Python的 beta 版本,因为据该公司称,Python 是数据管道、人工智能/机器学习以及数据工程师任务自动化的首选语言。

 

Cloudflare Workflows 建立在WorkersDurable Objects的基础架构之上。后者提供了长时间运行过程所需的状态持久化和协调功能,确保工作流保持其状态,并在失败时可以重试单个步骤。

 

该公司一年前引入了 Workflows,并详细说明了其功能:

每个 Workflow 的核心构建块是步骤:在应用程序中,可单独重试的组件可以选择性地发出状态。随后,即便后续步骤失败,该状态也会持久化保存。这意味着应用程序不必重新启动,从而允许它更快地从失败场景中恢复,并避免冗余工作。

 

在最近关于 Python 支持的博客文章中,作者解释说:

多年来,我们一直在为开发人员提供在 Cloudflare 上用 Python 构建这些应用程序的工具。在 2020 年,我们通过Transcrypt将Python引入Workers,然后在 2024 年直接将 Python 集成到workerd中。今年早些时候,我们在 Workers 中添加了对 CPython 的支持,以及在Pyodide中构建的包,如 matplotlib 和 pandas。现在,Python Workflows 也得到了支持,因此开发者可以使用他们最熟悉的语言创建强大的应用程序。

 

Cloudflare Workflows 使用了持久化执行的基础架构,同时为 Python 用户提供了一种符合 Python 习惯的方式来编写工作流。此外,该公司旨在实现 JavaScript 和 Python SDK 之间的完全功能对等,现在这已经成为可能,因为 Cloudflare Workers 原生支持 Python。

 

公司的一个重要关注点是确保 Python SDK 的感觉符合“Pythonic”(即遵循 Python 的风格和习惯)。该平台提供了内置的异步操作和并发支持,使开发者能够管理跨步骤的依赖关系,即便任务可能会并发运行。

 

这是通过两种方法实现的:一种利用 Python 的 asyncio.gather 进行并发执行,它将 JavaScript promise(thenables)代理到 Python awaitable,另一种更符合 Python 习惯的方法是使用 Python 装饰器(@step.do)来定义步骤和依赖关系,允许更清晰地声明有向无环图(Directed Acyclic Graph,DAG)执行流程。引擎自动管理步骤之间的状态和数据流。



(图片来源:X Tweet Matt Silverlock

 

引入 Python 为复杂的、长时间运行的应用程序打开了工作流的大门,如下这些应用程序从能够编排中受益:

  • AI/ML 模型训练:编排像数据集标记、向模型提供数据、等待模型运行完成、评估损失,并在继续循环之前通知人工进行手动调整等序列。

  • 数据管道:通过定义的一组幂等步骤,自动化复杂的摄取和处理管道,确保可靠的数据转换。

  • AI Agent:构建多步骤的 Agent(例如,一个杂货店的 Agent,它能够编译列表、检查库存并下订单),其中状态持久化和重试对于形成成功的结论至关重要。

 

最后,GitHub上提供了可用的 Python 工作流样例。

 

查看英文原文:Cloudflare Workflows Adds Python Support for Durable AI Pipelines

2025-11-24 16:533422

评论

发布
暂无评论

我在Dubbo源码里学到了如何保证虚拟节点均匀分布!

Kareza

dubbo dubbo源码

[译] Android 的 Java 8 支持

Antway

6月日更

Git 各指令的本质,真是通俗易懂啊

xcbeyond

6月日更

新手讲解this

前端树洞

JavaScript 面试 大前端 js

Kubernetes手记(10)- POD 存储卷

雪雷

k8s 6月日更

产品开发的过程

Qien Z.

运营管理 6月日更

这可能是介绍Android UvcCamera最详细的文章了

小驰笔记

android 音视频 UvcCamera 引航计划

【21-6】PushGateway快速上手

耳东@Erdong

Prometheus 6月日更 PushGateway

架构实战营模块6作业

梦寐凯旋

#架构实战营

☕【JVM技术探索】重塑虚拟机性能调优计划

码界西柚

JVM jvm调优 GC调优 6月日更

拆分电商系统为微服务

chenmin

JAVA笔记(一)--软件安装-MyEclipse

加百利

Java 6月日更

架构实战营-模块一作业

rubys_

架构实战营

CSS 选择器总结

编程三昧

CSS html5 大前端 DIV+CSS CSS选择器

🍃【SpringBoot技术专题】「StateMachine」FSM状态机设计及实现

码界西柚

springboot 6月日更 状态机 StateMachine

JavaScript学习(二)

空城机

JavaScript 大前端 6月日更

《原则》(十三)

Changing Lin

6月日更

从零开始搭建一个个人博客网站--Task0

IT蜗壳-Tango

django IT蜗壳教学 6月日更 Datawhale

模块6作业

薛定谔的指南针

架构实战营

网络攻防学习笔记 Day44

穿过生命散发芬芳

网络攻防 6月日更

2020年度编程语言排行榜 C语言称霸,Java遭遇滑铁卢?

架构精进之路

编程语言 6月日更

浅浅谈Redux

蛋先生DX

React Redux 6月日更

nacos配置中心模块详解

捉虫大师

nacos 配置中心

【经验分享】RTC 技术系列之视频编解码

Hanson

音视频

「SQL数据分析系列」2. 创建和使用数据库

Databri_AI

数据库 语法

(VMware)ubuntu 环境下搭建docker环境

逸少

Docker Docker-compose vmware Ubuntu20.04

算法之统计岛屿数量

Skysper

算法 深度优先搜索

【Vue2.x 源码学习】第十三篇 - 生成 ast 语法树 - 正则说明

Brave

源码 vue2 6月日更

ES2021 带来的新特性

KooFE

JavaScript 6月日更 ES2021

LeetCode 每日一题「判定字符是否唯一」

陈皮的JavaLib

Java 算法 LeetCode

常用消息队列对比

看山

MQ 6月日更

Cloudflare Workflows为持久化的AI管道提供了Python支持_云计算_InfoQ精选文章