はじめに
Hugging Face の「How to use OpenAI’s GPT OSS」に書かれている内容を試してみた話です。
仕組みとしては、HuggingFace の Inference Providers を使う形です。今回の内容を無料枠で試せて、良い感じでした。
さっそく試す
さっそく内容に入っていきます。
APIキー・パッケージ関連
最初に「APIキーの取得と環境変数への設定」、および「パッケージのインストール」を進めます(以下のクイックスタートで書かれている内容です)。
APIキーの取得と環境変数への設定
APIキーは、自身の Hugging Face のアカウントの「Access Tokens」のページで用意します。
適当な名前で Permissions が READ のものを作りました(2年前くらいに作ってたキーもあったりはしたのですが)。
それで得られたキーを「HF_TOKEN」という名前の環境変数に設定しました。
例えば自分の Mac の環境での話で、環境変数を一時的に使いたいだけの場合は、以下を実行すれば OK です。
export HF_TOKEN=【自身の APIキー】
パッケージのインストール
次にパッケージのインストールです。以下のコマンドを実行します。
npm install openai
お試し 1つ目
あとは実装です。以下の内容を元に、1つ目のお試し用のコードを準備します。
import OpenAI from "openai";
const openai = new OpenAI({
baseURL: "https://router.huggingface.co/v1",
apiKey: process.env.HF_TOKEN,
});
const response = await openai.chat.completions.create({
model: "openai/gpt-oss-120b:cerebras",
messages: [
{ role: "user", content: "3行でp5.jsについて説明して" },
],
});
console.log(response.choices[0].message.content);
コードの実行結果(お試し 1つ目)
上記を実行した結果は、以下のとおりです。
「3行でp5.jsについて説明して」というプロンプトから、以下の返答を得られました。
【返答】
p5.jsは、JavaScriptで描画やインタラクティブなアートを手軽に作れるオープンソースのライブラリです。
Processingの考え方をウェブに移植し、HTML5 CanvasやWebGLをシンプルな関数で操作できます。
初心者でもHTMLとスクリプトを書くだけで、ブラウザ上でリアルタイムにビジュアルプログラミングが体験できます。
お試し 2つ目
さらに、以下の「Stream responses」の内容も試してみます。
コードは以下としました。
import OpenAI from "openai";
const openai = new OpenAI({
baseURL: "https://router.huggingface.co/v1",
apiKey: process.env.HF_TOKEN,
});
const stream = await openai.responses.create({
model: "openai/gpt-oss-120b:fireworks-ai",
input: "8歳に分かるようにAIについて説明して。文章5つくらいで。",
stream: true,
});
for await (const event of stream) {
if (event.type === "response.output_text.delta") {
const chunk = event.delta;
if (chunk && chunk.trim() !== "") {
process.stdout.write(chunk);
}
}
}
コードの実行結果(お試し 2つ目)
上記を実行した結果は、以下のとおりです。
動画から分かるように、「8歳に分かるようにAIについて説明して。文章5つくらいで。」というプロンプトから、かなりの出力スピードで以下の返答を得ることができました。
【返答】
AI(エーアイ)っていうのは、コンピュータが「考えたり」や「学んだり」できるようにした仕組みだよ。たとえば、スマホで話しかけると答えてくれるロボットや、ゲームの中で相手の動きを覚えて強くなるキャラもAIが使われているんだ。AIはたくさんのデータ(例:写真や言葉)を見て、そこからルールやパターンを見つけて「どうしたらいいか」自分で決められるようになるんだよ。でも人間みたいに本当の気持ちや感情は持っていなくて、あくまで「プログラムされた頭脳」だから、間違えることもあるんだ。だから、AIは私たちが作って使う手伝いさんみたいなものだと思ってね。
おわりに
今回、以下の記事を書いた時には OpenAI公式のプレイグラウンドで試していた「gpt-oss-120b」を、Hugging Face の Inference Providers を使って API で試してみました。
●gpt-oss-120b(OpenAI のオープンなモデル)を OpenAI公式のプレイグラウンド(ログイン不要でブラウザで使えるもの)で試す - Qiita
https://qiita.com/youtoy/items/ad997c8c901ab5ab9acc
この内容をやってみたのは、以下の @n0bisuke さんの記事で、「Hugging Face Inference Providers で gpt-oss を使うとレスポンスの速度が良い感じだった」というのを見かけたためです(あと、何年か前に少し触ってた Hugging Face Inference Providers を、あらためて試してみたかったというのがありました)。
●GPTのOSS版が出た!ということでgpt-ossをNode.jsから触る - Qiita
https://qiita.com/n0bisuke/items/3a1d7678e56e65282142
今回、API を使った処理はシンプルなものにしましたが、さらに色々と試せればと思います。
その他
他にも色々とサンプルがあり、それらが興味深かったです。
個人的には、例えば「Remote MCP Calls」が気になったものの 1つでした。
【追記】 Cerebras について
今回の記事内で、モデルの提供元の 1つで混じっている Cerebras が面白そうなので、軽くメモを。
●QuickStart - Cerebras Inference
https://inference-docs.cerebras.ai/quickstart
●OpenAI GPT OSS - Cerebras Inference
https://inference-docs.cerebras.ai/models/openai-oss
●@cerebras/cerebras_cloud_sdk - npm
https://www.npmjs.com/package/@cerebras/cerebras_cloud_sdk