Skip to main content
OpenRouter は、OpenRouter クレジットと Bring Your Own Key (BYOK) の両方に対応しています。OpenRouter クレジットを使用する場合、SambaNova のレート制限は OpenRouter によって管理されます。ご自身の SambaNova API キーを使用する場合は、SambaNova アカウントを通じてレート制限と請求を直接管理できます。プロバイダーキーはすべて安全に暗号化され、SambaNova にルーティングされるリクエストにのみ使用されます。

前提条件

作業を始める前に、以下の環境を準備してください。
  • SambaCloud アカウントと API キー。API キーをお持ちでない場合は、SambaCloud ポータル から取得してください。
  • OpenRouter アカウントと API キー。API キーは OpenRouter のキー管理ページ で取得できます。Python のサンプルコードは、これを環境変数 OPENROUTER_API_KEY から読み取ります。
  • OpenRouter アカウントのクレジット。BYOK のリクエストにも OpenRouter のプラットフォーム手数料が発生し、SambaCloud アカウントではなく OpenRouter のクレジット残高に課金されます。詳細は 請求 をご参照ください。
  • Python 3.10 以上。openrouter パッケージは requires_python >=3.10 を宣言しているため、Python 3.9 以前では pip install が失敗します。

セットアップ

BYOK 機能を使用して SambaNova API キーを OpenRouter に接続するには、以下の手順に従ってください。
1

BYOK 設定に移動

OpenRouter の BYOK 設定 を開くか、OpenRouter ダッシュボードで 「Settings」>「BYOK」 に移動します。BYOK キーは OpenRouter のワークスペース単位で管理されており、このリンクはデフォルトのワークスペースを開きます。
BYOK が選択された OpenRouter の Settings サイドバーと、利用可能なプロバイダーの一覧
2

プロバイダーとして SambaNova を選択

プロバイダーリストで SambaNova を検索し、選択します。
SambaNova が選択された OpenRouter BYOK のプロバイダー検索
3

SambaCloud API キーの追加

「Key」 フィールドに SambaCloud の API キーを入力し、「Enabled」 はオンのままにして、「Save」 をクリックします。保存する前に 「Test」 をクリックしてください。OpenRouter がそのキーで SambaNova を呼び出して結果を報告するため、後からアプリケーション側でデバッグすることなく、キーが有効かどうかをその場で確認できます。
Key フィールド、Enabled トグル、Always use for this provider トグルが表示された Enable SambaNova Key ダイアログ
4

OpenRouter キャパシティへのフォールバック可否の選択

「Always use for this provider」 はデフォルトでオフになっています。オフの間は、お使いのキーがレート制限を受けたり拒否されたりするたびに、OpenRouter は自身の共有 SambaNova キャパシティにフォールバックし、それらのリクエストを SambaCloud アカウントではなく OpenRouter クレジットに課金します。すべての SambaNova リクエストを必ずご自身のキー経由にしたい場合は、オンにしてください。その場合、暗黙のフォールバックは行われず、レート制限エラーが返されます。

対応モデル

OpenRouter では、SambaCloud のモデル ID ではなく、OpenRouter 独自のスラッグ (slug) でモデルを指定します。以下の SambaNova ホストのモデルは、OpenRouter 上の sambanova プロバイダー (BYOK キーの登録先となるプロバイダー) から提供されています。 最新のリストは、BYOK ダイアログの 「View SambaNova supported models」 をクリックするか、OpenRouter の SambaNova プロバイダーページ でご確認ください。コンテキスト長と対応モダリティについては、SambaCloud モデル をご参照ください。
SambaNova が OpenRouter 上で提供するすべてのモデルが sambanova プロバイダースラッグを使用しているわけではありません。たとえば meta-llama/llama-3.3-70b-instruct は、別のスラッグである sambanova-turbo から提供されています。provider.only に指定したスラッグは、そのプロバイダーおよび / 付きサフィックスのエンドポイントバリアントにマッチするため、only: ["sambanova"] では sambanova-turbo は選択されず、リクエストには利用可能な SambaNova エンドポイントがない状態になります。上の表のスラッグを使用するか、固定する前にモデルのページでプロバイダースラッグをご確認ください。

