🧠
Cloudflare Workers + RubyでGPT-OSSを試す
Cloudflare workers のアプリをRubyで書くためのフレームワーク Hibana で Workers AI に対応したので、わりかし最近 Workers AI に追加された GPT-OSS を試してみた。
試し方
Hibanaプロジェクトの新規作成
npm create hibana@latest gpt-test
初期セットアップ
cd gpt-test
npm install
動作確認
npm run dev
http://localhost:8787にアクセスし、正常に表示されることを確認。
※ポートは8787以外かもしれません。サーバーの起動メッセージに表示されます。
コード修正
app/app.rb に以下のコードを追加
WorkersAI.register_binding("AI")
get "/gpt" do |c|
ai = c.env(:AI)
prompt = c.query["prompt"]
model = "@cf/openai/gpt-oss-20b"
result = ai.run(
model: model,
payload: {
input: prompt,
reasoning: {
effort: "low",
summary: "auto"
}
},
)
answer = result["output"][-1]["content"][0]["text"]
c.text(answer)
rescue WorkersAI::Error => e
c.json({ error: e.message, details: e.details }, status: 500)
end
CTRL-Cで一旦サーバーを止めて起動し直す。
npm run dev
以下にブラウザ等でアクセス(ポート番号はサーバー起動時のメッセージに表示されるので適宜変更します)
http://localhost:8787/gpt?prompt=あなたは誰ですか?
表示された回答は以下のような内容でした。
もちろんこれは生成AIの回答なので都度異なります。
私はOpenAIが開発した大規模言語モデル、ChatGPTです。膨大なテキストデータで訓練されており、質問に答えたり、情報を提供したり、創造的な文章を書いたりすることが得意です。あなたのお手伝いをするためにここにいます!
URLパラメータで prompt=...にわたす質問を変えると答えも変わります。
http://localhost:8787/gpt?prompt=Rubyというプログラミング言語について一言で教えて
Rubyは、オブジェクト指向とシンプルな構文で書きやすく、開発者の幸福("Happy Programmer")を追求する脚本言語です。
とりあえず動作確認はできました。
GPTを使う生成AIアプリがサクッと作れて便利かも。
Discussion