感恩节是美国的节日(也是我们最喜欢的节日之一——我们有很多值得感恩的事情!)。许多人对食物或优惠感到兴奋,但对于作为开发人员的我来说,这一直是一个可以安静地闲逛和玩新技术的美好假期。因此,本着这种精神,我们很高兴地宣布,Stable Diffusion 和 Code Llama 现已作为 Workers AI 的一部分提供,在 Cloudflare 全球网络覆盖的 100 多个城市运行。
正如许多人工智能爱好者所知,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 等。欢迎您在此处注册。