JA ▾
API キーを取得

LLMゲートウェイとは?

LLMゲートウェイは、アプリケーションと1つ以上の言語モデルAPIの間の単一エントリポイントです。このページでは、その処理内容、追加が価値を持つ場面、および本サービスの位置づけを説明します。

更新日:

アプリからのリクエストストリームを集約し、モデルサーバーに送信するアイソメトリックアーキテクチャ

主要ポイント

エンドポイントが既存のアプリと互換性を持つよう、OpenAIのチャット補完スキーマに厳密に従っていることを確認してください。

切り捨てエラーを避けるために、コンテキストウィンドウのサイズがアプリケーションのメモリ要件と一致していることを確認してください。

長時間の生成レイテンシを処理し、ユーザーエクスペリエンスを向上させるためにストリーミングサポートを実装してください。

プロンプトの保存に関する事項を含む、プライバシーポリシーがデータの保持要件と一致していることを確認してください。

簡潔な定義

LLMゲートウェイとは、アプリケーションと言語モデルのAPIの間に位置するサービスまたはコードのことです。アプリはすべてのリクエストを1つのアドレスに送信し、ゲートウェイがそれに対して何を行うかを判断します:誰がリクエストしているかを確認し、モデルやプロバイダを選択し、制限を適用し、呼び出しを転送し、発生したことを記録し、回答を返します。アプリは1つのインターフェースと通信し、その背後にあるものを気にしません。

このアイデアは、Webサービスで長年使われてきたAPIゲートウェイから借用したものです。違いは、トラフィックがモデル呼び出しであり、応答に時間がかかり、トークン単位で課金され、ストリーミングされることが多い点です。そのため、言語モデル用のゲートウェイには、通常のゲートウェイにはないいくつかの役割があります。

大半のゲートウェイはOpenAI SDKが使用するのと同じリクエスト形式を公開します。これは実用的な選択です。ほぼすべてのクライアントライブラリ、フレームワーク、ツールがこれをサポートしているため、ベースURLを1つ変更するだけで既存のアプリの前にゲートウェイを設置できます。

ゲートウェイの関数

異なる製品は異なる関数を提供しますが、共通関数は以下のようになります。

関数実務での意味
キープロバイダのキーは1か所に保存されます。アプリやチームメイトはそれぞれ独自のキーを取得し、あなたはそれらを無効化できます(プロバイダ側の変更は不要です)。
ルーティングリクエストはルールに基づいて選択されたモデルまたはプロバイダに送信されます:タスク別、ユーザー別、コスト別。
フォールバック1つのバックエンドが失敗または遅延した場合、リクエストは別のバックエンドに送信されます。
レート制限ユーザー別またはアプリ別の上限により、1つのクライアントが共有容量を使い果たすのを防ぎます。
リトライとタイムアウトHTTP 429などの一時的なエラーは、各サービスではなく1か所でリトライされます。
ログとコスト追跡各リクエストはトークン、レイテンシ、コストとともに記録されるため、誰がどのくらいコストをかけているかを確認できます。
キャッシュ同一のリクエストに対しては、保存された回答を返すことで、2回分の支払いを防げます。
ガードレールネットワーク外に出る前に個人データを削除するなど、入力と出力のチェック。

すべてのプロジェクトがこれらすべてを必要とするわけではありません。ゲートウェイの価値は、背後にあるアプリ、チーム、プロバイダの数とともに増大します。スクリプトとプロバイダが1つだけの場合、それは管理対象が増えるだけで、それ以上の価値は生み出しません。

いつ必要で、いつ不要か

すでに抱えている課題の数を数えることが、有用なテストになります。これらの質問のうち2つまたは3つに「はい」と答えられる場合、ゲートウェイは元を取ります。

  • 複数のアプリやチームメイトが同じプロバイダアカウントを共有しており、誰がいくら使っているかを確認できないか?
  • 複数のリポジトリにプロバイダキーをハードコードしているか?
  • すべてのサービスを再デプロイせずにモデルを切り替えたいか?
  • バックエンドがエラーを返す際に自動フォールバックが必要か?
  • プロンプトと回答の監査ログを保持する必要があるか?

答えがすべて「いいえ」の場合、スキップしてください。単一のボットや内部ツールには、ベースURL、キー、タイムアウト、リトライループが必要です。後からゲートウェイを追加することもできますし、リクエスト形式が同じであるため、変更量は少なくなります。早期に追加すると、実行・デバッグするものが1つ増えるだけです。

コストが発生する場所

ゲートウェイ自体がコストセンターになることもあります。セルフホスト型のプロキシにはサーバー、アップデート、モニタリングが必要です。マネージド版は通常、トークンに対して手数料またはマージンを課金します。検討している製品の現在の価格を確認してください。キャッシュ、より安価なモデルへのルーティング、ダウンタイムの削減による節約額と照らし合わせてから判断してください。

入手する3つの方法

軽量レイヤーを自分で書く

小規模なチームにとって、これはしばしば十分です。タイムアウトを追加し、429および5xx応答を再試行し、応答からのトークン使用量をログに記録し、設定ファイルからモデルを選択するラッパー関数は、約50行です。完全な制御権を維持し、追加のサービスは不要です。その代償として、あなたはそれを維持管理し、新しい要件のすべてがあなたのコードになります。

オープンソースプロキシを実行する

キー、予算、ルーティング関数を備えたOpenAI互換プロキシを提供するオープンソースプロジェクトが複数あります。ホストするため、プロンプトはインフラストラクチャ内に留まります。ただし、アップグレード、セキュリティパッチ、稼働時間の管理は自分で行う必要があります。サポートされている関数については、各プロジェクトのドキュメントを確認してください。

管理型ゲートウェイを使用する

