Amazon SageMaker AI エンドポイントの OpenAI 互換 API サポートを発表
Amazon SageMaker AI は、リアルタイム推論エンドポイント向けに OpenAI 互換の API サポートを開始しました。OpenAI SDK、LangChain、または Strands Agents を使用しているユーザーは、エンドポイント URL を変更するだけで SageMaker AI 上のモデルを呼び出せます。カスタムクライアント、SigV4 ラッパー、コードの書き換えは不要です。チャット補完リクエストとストリーミング応答をサポートし、ベアラートークン認証を使用します。
Amazon SageMaker AI は本日、リアルタイム推論エンドポイント向けに OpenAI 互換の API サポートを発表しました。この新機能により、OpenAI SDK、LangChain、または Strands Agents を使用しているユーザーは、エンドポイント URL を変更するだけで SageMaker AI 上のモデルを呼び出せるようになります。カスタムクライアント、SigV4 ラッパー、コードの書き換えは一切不要です。
SageMaker AI エンドポイントは /openai/v1 パスでチャット補完リクエストを受け付け、ストリーミングを含むコンテナからの応答をそのまま返します。標準の SageMaker AI API および SDK を使用するすべてのエンドポイントと推論コンポーネントで、OpenAI エンドポイントがデフォルトで有効になります。SageMaker AI は URL 内のエンドポイント名に基づいてルーティングするため、OpenAI 互換のクライアントはそのまま使用できます。ユーザーはエンドポイント用の時間制限付きベアラートークンを作成し、OpenAI クライアントで使用できるようになりました。
認証はベアラートークンによって行われます。SageMaker Python SDK にはトークンジェネレーターが含まれており、既存の AWS 認証情報から最大 12 時間有効なトークンを生成します。追加のシークレットや API キーは必要ありません。トークンはロールまたはユーザーの認証情報を含み、sagemaker:CallWithBearerToken および sagemaker:InvokeEndpoint のアクション権限が必要です。トークン生成時、SDK はクライアント側で SageMaker AI サービスへのリクエストを構築し、AWS 認証情報を使用して SigV4 署名を行い、署名済み URL をポータブルなトークン文字列にエンコードします。ネットワーク呼び出しは発生しません。サービス側ではトークンをデコードし、署名を検証し、有効期限を確認し、元の IAM ID が必要な権限を持っていることを確認します。
この機能は多様なユースケースをサポートします。自社インフラ上でエージェントワークフローを実行する場合、Strands Agents や LangChain を使用してマルチステップ AI エージェントを構築し、自身の SageMaker AI エンドポイント上で実行できます。エージェントは構築時に使用したものと同じ OpenAI 互換インターフェースでモデルを呼び出しますが、推論はユーザーアカウントの専用 GPU インスタンスで実行されます。マルチモデルホスティングの場合、汎用タスク用の Llama、ドメイン固有の微調整済み Mistral、分類用の小規模モデルなど、複数のモデルを単一の SageMaker AI エンドポイントにデプロイし、それぞれにリソースを割り当てて、すべてを同じ OpenAI SDK から呼び出すことができます。微調整済みモデルも既存の OpenAI 互換インターフェースで呼び出せ、変更はエンドポイント URL のみです。
本稿では、シングルモデルエンドポイントの作成と呼び出しの例、httpx を使用した自動リフレッシュトークンパターン、IAM 権限の最小権限原則など、詳細なデプロイ手順を提供しています。ベストプラクティスとして、使用時に毎回新しいトークンを生成し、有効期限を必要最小限に設定し、トークンをディスク、環境変数、ログに保存しないことが推奨されています。