订阅以接收新文章的通知:

Workers AI 更新:在 100 个城市推出 Stable Diffusion、Code Llama + Workers AI

2023-11-23

2 分钟阅读时间
这篇博文也有 English日本語한국어繁體中文版本。

感恩节是美国的节日(也是我们最喜欢的节日之一——我们有很多值得感恩的事情!)。许多人对食物或优惠感到兴奋,但对于作为开发人员的我来说,这一直是一个可以安静地闲逛和玩新技术的美好假期。因此,本着这种精神,我们很高兴地宣布,Stable DiffusionCode Llama 现已作为 Workers AI 的一部分提供,在 Cloudflare 全球网络覆盖的 100 多个城市运行。

Workers AI Update: Stable Diffusion, Code Llama + Workers AI in 100 cities

正如许多人工智能爱好者所知,Stable Diffusion 是一种突破性的图像生成模型,可以根据文本输入来生成图像。Code Llama 是一种功能强大的语言模型,针对生成编程代码进行了优化。

有关更多有趣的细节,请继续阅读本文,或前往开发人员文档以开始使用!

由 Stable Diffusion 生成——“快乐的骆驼在橙色云中庆祝感恩节”

利用 Stable Diffusion 生成图像

Stability AI 去年夏天推出了 Stable Diffusion XL 1.0 (SDXL)。您可以在此处阅读更多相关信息,但我们在本文中将简要提及一些亮点。

首先,“可以在没有模型赋予任何特定‘感觉’的情况下提示不同的图像,确保风格的绝对自由”。这非常棒,因为它为作为开发人员(或者我应该说艺术家)的您提供了空白画布。

此外,它“特别针对鲜艳和准确的色彩进行了精心调整,比其前身具有更好的对比度、照明和阴影,所有这些都采用原生 1024x1024 分辨率。”随着当今相机(或手机相机)的进步,高质量图像成为一种筹码,很高兴看到这些模型能够跟上其步伐。

开始使用 Workers AI + SDXL(通过 API)非常简单。请看下面的示例:

这就是我们快乐的小骆驼:

curl -X POST \
"https://api.cloudflare.com/client/v4/accounts/{account-id}/ai/run/@cf/stabilityai/stable-diffusion-xl-base-1.0" \
-H "Authorization: Bearer {api-token}" \
-H "Content-Type:application/json" \
-d '{ "prompt": "A happy llama running through an orange cloud" }' \
-o 'happy-llama.png'

您也可以在 Worker 中输入以下代码:

使用 Code Llama 生成代码

import { Ai } from '@cloudflare/ai';
export default {
  async fetch(request, env) {
    const ai = new Ai(env.AI);
    const response = await ai.run('@cf/stabilityai/stable-diffusion-xl-base-1.0', {
      prompt: 'A happy llama running through an orange cloud'
    });
    return new Response(response, {
      headers: {
          "content-type": "image/png",
      },
  });
  }
}

