[ PROMPT_NODE_26824 ]
getting-started
[ SKILL_DOCUMENTATION ]
# Modal 入门指南
## 注册
在 https://modal.com 免费注册,并获得每月 30 美元的额度。
## 身份验证
使用 Modal CLI 设置身份验证:
bash
modal token new
这会在 `~/.modal.toml` 中创建凭据。或者,设置环境变量:
- `MODAL_TOKEN_ID`
- `MODAL_TOKEN_SECRET`
## 核心概念
### Modal 是 Serverless 的
Modal 是一个 Serverless 平台 - 仅为您使用的资源付费,并可在几秒钟内按需启动容器。
### 核心组件
**App(应用)**: 代表在 Modal 上运行的应用程序,将一个或多个函数组合在一起进行原子部署。
**Function(函数)**: 作为独立单元运行,可独立进行伸缩。当没有实时输入时,不会运行容器(也不会产生费用)。
**Image(镜像)**: 代码运行的环境 - 一个安装了依赖项的容器快照。
## 第一个 Modal 应用
创建一个文件 `hello_modal.py`:
python
import modal
app = modal.App(name="hello-modal")
@app.function()
def hello():
print("Hello from Modal!")
return "success"
@app.local_entrypoint()
def main():
hello.remote()
运行命令:
bash
modal run hello_modal.py
## 运行应用
### 临时应用(开发)
使用 `modal run` 临时运行:
bash
modal run script.py
脚本退出时应用停止。使用 `--detach` 可在客户端退出后保持运行。
### 已部署应用(生产)
使用 `modal deploy` 进行持久化部署:
bash
modal deploy script.py
在 https://modal.com/apps 查看已部署的应用,或使用:
bash
modal app list
停止已部署的应用:
bash
modal app stop app-name
## 关键特性
- **快速原型设计**: 编写 Python 代码,几秒钟内即可在 GPU 上运行
- **Serverless API**: 使用装饰器创建 Web 端点
- **定时任务**: 在云端运行 Cron 任务
- **GPU 推理**: 访问 T4, L4, A10, A100, H100, H200, B200 GPU
- **分布式存储卷**: 用于机器学习模型的持久化存储
- **沙箱**: 用于不受信任代码的安全容器