从 Pyodide 包装器到 Edge AI Engine
发布: (2025年12月17日 GMT+8 09:00)
3 min read
原文: Dev.to
Source: Dev.to
几个月前,我发布了 v1 版的 React 库,它可以让你直接在浏览器中运行 Python 机器学习模型。它可以工作——但反馈直截了当且公平:
“这基本上只是一个 Pyodide 的包装器。”
这句话很重要,因为它揭示了真正的问题。
v1 正确(以及错误)的地方
v1 证明了可行性
- Python + WASM + React 可以在客户端运行。
实际应用中的问题
- 推理会冻结 UI。
- Worker 的生命周期超过 React 组件 → 内存泄漏。
- WASM OOM(内存溢出)导致静默卡死。
- 清理逻辑脆弱且分散。
运行 Python 并不是难点;难点在于错误的编排。
v2 中的变化
- 完全重写 – 从包装器转向 Edge ML 的基础设施层。
- 受监管的 worker 池 – 卡死或 OOM 的 worker 会被自动终止并替换。
- 严格的 React 生命周期绑定 – 组件卸载 = worker 终止。没有僵尸进程。
- 零拷贝数据路径 – 在可能的情况下使用
SharedArrayBuffer,以避免序列化大型张量。
目标不仅是速度——更是故障下的可预测性。
这项工作的方向
我现在正在原型化一个 Neural Bundler —— 一个构建时编译器,将 Python 数学逻辑转换为 WebGPU 计算着色器,完全跳过 Pyodide,针对数学密集型工作负载。仍处于早期阶段,但前景非常可观。
如果你正在构建客户端 ML、边缘推理,或任何涉及 WASM + React 的项目,我很想听取你的想法。