来源:examples/cog

示例:Cog + SkyPilot#

使用 SkyPilot 自助托管任何 Cog 打包的项目。

这是来自 replicate/cog-examples 的“Blur”示例。

使用单个实例进行服务#

sky launch -c cog ./sky.yaml

IP=$(sky status --ip cog)

curl http://$IP:5000/predictions -X POST \
  -H 'Content-Type: application/json' \
  -d '{"input": {"image": "https://blog.skypilot.org.cn/introducing-sky-serve/images/sky-serve-thumbnail.png"}}' \
  | jq -r '.output | split(",")[1]' | base64 --decode > output.png

使用 SkyServe 扩展部署#

我们可以使用 SkyServe (sky serve) 将部署扩展到多个实例,同时享受负载均衡、自动扩缩容以及其他 SkyServe 功能

sky serve up -n cog ./sky.yaml

请注意,唯一的更改是从 sky launch 变为 sky serve up。可以使用相同的 YAML 文件,无需更改。

服务启动后,使用以下方式访问部署

ENDPOINT=$(sky serve status --endpoint cog)

curl http://$ENDPOINT/predictions -X POST \
  -H 'Content-Type: application/json' \
  -d '{"input": {"image": "https://blog.skypilot.org.cn/introducing-sky-serve/images/sky-serve-thumbnail.png"}}' \
  | jq -r '.output | split(",")[1]' | base64 --decode > output.png

包含的文件#