OpenAI SDKをFastMetalに向ける — base_urlとapi_keyの2点だけ
すでに OpenAI SDK を使っているなら、FastMetal への切り替えで変えるのは2点だけです。リクエストの送信先を示す base_url と、認証に使う api_key を差し替えれば、既存のコードはそのまま動きます。FastMetal は OpenAI 互換の API を提供しているため、chat.completions.create などの呼び出し方やレスポンスの形は変わりません。1本のキーで複数モデルを呼び分けられ、料金は円建ての前払いです。
変更点は2つだけ
OpenAI 互換なので、SDK もコードの構造もそのまま使えます。差し替えるのは次の2か所です。
base_url(接続先)をhttps://api.fastmetal.ai/v1にapi_key(認証キー)を FastMetal の API キーに
API キーはダッシュボードで発行できます。キーは1本で、呼び出すモデルは model パラメータの ID で切り替えます。base_url の末尾に /v1 を必ず付ける点だけ覚えておいてください。
Python の例
openai パッケージ(1.x 以降)でのサンプルです。pip install openai で導入できます。
from openai import OpenAI
client = OpenAI(
base_url="https://api.fastmetal.ai/v1",
api_key="sk-...", # FastMetal の API キー
)
resp = client.chat.completions.create(
model="anthropic-claude-haiku-4-5",
messages=[
{"role": "system", "content": "あなたは親切なアシスタントです。"},
{"role": "user", "content": "こんにちは"},
],
)
print(resp.choices[0].message.content)
Node.js / TypeScript の例
npm install openai で導入します。Python と違い、キー名は baseURL(URL が大文字)になる点に注意してください。
import OpenAI from "openai";
const client = new OpenAI({
baseURL: "https://api.fastmetal.ai/v1",
apiKey: process.env.FASTMETAL_API_KEY,
});
const resp = await client.chat.completions.create({
model: "anthropic-claude-sonnet-4-6",
messages: [
{ role: "system", content: "あなたは親切なアシスタントです。" },
{ role: "user", content: "こんにちは" },
],
});
console.log(resp.choices[0].message.content);
環境変数で管理する
接続先とキーをコードに直接書きたくない場合は、環境変数を使えます。OpenAI SDK は OPENAI_BASE_URL と OPENAI_API_KEY を自動で読み込むため、引数を渡さずに OpenAI() / new OpenAI() を呼ぶだけで済みます。
export OPENAI_BASE_URL="https://api.fastmetal.ai/v1"
export OPENAI_API_KEY="sk-..."
この方法なら、開発環境と本番環境で接続先を切り替えたり、キーをソースコードから分離したりするのが簡単になります。CI やコンテナの設定でも扱いやすく、おすすめです。
つまずきやすいポイント
切り替えで引っかかりやすいのは、ほぼ次の3つです。症状から原因を素早く特定してください。
| 症状 | 原因 | 対処 |
|---|---|---|
| 404 / Not Found が返る | base_url の末尾に /v1 が無い、または余分なパスが付いている | https://api.fastmetal.ai/v1 を正確に指定する |
| モデルが見つからない旨のエラー | model に OpenAI 用の名前(例: gpt-4o)を指定している | 対応モデルの FastMetal の ID(例: anthropic-claude-haiku-4-5)を指定する |
| 一部のパラメータが効かない/エラーになる | OpenAI 固有や特定プロバイダ向けのパラメータを送っている | 標準の messages temperature max_tokens 等を使い、非対応の項目は外す |
| 401 / 認証エラー | キーが OpenAI のもののまま、または未設定 | FastMetal のキーに差し替え、環境変数の読み込みを確認する |
よくある質問
Q. 既存の OpenAI 向けコードはどこまで書き換えが必要ですか?
A. 原則として base_url(baseURL)と api_key(apiKey)の2点、そして model の指定だけです。リクエストの組み立てやレスポンスの読み取り方は変わりません。
Q. ストリーミングや関数呼び出し(tools)は使えますか?
A. OpenAI 互換の標準的な機能はそのまま利用できます。stream=True でのストリーミングも、OpenAI と同じ書き方で動きます。
Q. 1本のキーで複数のモデルを使い分けられますか?
A. はい。キーは1本のまま、model に指定する ID を変えるだけで、Claude 系や GLM 系など複数のモデルを呼び分けられます。利用できる ID は対応モデルで確認できます。
次のステップ
まずはダッシュボードでキーを発行し、上のサンプルを動かしてみてください。利用できるモデルの一覧は対応モデルに、認証やパラメータの詳細はドキュメントにまとまっています。既存の OpenAI SDK のコード資産をそのまま活かしながら、FastMetal の複数モデルを円建てで使えます。