如果您不喜欢创作艺术,那么也许您可以从代码中获得一些乐趣。Code Llama 也是去年夏天由 Meta 发布的,它构建在 Llama 2 之上,但经过优化,可以理解许多流行语言(Python、C++、Java、PHP、Typescript / Javascript、C# 和 Bash)并以此生成代码。

您可以使用它来帮助您为遇到的棘手问题生成代码,或者您也可以使用它来帮助您理解代码——如果您选择了现有的未知代码库,那么 Code Llama 是最佳选择。

与所有其他模型一样,使用 Workers AI 生成代码也非常简单。

来自 Worker :

使用 curl:

import { Ai } from '@cloudflare/ai';

// Enable env.AI for your worker by adding the ai binding to your wrangler.toml file:
// [ai]
// binding = "AI"

export default {
  async fetch(request, env) {
    const ai = new Ai(env.AI);
    const response = await ai.run('@hf/thebloke/codellama-7b-instruct-awq', {
      prompt: 'In JavaScript, define a priority queue class. The constructor must take a function that is called on each object to determine its priority.'
    });
    return Response.json(response);
  }
}

使用 python:

curl -X POST \
"https://api.cloudflare.com/client/v4/accounts/{account-id}/ai/run/@hf/thebloke/codellama-7b-instruct-awq" \

-H "Authorization: Bearer {api-token}" \-H "Content-Type: application/json" \
-d '{ "prompt": "In JavaScript, define a priority queue class. The constructor must take a function that is called on each object to determine its priority." }

Workers AI 推理现已在 100 个城市推出

#!/usr/bin/env python3

import json
import os
import requests

ACCOUNT_ID=os.environ["ACCOUNT_ID"]
API_TOKEN=os.environ["API_TOKEN"]
MODEL="@hf/thebloke/codellama-7b-instruct-awq"

prompt="""In JavaScript, define a priority queue class. The constructor must take a function that is called on each object to determine its priority."""
url = f"https://api.cloudflare.com/client/v4/accounts/{ACCOUNT_ID}/ai/run/{MODEL}"
headers = {
  "Authorization": f"Bearer {API_TOKEN}"
}
payload = json.dumps({
  "prompt": prompt
})

print(url)
r = requests.post(url, data=payload, headers=headers)

j = r.json()
if "result" in j and "response" in j["result"]:
   print(r.json()["result"]["response"])
else:
   print(json.dumps(j, indent=2))

当我们在 9 月份首次发布 Workers AI 时,我们在七个城市推出了推理运行,但设定了一个雄心勃勃的目标,即到今年年底在 100 个城市支持 Workers AI 推理,到 2024 年底几乎在所有地方支持 Workers AI 推理。很自豪地说,我们比计划提前了,现在已经在 100 个城市支持 Workers AI 推理,这要归功于多个团队中一些勤奋且出色的人员。对于开发人员来说,这意味着您的推理任务更有可能在您的用户附近运行,并且在接下来的 18 个月内还会继续改进。

再次介绍 Mistral

最后,以防您没有看到我们本周早些时候的其他更新,我想再次声明,我们还推出了 Mistral 7B,这是一个功能强大的语言模型,其规模也非常强大。您可以在此处阅读有关它的更多信息,或在此处开始使用它进行构建。

去构建一些有趣的东西吧

今天,我们为您提供了在更多城市运行的图像(艺术)、代码和 Workers AI 推理。请享受乐趣,构建一些很酷的东西吧。如果您需要帮助、想要提供反馈,或者想要分享您正在构建的内容,请进入我们的开发人员 Discord

感恩节快乐!

此外,如果您刚刚开始使用 AI,我们将提供一系列开发人员研讨会,范围包括了解嵌入、模型和向量数据库等基础知识,以及在 Workers AI 上开始使用 LLM 等。欢迎您在此处注册

我们保护整个企业网络,帮助客户高效构建互联网规模的应用程序,加速任何网站或互联网应用程序抵御 DDoS 攻击,防止黑客入侵,并能协助您实现 Zero Trust 的过程

从任何设备访问 1.1.1.1,以开始使用我们的免费应用程序,帮助您更快、更安全地访问互联网。要进一步了解我们帮助构建更美好互联网的使命,请从这里开始。如果您正在寻找新的职业方向,请查看我们的空缺职位
Workers AICloudflare Workers

在 X 上关注

Phil Wittig|@pdwittig
Cloudflare|@cloudflare

相关帖子

2024年10月31日 13:00

Moving Baselime from AWS to Cloudflare: simpler architecture, improved performance, over 80% lower cloud costs

Post-acquisition, we migrated Baselime from AWS to the Cloudflare Developer Platform and in the process, we improved query times, simplified data ingestion, and now handle far more events, all while cutting costs. Here’s how we built a modern, high-performing observability platform on Cloudflare’s network. ...

2024年10月24日 13:05

Build durable applications on Cloudflare Workers: you write the Workflows, we take care of the rest

Cloudflare Workflows is now in open beta! Workflows allows you to build reliable, repeatable, long-lived multi-step applications that can automatically retry, persist state, and scale out. Read on to learn how Workflows works, how we built it on top of Durable Objects, and how you can deploy your first Workflows application....