mcpField
M
modal

modal

github.com/modal-labs云与 DevOps530144 次安装今天更新
代码仓库

关于 modal

Modal 是用于使用 Modal 云平台的技能,该平台为 AI 工作负载提供无服务器计算,包括 GPU。它说明 CLI、文档查询和 SDK 的使用方式;执行 Modal 操作需要互联网连接和授权令牌。

主要功能

  1. 01提供使用 CLI 运行和部署代码的指引
  2. 02说明资源管理与 Apps 观测方式
  3. 03提供本地 API 参考和下载的指南
  4. 04指导查询版本与更新日志
  5. 05介绍使用 .aio() 接口的异步 Python

适用场景

  1. 01在 Modal 上运行或部署工作负载
  2. 02管理 Modal 资源或观测 Apps
  3. 03查找 SDK 特定行为的文档
  4. 04编写调用 Modal 的异步 Python

安装

复制下面的命令,在终端中运行。

$npx skills add https://github.com/modal-labs/modal-client --skill modal

安装后在 Claude Code 中输入/modal确认已加载。

详细介绍

概述

这是使用 Modal 云平台的基础技能。

Modal 是一个面向 AI 工作负载的平台。它提供高度可扩展的无服务器计算(包括 GPU),且只需极少的配置。

使用 CLI 或运行依赖 modal 库的代码都需要互联网连接和授权令牌。Modal 没有“本地开发模式”。

文档

官方文档是获取平台最新信息的最佳来源。在规划、调试或回答问题时,请充分利用这些文档!

Modal 的最新文档(可能涵盖较新 SDK 版本中引入的功能)列于 https://modal.com/llms.txt。该文件包含所有公开文档的标题和 URL;直接阅读它可以帮助你找到特定内容。添加 .md 扩展名以纯文本形式获取文档。

通过 Modal CLI 安装时,除非传入 --no-docs,否则该技能会在 references/ 中安装本地文档:

  • api/:根据用于安装或更新该技能的 SDK 的签名和文档字符串,在本地生成的 API 参考。
  • guide/ 和 examples/:从在线文档下载的指南和示例。它们反映下载时的网站内容,可能涵盖该 SDK 版本尚不可用的功能。

你也可以参考 https://modal.com/llms-full.txt,该文件汇总了所有文档,内容非常庞大。*不要*将其完整读入主上下文,但可以用来搜索。

使用 CLI

modal CLI 可用于运行或部署代码、管理资源,以及查看正在运行的 App。在开发的各个阶段,它都是与 Modal 交互的重要工具。

运行 modal --help 查看所有可用的 CLI 命令。

运行 modal [command] --help 可查看每条命令的详细信息。请通过 --help 了解功能:每个版本都会添加新功能!如果遇到用法错误,请务必查看 --help。

提示:许多 CLI 命令都接受 --json 标志,以便更轻松地解析输出,例如使用 jq。

modal CLI 是 Python SDK 的一部分,并在 Python 运行时中执行。根据用户偏好的 Python 开发工作流,你可能需要在 modal CLI 命令前加上 uv run 等前缀,以确保 Python 环境一致。也可以通过 uvx 将 CLI 作为独立工具使用,但仅限在 Python 项目之外工作时使用。

运行 Modal CLI 命令时不要附加终端(TTY/PTY),这样日志会以纯文本形式显示,而不会反复重绘旋转指示器。

保持信息更新

根据训练数据,你对 Modal 已有相当深入的了解,但可能不了解新功能或 API 的近期变更。Modal 会持续添加新功能。在规划或调试时阅读相关文档,有助于你了解在 Modal 上完成任务的最新方式。

Modal CLI 提供了 modal changelog 命令,用于了解近期变更。以下是一些有用的调用方式:

  • modal changelog --since [DATE] 查看自你的知识截止日期以来新增的变更
  • modal changelog --since [VERSION] 将代码库迁移到较新版本时查看变更
  • modal changelog --newer 了解更新后可用的功能

注意:modal changelog 的输出可能很长。不要将其完整加载到上下文中。

运行 modal --version 查看当前使用的 SDK 版本。

如果代码使用了已弃用的 API,Modal 会发出警告。请根据警告信息和相关文档,将代码迁移到稳定 API。

使用此技能前,请检查元数据中的版本是否与 modal --version 完全一致。如果不一致,请运行 modal skills update 更新;如果此技能位于 .claude/ 目录下,请传入 --claude;如果它位于主目录而非项目目录下,请传入 --global。

异步 Python

编写异步 Python 时,请使用 Modal 的 .aio() 接口(例如,await modal.Sandbox.create.aio(...)、await modal.Function.remote.aio(...)),以便 Modal 通过异步协程执行 I/O 操作。

其他语言

目前,Python 是 Modal Functions 唯一支持的运行时语言,但 Modal 提供 JavaScript(TypeScript)和 Go SDK:

Go / JS SDK 尚不如 Python SDK 成熟,可能缺少某些功能。目前 Go / JS SDK 的适用范围包括:(1) 创建和使用 Sandbox;(2) 调用已部署的 Modal Functions(即用 Python 定义的 Functions)。

这些 SDK 主要通过托管在 GitHub 上的示例进行文档说明,而非通过 Modal 官方文档进行说明。你在训练中对这些 SDK 的了解可能少得多,因此请参考这些示例。

评论

支持 Markdown