OpenAI SDK互換性(ベータ版)
コードを少し変更するだけで、OpenAI SDKを使用してAnthropic APIをテストできます。Anthropicは、最小限の労力でAnthropicのモデル機能を素早く評価できる互換性レイヤーを提供しています。
始める前に
この互換性レイヤーは、最小限の開発労力でモデル機能をテストおよび比較することを目的としており、ほとんどのユースケースにおいて長期的または本番環境での使用には適していません。最高の体験とAnthropic APIの完全な機能セット(PDF処理、引用、拡張思考、プロンプトキャッシング)にアクセスするには、ネイティブのAnthropic APIの使用をお勧めします。
OpenAI SDKを使い始める
OpenAI SDK互換機能を使用するには、以下が必要です:
- 公式OpenAI SDKを使用する
- 以下を変更する
- ベースURLをAnthropicのAPIを指すように更新する
- APIキーをAnthropic APIキーに置き換える
- モデル名をClaudeモデルを使用するように更新する
- サポートされている機能について以下のドキュメントを確認する
クイックスタート例
OpenAI互換性の重要な制限事項
API動作
OpenAIを使用する場合との主な違いは以下の通りです:
- 関数呼び出しの
strict
パラメータは無視され、ツール使用のJSONは提供されたスキーマに従うことが保証されません - 音声入力はサポートされていません。入力から単純に無視され、削除されます
- プロンプトキャッシングはサポートされていませんが、Anthropic SDKではサポートされています
- システム/開発者メッセージは会話の先頭に移動され連結されます。Anthropicは単一の初期システムメッセージのみをサポートしているためです
サポートされていないフィールドのほとんどは、エラーを生成せずに静かに無視されます。これらはすべて以下に記載されています。
出力品質に関する考慮事項
プロンプトを多く調整している場合、それはOpenAI専用に最適化されている可能性が高いです。Anthropic Consoleのプロンプト改善ツールを良い出発点として検討してください。
システム/開発者メッセージの移動
OpenAI SDKへの入力のほとんどはAnthropicのAPIパラメータに直接マッピングされますが、システム/開発者プロンプトの扱いは大きく異なります。これら2つのプロンプトはOpenAIではチャット会話全体に配置できます。Anthropicは初期システムメッセージのみをサポートするため、すべてのシステム/開発者メッセージを改行(\n
)で区切って連結し、その完全な文字列を単一のシステムメッセージとしてメッセージの先頭に配置します。
拡張思考のサポート
thinking
パラメータを追加することで拡張思考機能を有効にできます。これにより複雑なタスクに対するClaudeの推論は改善されますが、OpenAI SDKはClaudeの詳細な思考プロセスを返しません。ステップバイステップの推論出力を含む完全な拡張思考機能を利用するには、ネイティブのAnthropic APIを使用してください。
レート制限
レート制限はAnthropicの/v1/messages
エンドポイントの標準制限に従います。
詳細なOpenAI互換API対応状況
リクエストフィールド
シンプルなフィールド
フィールド | サポート状況 |
---|---|
model | Claudeモデル名を使用 |
max_tokens | 完全にサポート |
max_completion_tokens | 完全にサポート |
stream | 完全にサポート |
stream_options | 完全にサポート |
top_p | 完全にサポート |
parallel_tool_calls | 完全にサポート |
stop | 空白以外の停止シーケンスがすべて機能 |
temperature | 0から1(含む)の間。1より大きい値は1に制限されます |
n | 正確に1である必要があります |
logprobs | 無視 |
metadata | 無視 |
response_format | 無視 |
prediction | 無視 |
presence_penalty | 無視 |
frequency_penalty | 無視 |
seed | 無視 |
service_tier | 無視 |
audio | 無視 |
logit_bias | 無視 |
store | 無視 |
user | 無視 |
modalities | 無視 |
top_logprobs | 無視 |
Reasoning_effort | 無視 |
tools
/ functions
フィールド
messages
配列フィールド
レスポンスフィールド
フィールド | サポート状況 |
---|---|
id | 完全にサポート |
choices[] | 常に長さ1 |
choices[].finish_reason | 完全にサポート |
choices[].index | 完全にサポート |
choices[].message.role | 完全にサポート |
choices[].message.content | 完全にサポート |
choices[].message.tool_calls | 完全にサポート |
object | 完全にサポート |
created | 完全にサポート |
model | 完全にサポート |
finish_reason | 完全にサポート |
content | 完全にサポート |
usage.completion_tokens | 完全にサポート |
usage.prompt_tokens | 完全にサポート |
usage.total_tokens | 完全にサポート |
usage.completion_tokens_details | 常に空 |
usage.prompt_tokens_details | 常に空 |
choices[].message.refusal | 常に空 |
choices[].message.audio | 常に空 |
logprobs | 常に空 |
service_tier | 常に空 |
system_fingerprint | 常に空 |
エラーメッセージの互換性
互換性レイヤーはOpenAI APIと一貫したエラーフォーマットを維持します。ただし、詳細なエラーメッセージは同等ではありません。エラーメッセージはログ記録とデバッグにのみ使用することをお勧めします。
ヘッダーの互換性
OpenAI SDKは自動的にヘッダーを管理しますが、直接ヘッダーを扱う必要がある開発者向けに、Anthropic 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 | 完全にサポート |
x-request-id | 完全にサポート |
openai-version | 常に2020-10-01 |
authorization | 完全にサポート |
openai-processing-ms | 常に空 |
Was this page helpful?