Jupyter Notebookを使用してWorkers AIモデルを探索する
Workers AIで利用可能なすべてのモデルを探索する便利な方法は、Jupyter Notebook ↗を使用することです。
Workers AIノートブックをダウンロードするか、以下の埋め込みノートブックを表示できます。
または、Google Colab ↗でこれを実行することもできます。
Workers AIを使用すると、Cloudflareネットワーク上で自分のコードから機械学習モデルを実行できます。これには、Workers、Pages、またはREST APIを介してどこからでも実行できます。
このノートブックでは、公式Python SDK ↗を使用してWorkers AI REST APIを探索します。
import sys!{sys.executable} -m pip install python-dotenv requests!{sys.executable} -m pip install --pre cloudflareimport osfrom getpass import getpass
from cloudflare import Cloudflarefrom IPython.display import display, Image, Markdown, Audioimport requests%load_ext dotenv%dotenvAPIを使用するには、CloudflareアカウントID ↗が必要です。AI > Workers AIページに移動し、「REST APIを使用」を押してください。このページでは、新しいAPIトークンを作成し、アカウントIDをコピーできます。
これらの値を環境変数に追加したい場合は、.envという名前の新しいファイルを作成し、このノートブックがそれらの値を読み取ります。
CLOUDFLARE_API_TOKEN="YOUR-TOKEN"CLOUDFLARE_ACCOUNT_ID="YOUR-ACCOUNT-ID"そうでない場合は、以下のプロンプトで安全に値を入力できます。
if "CLOUDFLARE_API_TOKEN" in os.environ: api_token = os.environ["CLOUDFLARE_API_TOKEN"]else: api_token = getpass("Cloudflare APIトークンを入力してください")if "CLOUDFLARE_ACCOUNT_ID" in os.environ: account_id = os.environ["CLOUDFLARE_ACCOUNT_ID"]else: account_id = getpass("アカウントIDを入力してください")# クライアントを初期化client = Cloudflare(api_token=api_token)すべてのテキスト生成モデルを探索します。
result = client.workers.ai.run( "@cf/meta/llama-3-8b-instruct" , account_id=account_id, messages=[ {"role": "system", "content": """ あなたは、MacおよびWindowsユーザー向けのJupyterノートブックの生産性アシスタントです。
Markdown形式で応答してください。""" }, {"role": "user", "content": "セルを実行するためのキーボードショートカットはどう使いますか?"} ])
display(Markdown(result["response"]))Jupyter Notebookでセルを実行するためのキーボードショートカットを使用すると、多くの時間を節約し、生産性を向上させることができます!
Jupyter Notebookでセルを実行するためのいくつかのキーボードショートカットは次のとおりです:
Macユーザー:
Cmd + Enter(⌘ + Enter)でセルを実行Shift + Enterでセルを実行し、次のセルに移動Cmd + Shift + Enter(⌘ + Shift + Enter)でセルを実行し、出力を閉じずに次のセルに移動
Windowsユーザー:
Ctrl + Enterでセルを実行Shift + Enterでセルを実行し、次のセルに移動Ctrl + Shift + Enterでセルを実行し、出力を閉じずに次のセルに移動
これらのキーボードショートカットはWindows互換ですので、WindowsマシンのJupyter Notebookで使用できます!
また、Escapeキーを使用してセルの出力をクリアし、Alt + Enterを使用してセルを再帰的に実行(つまり、現在のセルの下のすべてのセルを実行)することもできます。
Jupyter Notebookの設定をカスタマイズして、ワークフローや好みに合わせてください!
すべてのテキストから画像モデルを探索します。
data = client.workers.ai.with_raw_response.run( "@cf/lykon/dreamshaper-8-lcm", account_id=account_id, prompt="AIに非常に興奮しているソフトウェア開発者、大きな笑顔",)
display(Image(data.read()))
すべての画像からテキストモデルを探索します。
url = "https://blog.cloudflare.com/content/images/2017/11/lava-lamps.jpg"
image_request = requests.get(url, allow_redirects=True)
display(Image(image_request.content, format="jpg"))
data = client.workers.ai.run( "@cf/llava-hf/llava-1.5-7b-hf", account_id=account_id, image=image_request.content, prompt="この写真を説明してください", max_tokens=2048)
print(data["description"])
この画像は、カラフルで光るラバランプのディスプレイを特徴としています。さまざまなサイズと色のラバランプが視覚的に魅力的な方法で配置されています。ランプは一列に並んでおり、前方に近いものと後方にあるものがあります。ラバランプの鮮やかな色と魅力的な光が目を引く活気のあるシーンを作り出しています。すべての音声認識モデルを探索します。
url = "https://raw.githubusercontent.com/craigsdennis/notebooks-cloudflare-workers-ai/main/assets/craig-rambling.mp3"display(Audio(url))audio = requests.get(url)
response = client.workers.ai.run( "@cf/openai/whisper", account_id=account_id, audio=audio.content)
response{'text': "こんにちは、私はJupiterノートブックのために録音をしています。それはPythonノートブックで、Jupiter、J-U-P-Y-T-E-Rです。惑星と混同しないでください。とにかく、聞いてください、少し話をします、少し音を立てます、いくつかの難しい言葉を言います、Kubernetesと言いますが、実際にはKubernetesについて話しているわけではありません。Kubernetesができるかどうかを見てみたいだけです。とにかく、これは文字起こしのテストで、私たちがどのように死んでいるかを見てみましょう。", 'word_count': 84, 'words': [{'word': 'こんにちは', 'start': 0.2800000011920929, 'end': 0.7400000095367432}, {'word': '、', 'start': 0.7400000095367432, 'end': 1.2400000095367432}, {'word': '私は', 'start': 1.2400000095367432, 'end': 1.4800000190734863}, {'word': 'Jupiter', 'start': 1.4800000190734863, 'end': 1.6799999475479126}, {'word': 'ノートブックのために', 'start': 1.6799999475479126, 'end': 2.2799999713897705}, {'word': '録音を', 'start': 2.2799999713897705, 'end': 2.6600000858306885}, {'word': 'しています。', 'start': 2.6600000858306885, 'end': 2.799999952316284}, {'word': 'それは', 'start': 2.799999952316284, 'end': 3.2200000286102295}, {'word': 'Python', 'start': 3.2200000286102295, 'end': 4.059999942779541}, {'word': 'ノートブックで、', 'start': 4.059999942779541, 'end': 5.460000038146973}, {'word': 'Jupiter、', 'start': 5.460000038146973, 'end': 6.440000057220459}, {'word': 'J', 'start': 6.440000057220459, 'end': 6.579999923706055}, {'word': '-U', 'start': 6.579999923706055, 'end': 6.920000076293945}, {'word': '-P', 'start': 6.920000076293945, 'end': 7.139999866485596}, {'word': '-Y', 'start': 7.139999866485596, 'end': 7.440000057220459}, {'word': '-T', 'start': 7.440000057220459, 'end': 7.71999979019165}, {'word': '-E', 'start': 7.71999979019165, 'end': 7.920000076293945}, {'word': '-R。', 'start': 7.920000076293945, 'end': 8.539999961853027}, {'word': '惑星と', 'start': 8.539999961853027, 'end': 8.880000114440918}, {'word': '混同しないでください。', 'start': 8.880000114440918, 'end': 9.300000190734863}, {'word': 'とにかく、', 'start': 9.300000190734863, 'end': 9.420000076293945}, {'word': '聞いてください、', 'start': 9.420000076293945, 'end': 9.739999771118164}, {'word': '私は', 'start': 9.739999771118164, 'end': 9.9399995803833}, {'word': '少し', 'start': 9.9399995803833, 'end': 10.039999961853027}, {'word': '話をします、', 'start': 10.039999961853027, 'end': 11.380000114440918}, {'word': '私は', 'start': 11.380000114440918, 'end': 12.140000343322754}, {'word': '少し', 'start': 12.140000343322754, 'end': 12.420000076293945}, {'word': '音を立てます、', 'start': 12.420000076293945, 'end': 12.800000190734863}, {'word': 'いくつかの', 'start': 12.800000190734863, 'end': 12.880000114440918}, {'word': '難しい', 'start': 12.880000114440918, 'end': 13.100000381469727}, {'word': '言葉を', 'start': 13.100000381469727, 'end': 13.260000228881836}, {'word': '言います、', 'start': 13.260000228881836, 'end': 13.380000114440918}, {'word': 'Kubernetes、', 'start': 13.380000114440918, 'end': 13.5600004196167}, {'word': '私は', 'start': 13.5600004196167, 'end': 13.65999984741211}, {'word': '実際には', 'start': 13.65999984741211, 'end': 13.739999771118164}, {'word': 'Kubernetesについて', 'start': 13.739999771118164, 'end': 14.199999809265137}, {'word': '話しているわけではありません。', 'start': 14.199999809265137, 'end': 14.4399995803833}, {'word': '私は', 'start': 14.4399995803833, 'end': 14.600000381469727}, {'word': 'ただ', 'start': 14.600000381469727, 'end': 14.699999809265137}, {'word': 'Kubernetesが', 'start': 14.699999809265137, 'end': 15.460000038146973}, {'word': 'できるかどうかを', 'start': 15.460000038146973, 'end': 15.859999656677246}, {'word': '見てみたいだけです。', 'start': 15.859999656677246, 'end': 16}, {'word': 'とにかく、', 'start': 16, 'end': 16.18000030517578}, {'word': 'これは', 'start': 16.18000030517578, 'end': 16.540000915527344}, {'word': '文字起こしのテストで、', 'start': 16.540000915527344, 'end': 16.920000076293945}, {'word': '私たちが', 'start': 16.920000076293945, 'end': 17.540000915527344}, {'word': 'どのように', 'start': 17.540000915527344, 'end': 17.65999984741211}, {'word': '死んでいるかを', 'start': 17.65999984741211, 'end': 17.719999313354492}, {'word': '見てみましょう。', 'start': 17.719999313354492, 'end': 18}, {'word': '。', 'start': 18, 'end': 18.18000030517578}], 'vtt': "WEBVTT\n\n00.280 --> 01.840\nこんにちは、私はJupiterノートブックのために録音を\n\n01.840 --> 04.060\nしています。それはPythonノートブックで、Jupiter、\n\n04.060 --> 06.440\nJ -U -P -Y -T\n\n06.440 --> 07.720\n-E -R。惑星と混同しないでください。\n\n07.720 --> 09.420\nとにかく、聞いてください、私は\n\n09.420 --> 12.140\n少し話をします、私は\n\n12.140 --> 12.940\n少し音を立てます、いくつかの\n\n12.940 --> 13.660\n難しい言葉を言います、私は\n\n13.660 --> 14.600\nKubernetesと言いますが、\n\n14.600 --> 16.180\n実際にはKubernetesについて話しているわけではありません。\n\n16.180 --> 17.540\n私はただKubernetesができるかどうかを見てみたいだけです。\n\n17.540 --> 18.420\nとにかく、これは文字起こしのテストで、\n\n18.420 --> 19.500\n私たちがどのように死んでいるかを見てみましょう。"}declaration_of_independence = """議会において、1776年7月4日。アメリカ合衆国の13の州の全会一致の宣言。人間の出来事の過程において、ある人々が他の人々との政治的な絆を解消し、地球上の権力の中で、自然の法則と自然の神が彼らに与える別個で平等な地位を引き受けることが必要になるとき、彼らは分離を促す原因を宣言すべきであるという人類の意見に対する敬意が求められる。我々は、すべての人間が平等に創造されているという真実を自明のものと考え、彼らは創造者によって特定の譲渡不可能な権利を与えられていること、これらの中には生命、自由、幸福の追求が含まれることを認める。--これらの権利を確保するために、政府は人々の間に設立され、被治者の同意から正当な権力を引き出す。--政府の形態がこれらの目的を破壊する場合、人民はそれを変更または廃止する権利を持ち、新しい政府を設立し、その基盤をそのような原則に置き、彼らの安全と幸福を実現するために最も可能性の高い形で権力を組織することができる。確かに、慎重さは、長く確立された政府は軽薄で一時的な理由で変更されるべきではないと示唆する。そして、すべての経験は、人類が耐えられる悪に対しては苦しむ傾向があり、慣れ親しんだ形を廃止することで自らを正すことにはあまり傾かないことを示している。しかし、長い虐待と侵害の連鎖が、常に同じ目的を追求し、彼らを絶対的な専制政治の下に置こうとする意図を示すとき、それは彼らの権利であり、義務である。彼らはそのような政府を打倒し、将来の安全のために新しい守護者を提供する。--これがこれらの植民地の忍耐強い苦しみであり、今や彼らが以前の政府システムを変更することを強いる必要性である。現在のイギリス王の歴史は、これらの州に対する絶対的な専制政治の確立を直接の目的とした繰り返される傷害と侵害の歴史である。これを証明するために、事実を率直な世界に提出しよう。彼は、公共の利益のために最も健全で必要な法律に対する同意を拒否した。彼は、彼の同意が得られるまで、即時かつ緊急の重要性を持つ法律を通過させることを知事に禁じた。そして、そうして一時停止された場合、彼はそれらに注意を払うことを完全に怠った。彼は、立法府における代表権を放棄することを条件に、大規模な地区の人々のための他の法律を通過させることを拒否した。この権利は彼らにとって計り知れないものであり、専制者にとってのみ恐ろしいものである。彼は、彼の措置に従わせるために、通常ではない、不快で、公共記録の保管所から遠く離れた場所で立法機関を招集した。彼は、人民の権利に対する侵害に対抗するために、代表的な議会を繰り返し解散した。彼は、そうした解散の後、他の者が選出されるようにすることを長い間拒否した。その結果、消滅不可能な立法権は、彼らの行使のために一般の人々に戻り、州はその間、外部からの侵略の危険と内部の動乱にさらされている。彼は、これらの州の人口を防ごうと努めた。その目的のために、外国人の帰化に関する法律を妨害し、彼らの移住を奨励するための他の法律を通過させることを拒否し、新しい土地の適用条件を引き上げた。彼は、司法権を確立するための法律に対する同意を拒否することによって、司法の執行を妨害した。彼は、彼の意志のみに依存する裁判官を作り、彼らの職務の任期と給与の額と支払いを決定した。彼は、多数の新しい役職を設け、私たちの人々を悩ませ、彼らの資源を食いつぶすために、ここに群れのように役人を送った。彼は、平和の時代に、私たちの立法府の同意なしに常設軍を保持していた。彼は、軍を市民権から独立させ、優位にすることを試みた。彼は、他者と結託して、私たちの憲法に対して外国の管轄権に服従させ、私たちの法律によって認められていない管轄権に服従させた。彼は、彼らの偽の立法行為に同意した。私たちの間に大規模な武装部隊を駐留させるために:私たちの州の住民に対して犯した殺人に対する罰から、偽の裁判によって彼らを保護するために:私たちの貿易を世界のすべての部分から遮断するために:私たちの同意なしに私たちに税金を課すために:私たちを多くのケースで陪審による裁判の利益から奪うために:私たちを海を越えて運び出し、偽の犯罪で裁判にかけるために:隣接する州におけるイギリス法の自由な制度を廃止し、そこに恣意的な政府を確立し、同時にこれらの植民地に同じ絶対的な支配を導入するための例と適切な手段を提供するために:私たちの特許を取り上げ、最も貴重な法律を廃止し、私たちの政府の形態を根本的に変更するために:私たちの立法府を一時停止し、すべてのケースにおいて私たちのために立法する権限を持つと宣言するために。彼は、私たちを彼の保護から外し、私たちに対して戦争を宣言することによって、ここで政府を放棄した。彼は、私たちの海を略奪し、私たちの沿岸を荒らし、私たちの町を焼き、私たちの人々の命を奪った。彼は現在、死、荒廃、専制の業を完成させるために、大規模な外国の傭兵軍を輸送している。これは、残虐さと裏切りの状況で始まったものであり、最も野蛮な時代においてもほとんど類を見ないものであり、文明国家の首長としては全くふさわしくない。彼は、私たちの市民を高い海で捕虜にし、彼らの国に対して武器を取らせ、友人や兄弟の処刑者となるか、彼ら自身がその手によって倒れることを強制した。彼は、私たちの間で国内の反乱を煽り、私たちの国境の住民に対して、無慈悲なインディアンの野蛮人を引き寄せようと努めた。彼らの戦争の知られたルールは、すべての年齢、性別、状況の無差別な破壊である。これらの抑圧のすべての段階において、我々は最も謙虚な言葉で救済を求めてきた。我々の繰り返される請願は、繰り返される傷害によってのみ応えられた。こうした暴君を定義する可能性のあるすべての行為によって特徴づけられる王子は、自由な人々の支配者として不適格である。私たちは、イギリスの兄弟に対しても注意を怠ってはいなかった。私たちは、彼らの立法府による不当な管轄権の拡大の試みについて、時折警告してきた。私たちは、ここへの移住と定住の状況を彼らに思い出させてきた。私たちは、彼らの母国の正義と寛大さに訴え、私たちの共通の血縁の絆によって、これらの侵害を否定するように彼らに懇願してきた。これらの侵害は、私たちの関係と通信を必然的に中断するものである。彼らもまた、正義と血縁の声に耳を傾けなかった。したがって、私たちは、私たちの分離を宣告する必要性に従わざるを得ず、彼らを他の人類と同様に、戦争の敵、平和の友として扱う。したがって、我々は、アメリカ合衆国の代表者として、一般議会において集まり、私たちの意図の正当性のために世界の最高の裁判官に訴え、これらの植民地の善良な人々の名において、厳粛に公表し、宣言する。これらの合衆国は、権利として自由で独立した州であるべきであり、イギリス王冠へのすべての忠誠から解放され、彼らとイギリスとの間のすべての政治的な関係は、完全に解消されるべきである。そして、自由で独立した州として、彼らは戦争を起こし、平和を結び、同盟を結び、商業を確立し、独立した州が権利として行うことができるすべての行為や事柄を行う完全な権限を持つ。これらの宣言の支持のために、神の摂理の保護に対する確固たる信頼をもって、我々は互いに、我々の命、我々の財産、そして我々の神聖な名誉を相互に誓約する。"""len(declaration_of_independence)8116response = client.workers.ai.run( "@cf/facebook/bart-large-cnn", account_id=account_id, input_text=declaration_of_independence)
response["summary"]'独立宣言は、1776年7月4日に13の州によって署名されました。これは、アメリカ合衆国憲法の最初の試みでした。人々が政府を変更する権利を宣言しました。'