Python SDK の利用

OpenRouter SDK をインストールします。
以下のサンプルコードで読み取れるよう、OpenRouter API キーをエクスポートします。
SambaCloud のキーを環境変数に設定する必要はありません。OpenRouter がキーを保管し、SambaNova へのリクエストに自動的に付与します。 以下のコードで、OpenRouter 経由で SambaNova モデルにリクエストを送信します。provider={"only": ["sambanova"]} を設定するとルーティングが SambaNova に固定され、OpenRouter は共有の SambaNova キャパシティより先に BYOK キーを試します。
成功時のレスポンスは ChatResult であり、response.choices[0].message.content に生成されたテキストが格納されます。

ご自身のキーが使用されたことの確認

レスポンスが成功しただけでは、OpenRouter が自身の共有キャパシティではなく、ご自身の SambaCloud キーを使用したことの証明にはなりません。ルーターメタデータを有効にして is_byok を確認します。
x_open_router_metadata="enabled" は X-OpenRouter-Metadata: enabled ヘッダーを送信し、レスポンスに openrouter_metadata オブジェクトを追加します。is_byok は、リクエストがご自身のプロバイダーキーで処理された場合に True、OpenRouter の共有キャパシティで処理された場合に False になります。

エラー処理

キーの拒否やクォータの枯渇が、トレースバックではなく読みやすいメッセージとして表示されるよう、呼び出しをラップします。
OpenRouterError は SDK が送出するすべての HTTP エラーの基底クラスで、status_code、message、body を公開しています。特定のステータスで処理を分岐したい場合は、UnauthorizedResponseError (401) や TooManyRequestsResponseError (429) などのサブクラスを捕捉してください。

請求

OpenRouter で BYOK (Bring Your Own Key) を使用する場合は、以下の点にご注意ください。
  • 推論の料金は、ご自身の SambaCloud API キーを使用して SambaNova に直接支払います。
  • OpenRouter は、同じモデルとプロバイダーを OpenRouter の標準料金で利用した場合の金額に基づいて、5% のプラットフォーム手数料を請求します。
  • 手数料は、SambaCloud アカウントではなく OpenRouter クレジットから差し引かれます。
  • 各プランには、リクエスト数ではなく定価ベースの推論コストで測定される、毎月の BYOK 無料枠が含まれます。Pay-as-you-go プランは月 25,000 ドル分、Enterprise プランは月 200,000 ドル分です。詳細は OpenRouter の料金ページ をご参照ください。

トラブルシューティング

SambaCloud のキーが無効か、失効しているか、前後に空白が付いた状態で貼り付けられています。SambaCloud ポータル でキーを再生成し、BYOK 設定 で更新したうえで、再試行の前に 「Test」 をクリックして確認してください。
SambaCloud アカウントのレート制限に達しています。アカウントの制限値は レート制限 でご確認のうえ、バックオフを入れて再試行してください。
リクエストしたモデルに sambanova エンドポイントがないため、provider={"only": ["sambanova"]} ではルーティング先がなくなります。対応モデル のスラッグを使用してください。
キーが無効化されているか、レート制限を受けたか、拒否されたため、リクエストが OpenRouter の共有 SambaNova キャパシティにフォールバックしています。キーを修正したうえで、「Always use for this provider」 をオンにするとフォールバックを止められます。
openrouter パッケージには Python 3.10 以上が必要です。python3 --version で確認し、対応バージョンのインタープリターで作成した仮想環境にインストールしてください。
OpenRouter が試行した各プロバイダーの上流ステータスコードを確認するには、Activity ページ を開き、該当の生成結果をクリックして 「View Raw Metadata」 を選択し、provider_responses フィールドをご確認ください。

参考情報