感恩節是美國的節日(也是我們最喜歡的節日之一——我們有很多值得感恩的事情!)。許多人對食物或優惠感到興奮,但對於作為開發人員的我來說,這一直是一個可以安靜地閒逛和玩新技術的美好假期。因此,本著這種精神,我們很高興地宣佈,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 等。歡迎您在此處註冊。