runpod/runpod-python
🐍 | Python library for Runpod API and serverless worker SDK.
Runpod | Python 库
这是一个轻量且文档完善的 Python SDK,让您可以从自己的代码中与 Runpod 的云平台进行交互(GPU 驱动的“pods”和无服务器端点)。它封装了 Runpod REST v2 API,提供了一个用于构建无服务器 worker(自定义模型推理 API)的小型框架,并包含用于 pod 生命周期管理的辅助工具。
功能介绍
| 领域 | 能力 |
|---|---|
| 无服务器 worker SDK | 编写一个处理任务的 Python 函数,然后使用 runpod.serverless.start({"handler": my_func}) 启动它。SDK 会处理健康检查、选用的 GPU/卷预热缓存,并可在本地执行以进行调试。 |
| REST v2 封装 | runpod.Endpoint(id) 提供一个对象,包含 .run() (异步) 与 .run_sync() (同步) 方法来调用已部署的端点。 |
| Pod 管理 | 诸如 runpod.create_pod()、runpod.get_pods()、runpod.stop_pod()、runpod.resume_pod()、runpod.terminate_pod() 等函数,让您能以编程方式启动、查询与控制 GPU 或 CPU pod。 |
| API 密钥处理 | 通过 runpod.api_key 设置全局密钥或针对个别端点设置;优先级已记录且具备线程安全性。 |
| 实用辅助工具 | VolumeCache 用于预热网络挂载的模型缓存;健康检查装饰器可在 worker 启动前验证 GPU、磁盘空间等。 |
快速入门(无服务器 worker)
# my_worker.py
import runpod
def is_even(job):
n = job["input"]["number"]
if not isinstance(n, int):
return {"error": "need an integer"}
return n % 2 == 0
runpod.serverless.start({"handler": is_even})
将此脚本作为容器的入口点(Docker CMD 或 Runpod 模板),该函数将被公开为自定义 API 端点。
快速入门(调用现有端点)
import runpod
runpod.api_key = "YOUR_KEY"
ep = runpod.Endpoint("ENDPOINT_ID")
result = ep.run_sync({"text": "hello"})
print(result) # → 模型输出或状态字典
Pod 生命周期示例
import runpod
runpod.api_key = "YOUR_KEY"
# 创建一个 GPU pod
pod = runpod.create_pod(name="demo", image="runpod/stack", gpu_type="NVIDIA GeForce RTX 4090")
print(pod["id"])
# 稍后…
runpod.stop_pod(pod["id"]) # 暂停
runpod.resume_pod(pod["id"]) # 恢复
runpod.terminate_pod(pod["id"]) # 删除
安装
# 稳定版本
pip install runpod # 或: uv add runpod
# 最新开发版本
pip install git+https://github.com/runpod/runpod-python.git
需要 Python 3.10+。
重要设计点
- 健康检查 – 装饰器 (
@runpod.serverless.register_fitness_check) 在 worker 启动时执行一次;失败会中止程序,以便编排器重新启动健康的实例。 - 网络卷预热缓存 –
VolumeCache在冷启动时将远程卷(例如 HuggingFace 模型缓存)复制到本地存储,并在退出时同步回传,将数 GB 的下载量转变为每个端点一次性的成本。 - 线程安全的端点对象 – 每个
Endpoint存储其自己的 API 密钥,使来自多个线程的并发请求变得安全。 - 功能完整的 Pod 创建 – 支持 GPU 与 CPU pod、自定义 Docker 参数、卷挂载、放置限制与扩展参数。
下一步该做什么?
- 文档 – https://docs.runpod.io/serverless-ai/custom-apis 以及仓库中的
docs/文件夹。 - 示例 – 查看
examples/目录以获取现成的 worker 与 pod 脚本。 - 社区 – 加入 Discord(链接在 README 中)以获取帮助、功能请求与公告。
总结: runpod Python 套件是您的代码与 Runpod GPU 云之间官方的生产级桥梁,让您只需几行 Python 代码即可启动 pod、调用模型端点或发布自定义无服务器推理 API。
相关
- 项目
- 项目
- 项目
- 项目
- 项目