Hugging Face は 2026-08-06 に Baseten の Inference Providers 参加を発表しました。利用可能になれば、モデル ID の末尾に :baseten を付け、OpenAI 互換エンドポイントでチャット補完リクエストを Baseten に固定できます。パートナー表では、Baseten は現在 LLM 対話と VLM 視覚対話の2種類のチャット補完に対応しています(出典:Inference Providers ドキュメント)。ブログ記事は初期の呼び出し可能モデルとして Kimi K3、DeepSeek V4 Flash、GLM-5.2 を挙げています。
始める前に課金先を決めます。1つの Hugging Face Token で呼び出しと課金をまとめたい場合は HF routed を選択。Baseten の契約、クレジット、またはキー管理フローをすでに持っている場合は、Hugging Face アカウント設定に Baseten API Key を保存し、リクエストを Baseten に直接ルーティングします。どちらを選んでも受け入れ基準は同じ4点です:コードが :baseten を明示的に固定している、テスト環境が期待どおりの構造を返す、課金が選択したアカウントに落ちる、障害時に事前検証済みのフォールバックプロバイダー(provider)またはモデルに切り替えられる。
本記事は Baseten を Hugging Face Inference Providers 経由で使う手順であり、Baseten 単独プラットフォーム(Model APIs / Truss)のデプロイ手順ではありません。2つの入口は認証と課金が異なるので混同しないでください。
HF routed と Baseten キーのどちらを選ぶか
どちらのモードも呼び出しの入口は Hugging Face Inference Providers で共通で、認証、リクエスト経路、課金の帰属が異なります。Hugging Face の公式発表と課金ドキュメントは 2026-08-06 時点で以下の規則を示しています。
| 選択肢 | 認証とリクエスト | 課金 | 適用場面 |
|---|---|---|---|
| HF routed | Hugging Face Token を使用し、HF Router が Baseten に転送 | Hugging Face アカウントに課金、月次クレジット利用可 | 1つの Token で複数プロバイダーを呼ぶ、または月次クレジットで低コスト検証 |
| Baseten キー | Hugging Face 設定に Baseten API Key を保存し、Baseten に直接呼び出し | Baseten アカウントに課金、HF の月次クレジットは対象外 | Baseten のクレジット、契約、権限、コストガバナンスをすでに持っている |
課金ドキュメントによると、無料ユーザーは月 $0.10、PRO ユーザーは $2.00、Team または Enterprise はシートごとに $2.00 の推論クレジットを受け取れます。routed リクエストはプロバイダーの標準レートで課金され、Hugging Face のマークアップはありません。これらは動的な商用条件なので、公開前にアカウントの課金ページで再確認し、金額を予算モデルに書き込まないでください。
Team または Enterprise で組織クレジットを使い課金を一元化するには、routed リクエストの HTTP ヘッダーに X-HF-Bill-To: <組織名> を明示的に含める必要があります。そうしないと費用は個人トークンに記録され、組織に計上されません(出典:課金ドキュメント)。
チームにまだ Baseten アカウントがない場合は、まず HF routed で月次クレジットを消費して技術検証を行いましょう。別途アカウントを開設してキーを設定する手間が省けます。組織がキーの帰属、請求主体、または購入契約を Baseten に置く必要がある場合は、最初からキーを選び、検証後に認証経路を移行しないようにします。
HF Token で最小呼び出しを実行
HF routed モードに必要なのは Hugging Face Token だけです。Make calls to Inference Providers 権限を持つ fine-grained token を作成し(Token 設定)、環境変数に保存します。スクリプト、ノートブック、Git リポジトリには書き込まないでください:
pip install openai
export HF_TOKEN="<your-hugging-face-token>"
公式の Python サンプルは base_url を HF Router の OpenAI 互換エントリに設定し、chat.completions を呼び出します:
import os
from openai import OpenAI
client = OpenAI(
base_url="https://router.huggingface.co/v1",
api_key=os.environ["HF_TOKEN"],
)
completion = client.chat.completions.create(
model="deepseek-ai/DeepSeek-V4-Flash-0731:baseten",
messages=[{"role": "user", "content": "Write a Python function that returns the nth Fibonacci number using memoization."}],
)
print(completion.choices[0].message.content)
JavaScript も同じ Router、Token、モデル文字列を使います。まず OpenAI SDK をインストールします:
npm install openai
import { OpenAI } from "openai";
const client = new OpenAI({
baseURL: "https://router.huggingface.co/v1",
apiKey: process.env.HF_TOKEN,
});
const completion = await client.chat.completions.create({
model: "deepseek-ai/DeepSeek-V4-Flash-0731:baseten",
messages: [{ role: "user", content: "Write a Python function that returns the nth Fibonacci number using memoization." }],
});
console.log(completion.choices[0].message.content);
この2つのコードは Hugging Face の 2026-08-06 公式サンプルに基づいています。OpenAI 互換エンドポイントは現在チャット補完(chat completion)のみ対応しています。画像、音声、埋め込みなどのタスクは Hugging Face ネイティブの推論クライアントを使います(Inference Providers ドキュメント)。サンプルのモデルバージョン、利用可能リージョン、プロバイダー容量は変わり得るため、本番コードでは完全なモデル ID を設定から注入し、業務モジュールに散在させないでください。
:baseten でルーティングを固定
deepseek-ai/DeepSeek-V4-Flash-0731:baseten は2つの部分に分解できます:コロンの前が Hugging Face モデル ID、後ろがターゲットのプロバイダーです。:baseten を残すことで、ルーティングが Baseten に固定されます。
サフィックスがない場合、OpenAI 互換エンドポイントはデフォルトでそのモデルに最も高速な利用可能プロバイダーを選択します(:fastest と同等)。:cheapest は最も費用対効果の高いものを、:preferred は Inference Provider 設定の優先順位に従って選択します(出典:Provider Selection ドキュメント)。したがって、設定で Baseten を最初に並べても固定はできず、:baseten を明示的に含める必要があります。
モデルとプロバイダーを別々の設定に分け、呼び出し層で結合することをお勧めします:
export HF_MODEL_ID="deepseek-ai/DeepSeek-V4-Flash-0731"
export HF_INFERENCE_PROVIDER="baseten"
model = f"{os.environ['HF_MODEL_ID']}:{os.environ['HF_INFERENCE_PROVIDER']}"
起動時にプロバイダー値が空の場合は拒否し、デプロイの誤りでルーティングが静かに変わらないようにします。フォールバックプロバイダーに切り替えるときはモデル文字列だけ設定を変更すればよいのですが、ターゲットモデルが変わったら同じ業務サンプルで動作を再検証してください。
すべてのモデルが Baseten で呼び出せるとは限りません。Hugging Face の 2026-08-06 公式発表は初期対応が LLM 対話と VLM 視覚対話のみであることを確認しており、他のタスクは後日追加されます。モデルが利用可能かどうかは、呼び出し時点の Hub モデルページとプロバイダーリストで確認してください。
Baseten キーを使うときのアカウント設定
Hugging Face の公式フローでは、登録済みプロバイダーの API キーをユーザー設定に追加し、プロバイダー優先順位を調整できます。Baseten キーを選ぶと、呼び出しは Baseten アカウントに課金され、HF の月次推論クレジットは適用されません。
次の順序で設定します:
- Baseten アカウント設定で、用途が明確で個別にローテーション可能な API キーを作成します。Baseten が個人キーとチームキーを区別するか、各キーの権限範囲は Baseten の現在の設定ページに依存します。チームアカウントではキーの帰属と最小権限を確認してください。
- Hugging Face の Inference Providers 設定 にキーを保存します。
- コードが優先順位の影響を受けずに
:basetenを固定していることを確認します。 - テスト環境で小額のリクエストを送り、Hugging Face と Baseten の両方で使用量記録を確認します。
- テストキーをローテーションし、古いキーが失効したときにアプリが明確にエラーを返すことを確認します。古いキーが HF routed に静かにフォールバックするかどうかは現在のルーティング実装に依存するため、ドキュメントだけで判断せず、公開前に実測で確認してください。
既存の OpenAI SDK 呼び出しを移行
すでに chat.completions.create を使っているアプリでは、最小変更は通常3つです:base_url を HF Router に変更、認証を HF_TOKEN に変更、モデルを :baseten 付きの Hugging Face モデル ID に変更。メッセージ配列と choices[0].message.content を読み取るコードはそのまま使えます。
「テキストが返ってきた」だけで検証しないでください。少なくとも既存の業務サンプルで以下を確認します:
- システムプロンプト、ユーザープロンプト、マルチターンコンテキストが期待どおりに機能するか
- 最大出力長、停止条件、サンプリングパラメータがターゲットモデルでサポートされるか
- ストリーミングと非ストリーミングの戻り構造が既存パーサーの契約に合うか
- タイムアウト、レート制限、認証失敗、プロバイダー停止時に明確なリトライまたはフォールバック経路に入るか
- 入力・出力トークンとリクエスト回数が選択した課金アカウントで確認できるか
パラメータのサポートはターゲットモデルとプロバイダーの現在のインターフェースに依存します。旧プロバイダーが受け入れていた拡張パラメータは無視または拒否される可能性があります。移行前に未使用パラメータを削除し、その後1つずつ追加しながら失敗動作を記録してください。
制御可能なフォールバック経路を設定
統一エントリは自動的なフォールバックを意味しません。すべてのエラーを別のプロバイダーにリトライしないでください。認証エラー、パラメータエラー、コンテンツポリシー拒否が重複して増幅される可能性があります。
エラー種別ごとに最小ポリシーを作ります:
| 状況 | 動作 |
|---|---|
| ネットワークタイムアウトまたは一時的な5xx | 同じプロバイダーでバックオフ付きの有限回リトライし、その後フォールバックプロバイダーへ |
| レート制限 | リトライのヒントを尊重し、レイテンシ予算を超えたらフォールバックプロバイダーかキューへ |
| 401/403 | 自動リトライを停止し、Token、キー、アカウント権限を確認 |
| 400 または非対応パラメータ | プロバイダー切り替えを停止し、モデル ID、メッセージ、パラメータを修正 |
| モデルが一時的に利用不可 | 事前検証済みのフォールバックモデルに切り替え、実際のモデルを記録 |
フォールバックモデルは同じタスクサンプルセットで事前に検証する必要があります。モデルを切り替えると出力形式、指示の追従、コンテキスト処理が変わり得ます。HTTP の成功だけでは同等とは言えません。
公開前の受け入れチェックリスト
- HF routed か Baseten キーを選択し、課金先を記録
- チームまたは企業で routed リクエストの
X-HF-Bill-To課金先を確認 - Token と API キーはシークレット管理またはデプロイ環境変数のみに存在
- 完全なモデル ID を設定から注入し、
:basetenを保持 - ターゲットモデルが現在テキスト対話または視覚対話に対応していることを確認
- Python または JavaScript の最小呼び出しが
message.contentを返し解析できる - 既存の業務サンプルでコンテキスト、出力構造、ストリーミング、パラメータ互換性を確認
- 401/403、400、レート制限、タイムアウト、5xx にそれぞれ異なる処理経路がある
- フォールバックプロバイダーまたはモデルが同じサンプルセットに合格
- テストリクエストの使用量と費用が期待したアカウントに表示される
- 公開前にモデルリスト、レート、クレジット、リージョン利用可能性を再確認
Baseten が Hugging Face Inference Providers に参加したことで、統合レイヤーの作業は減りました——モデル文字列、SDK 初期化、認証が HF の1つのインターフェースに統一されます。しかし、モデル移行自体の検証(パラメータ、出力構造、フォールバック動作)は、入口が変わったからといって減るわけではありません。:baseten はルーティングを固定するだけです。課金は別途確認し、動作の違いは業務サンプルで再テストしてください。