跳到主要内容

EasyRemote:把现有 Python 函数变成团队可复用的远程能力

MIT更新于 2026/9/14

以类型化函数接口共享常驻模型、业务逻辑与设备能力,支持媒体流、子调用、Pipeline 和只分发契约的网络原生 Python 库。

0 views

一个模型已经在实验室机器上跑通,同事却还要复制权重、核对 CUDA 和依赖,才能写下一行评估代码。销售需要复用报价规则,规则维护者又不得不先搭一个接口服务。EasyRemote 从这些具体摩擦出发:把现有 Python 函数发布为 EasyNet ability,让使用者直接提交业务参数,执行继续发生在拥有模型、数据或设备的机器上。

提供方用 ComputeNode@node.register 声明函数,再用 node.serve() 启动常驻宿主。调用方用 @remote 写同名、同签名的接口,函数体可以只有省略号。调用时,位置参数与默认值在本地绑定,真正的实现由运行时寻址后执行。维护者因此可以在一个地方更新报价算法或模型实现;消费者主要维护输入输出契约,不必接管整套执行环境。

这个入口并不止于简单 RPC。普通函数返回一个结果,生成器逐项返回文本、结构化数据或带媒体类型的字节帧。需要串联工作时,可以在宿主函数中发起带父回执关联的子调用,也可以把多个步骤编译成 Pipeline,交给运行时执行。函数由此既能供人写脚本调用,也能成为更长自动化流程中的一个明确步骤。

仓库的九个独立 gallery 把这些选择放进可检查的任务:报价计算用整数金额避免浮点歧义;常驻模型接受短文本、返回八维向量;CRM 工具只开放账户查询和有限跟进操作;故障诊断输出限定服务的证据;数据驻留案例只释放摘要和标签;摄像头与机器人分别展示有限图像流和有状态动作。模型向量目前来自哈希适配器,病历是合成记录,设备也是模拟实现。它们已经给出了参数约束、输出形状和替换位置,接真实资源时可沿用调用接口。

当同一组函数被更多团队使用,网络库进一步减少重复手写 stub:消费者安装 manifest,获得可导入的 .py、类型提示与锁定元数据,实现仍留在提供方。这里的设计取舍是先分发接口:编辑器能看见签名,消费端不载入提供方实现,调用时才连接执行环境。