ホスト型製品は、サーバー管理なしでダッシュボードとログを提供します。その代わりに、トラフィックを第三者経由で送信し、その価格表を受け入れるため、機密性の高いプロンプトを送信する前にデータポリシーを確認してください。

本サービスの位置づけ

Open LLM Gatewayはベンダー間のルーターではありません。これは独立したプロバイダが運営する、単一のオープンウェイトモデル向けのホスト型OpenAI互換APIであり、法的な成人向け利用においてコンテンツ拒否なしで応答するようにチューニングされています。任意のモデルベンダの公式APIではありません。モデルIDはuncensoredであり、エンドポイントはPOST /v1/chat/completionsとGET /v1/modelsを受け付けます。

これにより、独自のゲートウェイのためのクリーンなバックエンドになります。ゲートウェイがアップストリームプロバイダのリストを保持している場合、以下のベースURLを使用してこのプロバイダをOpenAI互換のアップストリームとして追加し、拒否がないモデルを必要とするリクエストをそこに送信します。ゲートウェイがない場合は、アプリから直接呼び出すこともできます。どちらの場合もセットアップは同じです。

from openai import OpenAI

client = OpenAI(
    base_url="https://api.openllmgateway.com/v1",
    api_key="YOUR_KEY",
)

resp = client.chat.completions.create(
    model="uncensored",
    messages=[{"role": "user", "content": "Explain what a gateway does in two sentences."}],
)
print(resp.choices[0].message.content)

SSEによるストリーミング、ツール呼び出し、JSONモード、および通常のサンプリングパラメータをサポートします。テキストのみ対応で、画像、オーディオ、埋め込み、ファインチューニングはサポートしません。プロンプトはトレーニングに使用されません。

ゲートウェイの背後に配置する際の計画

制限は固定数値であるため、このAPIの手前にあるゲートウェイは初めからそれらを尊重できます。フルキーは8つの同時リクエストと1分あたり300件のリクエストを許可します。トライアルキーは2および60を許可します。制限を超えると、APIはHTTP 429を返し、コードはrate_limitedまたはconcurrencyであり、一時的な過負荷にはRetry-After: 5ヘッダーが付きます。ゲートウェイのアップストリームごとの同時実行数を8またはそれ以下に設定し、Retry-Afterを尊重してください。

レスポンスにはX-Request-IdとX-Balance-USDが含まれます。前者はデバッグ用にログに記録し、後者は残高が尽きる前にアラートを出すために監視してください。ストリームリクエストはストリーム終了までスロットを保持するため、ストリームをバッファリングまたは部分的に読み取りのままにするゲートウェイは容量を浪費します。

コンテキストウィンドウは100,000トークン(プロンプトと補完の合計)で、最大ボディサイズは8 MBです。ゲートウェイがシステムプロンプトを追加したり履歴を挿入したりする場合は、それらのトークンもカウントしてください。

価格については、トークンは入力100万トークンあたり$0.15、出力100万トークンあたり$0.50で、前払いクレジットから課金され、サブスクリプションはありません。トークン使用量をログに記録するゲートウェイを使えば計算は簡単です。入力トークン300万、出力トークン500,000の1日で、$0.45 + $0.25 = $0.70がかかります。チャージは$20〜$500で、$50以上は+5%、$100以上は+10%、$200以上は+15%のボーナス付き、カードまたは暗号資産で利用可能です。詳細は価格ページをご覧ください。失敗または拒否されたリクエストには課金されません。

次のステップ

スタックにゲートウェイを追加するかどうかを判断する場合は、本番環境にデプロイする前に確認すべき項目について、AIゲートウェイ本番チェックリストをお読みください。エンドポイント自体をテストするには、クイックスタートに3行のクライアント変更があり、キーの取得は1分で完了します:Googleまたはメールアドレスとパスワードでサインアップし、ワンクリックで$0.50の無料トライアルクレジットを請求します。トライアルは7日間有効で、カードは不要、1人1回限りです。

プロジェクトが小さい場合はゲートウェイなしで始めてください。2つ目のアプリ、2つ目のプロバイダ、または最初の監査リクエストが発生した際にゲートウェイを追加し、インターフェースを同じままにすることで、移行コストをほぼゼロに抑えることができます。

質問と回答

キーはフォーム1つで入手できます

アカウントを作成し、キーをコピーし、ベースURLを変更します。これでセットアップは完了です。

API キーを取得
LLMゲートウェイはAPIゲートウェイと同じですか?

関連する概念です。LLMゲートウェイはモデルトラフィック用に構築されており、トークンの追跡、ストリーミングの処理、モデルやプロバイダ間のルーティングが可能です。

Open LLM Gatewayは複数のモデルベンダー間をルーティングするものですか?

いいえ。これは独立したプロバイダが運営する、1つのオープンウェイトモデル(モデルID: uncensored)向けのホスト型OpenAI互換APIです。これは、お客様自身のゲートウェイの背後にある1つのアップストリームとなります。

小さなプロジェクトにゲートウェイは必要ですか?

通常は不要です。複数のアプリ、チームメイト、またはプロバイダがセットアップを共有するまでは、Base URL、API キー、タイムアウト、リトライループだけで十分です。

ゲートウェイはどのリクエスト形式を使用しますか?

大半はOpenAIのチャット完了フォーマットを使用するため、Base URLとAPI キーを変更するだけで既存のSDKが動作します。このAPIも同じフォーマットを使用しています。

このAPIに対してゲートウェイが尊重すべき制限は何ですか?

フルキーは同時8リクエスト、1分あたり300リクエストを許可し、トライアルキーはそれぞれ2と60を許可します。429レスポンスではRetry-Afterヘッダーを尊重してください。