この互換レイヤーは主にモデルの機能をテストおよび比較することを目的としており、ほとんどのユースケースにおいて長期的または本番環境向けのソリューションとは見なされていません。完全に機能し続け、破壊的変更が発生しないことを意図していますが、優先されるのはClaude APIの信頼性と有効性です。
既知の互換性の制限事項の詳細については、OpenAI互換性に関する重要な制限事項を参照してください。
OpenAI SDK互換機能に関して問題が発生した場合は、こちらの互換性フィードバックフォームからフィードバックをお寄せください。
最良のエクスペリエンスとClaude APIの全機能セット(PDF処理、引用、拡張思考、プロンプトキャッシング)へのアクセスには、ネイティブのClaude APIを使用してください。
OpenAI SDK互換機能を使用するには、以下が必要です。
- 公式のOpenAI SDKを使用する
- 以下を変更する
- サポートされている機能について、以下のドキュメントを確認する
OpenAIを使用する場合との最も重要な違いは以下のとおりです。
- 関数呼び出しの
strictパラメータは無視されるため、ツール使用のJSONが指定されたスキーマに従うことは保証されません。スキーマへの準拠を保証するには、ネイティブのClaude APIと構造化出力を使用してください。
- 音声入力はサポートされていません。単に無視され、入力から削除されます
- プロンプトキャッシングはサポートされていませんが、Anthropic SDKではサポートされています
- システム/デベロッパーメッセージは会話の先頭に引き上げられて連結されます。これは、Anthropicが単一の初期システムメッセージのみをサポートしているためです。
サポートされていないフィールドのほとんどは、エラーを生成するのではなく、暗黙的に無視されます。これらはすべて以下に記載されています。
プロンプトを多く調整してきた場合、それはOpenAI向けに最適化されている可能性が高いです。良い出発点として、Claude Consoleのプロンプト改善ツールの使用を検討してください。
OpenAI SDKへの入力のほとんどは、AnthropicのAPIパラメータに明確に直接対応しますが、1つの明確な違いはシステム/デベロッパープロンプトの処理です。OpenAIでは、これら2つのプロンプトをチャット会話全体に配置できます。Anthropicは初期システムメッセージのみをサポートしているため、APIはすべてのシステム/デベロッパーメッセージを取得し、それらの間に単一の改行(\n)を挟んで連結します。この完全な文字列が、メッセージの先頭で単一のシステムメッセージとして提供されます。
thinkingパラメータを追加することで、拡張思考機能を有効にできます。これにより複雑なタスクに対するClaudeの推論が向上しますが、OpenAI SDKはClaudeの詳細な思考プロセスを返しません。Claudeの段階的な推論出力へのアクセスを含む完全な拡張思考機能を利用するには、ネイティブのClaude APIを使用してください。
response = client.chat.completions.create(
model="claude-sonnet-4-6",
messages=[{"role": "user", "content": "Who are you?"}],
extra_body={"thinking": {"type": "enabled", "budget_tokens": 2000}},
)
レート制限は、/v1/messagesエンドポイントに対するAnthropicの標準制限に従います。
| フィールド | サポート状況 |
|---|
model | Claudeモデル名を使用 |
max_tokens | 完全にサポート |
max_completion_tokens | 完全にサポート |
stream | 完全にサポート |
stream_options | 完全にサポート |
top_p | 完全にサポート |
parallel_tool_calls | 完全にサポート |
stop | 空白文字以外のすべての停止シーケンスが機能 |
|
| フィールド | サポート状況 |
|---|
id | 完全にサポート |
choices[] | 常に長さが1になります |
choices[].finish_reason | 完全にサポート |
choices[].index | 完全にサポート |
choices[].message.role | 完全にサポート |
choices[].message.content | 完全にサポート |
choices[].message.tool_calls | 完全にサポート |
object | 完全にサポート |
互換レイヤーは、OpenAI APIと一貫したエラー形式を維持します。ただし、詳細なエラーメッセージは同等ではありません。エラーメッセージはログ記録とデバッグにのみ使用してください。
OpenAI SDKはヘッダーを自動的に管理しますが、ヘッダーを直接操作する必要がある開発者向けに、Claude APIがサポートするヘッダーの完全なリストを以下に示します。
| ヘッダー | サポート状況 |
|---|
x-ratelimit-limit-requests | 完全にサポート |
x-ratelimit-limit-tokens | 完全にサポート |
x-ratelimit-remaining-requests | 完全にサポート |
x-ratelimit-remaining-tokens | 完全にサポート |
x-ratelimit-reset-requests | 完全にサポート |
x-ratelimit-reset-tokens | 完全にサポート |
retry-after | 完全にサポート |
request-id | 完全にサポート |