新規投稿のお知らせを受信されたい方は、サブスクリプションをご登録ください:

Workers AI最新情報:Stable Diffusion、Code Llama + Workers AIが100都市で利用可能

2023-11-23

2分で読了
この投稿はEnglish繁體中文한국어简体中文でも表示されます。

感謝祭は米国にとって祝日でしょう、(数多くの感謝すべきことがある、我々が大好きな祝日の一つです)。多くの人々は食べ物やセールの話に胸を躍らせていますが、開発者としての私にとっては、新しい技術をハックしたり遊ぶのに最適な静かな休日でもあります。このような私にとって、Stable DiffusionCode LlamaがWorkers AIの一部として利用可能になり、Cloudflareのグローバルネットワークの100都市以上で利用可能になったことを発表できることを嬉しく思います。

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

多くのAIファンがご存じのとおり、Stable Diffusionはテキスト入力を基に画像を生成できる画期的な画像生成モデルです。Code Llamaは、プログラミングコードの生成に最適化された強力な言語モデルです。

さらなる詳細については、この記事を読むか、開発者向けドキュメントをご覧ください。

Stable Diffusionによる生成 - 「感謝祭を祝うオレンジ色の雲と喜ぶラマ」

Stable Diffusionによる画像生成

Stability AIはこの夏、Stable Diffusion XL 1.0SDXLを発表しました。詳細はこちらからお読みいただけますが、いくつかの特筆すべき点について簡単にご紹介します。

1つ目は、「モデルが一定の「雰囲気」や特徴を強制的に付与することなく、利用者が自由に異なるスタイルの画像を作成できる」ことです。これは開発者として、むしろアーティストとして真っ白なキャンバスを提供してくれる素晴らしいものです。

さらに、「解像度が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",
      },
  });
  }
}

アートの生成に興味がない方は、コードの生成に活用するといった使い方もあります。この夏にMetaからも「Code Llama」がリリースされましたが、これはLlama 2の上に構築され、多くの一般的な言語(Python、C++、Java、PHP、Typescript / Javascript、C#、Bash)でコードを理解し生成するよう最適化されています。

現在頭を悩ませている部分のコーディングに使用したり、既存の未知のコード部分を理解するために使用することもできます。

また、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をリリースしたときに推論を実行していたのは7都市でしたが、私たちはこのWorkers AI推論を年末までに100都市、2024年度末までにほぼすべての場所でサポートするという野心的な目標を設定しました。複数のチームにまたがる素晴らしい人材のおかげで、予定を前倒しして進んでおり、現在100都市でWorkers AI推論をサポートしていることを誇りに思います。開発者にとって、これは推論タスクがユーザーの近くで実行される可能性が高いことを意味し、今後18か月は改善のみを続けることになります。

Mistralを見逃した方のために

最後に、今週初めに私たちの他のアップデートをご覧にならなかった方のために、私たちはそのサイズの割にはパンチの効いた非常に有能で強力な言語モデルであるMistral 7Bも発表しました。詳しくはこちらをお読みいただくか、こちらから構築を始めることができます。

前進し、楽しいものを作っていきましょう。

今回、私たちはより多くの都市で実行されるようになった画像(アート)、コード、Workers AI推論についてお届けしました。楽しみながら、何か素晴らしいものを作ってください。そして、ヘルプが必要な場合、フィードバックを提供したい場合、構築しているものを共有したい場合は、開発者Discordにお越しください。

感謝祭おめでとう!

さらに、AIを始めたばかりの方向けに、Embedding、モデル、ベクトルデータベースなどの基本の理解から、Workers AIでのLLMの開始まで、一連の開発者ワークショップを提供しています。こちらからご登録ください

Cloudflareは企業ネットワーク全体を保護し、お客様がインターネット規模のアプリケーションを効率的に構築し、あらゆるWebサイトやインターネットアプリケーションを高速化し、DDoS攻撃を退けハッカーの侵入を防ぎゼロトラスト導入を推進できるようお手伝いしています。

ご使用のデバイスから1.1.1.1 にアクセスし、インターネットを高速化し安全性を高めるCloudflareの無料アプリをご利用ください。

より良いインターネットの構築支援という当社の使命について、詳しくはこちらをご覧ください。新たなキャリアの方向性を模索中の方は、当社の求人情報をご覧ください。
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....