この互換性レイヤーは主にモデル機能のテストと比較を目的としており、ほとんどのユースケースにおいて長期的または本番環境対応のソリューションとは考えられていません。完全に機能的に保ち、破壊的変更を行わない意図はありますが、私たちの優先事項はAnthropic APIの信頼性と有効性です。

既知の互換性制限の詳細については、重要なOpenAI互換性制限を参照してください。

OpenAI SDK互換性機能で問題が発生した場合は、こちらでお知らせください。

最高のエクスペリエンスとAnthropic APIの全機能セット(PDF処理引用拡張思考プロンプトキャッシュ)へのアクセスには、ネイティブのAnthropic APIの使用をお勧めします。

OpenAI SDKの開始

OpenAI SDK互換性機能を使用するには、以下が必要です:

  1. 公式のOpenAI SDKを使用する
  2. 以下を変更する
    • ベースURLをAnthropicのAPIを指すように更新する
    • APIキーをAnthropic APIキーに置き換える
    • モデル名をClaudeモデルを使用するように更新する
  3. サポートされている機能について以下のドキュメントを確認する

クイックスタート例

from openai import OpenAI

client = OpenAI(
    api_key="ANTHROPIC_API_KEY",  # あなたのAnthropic APIキー
    base_url="https://api.anthropic.com/v1/"  # AnthropicのAPIエンドポイント
)

response = client.chat.completions.create(
    model="claude-opus-4-20250514", # Anthropicモデル名
    messages=[
        {"role": "system", "content": "あなたは役立つアシスタントです。"},
        {"role": "user", "content": "あなたは誰ですか?"}
    ],
)

print(response.choices[0].message.content)

重要なOpenAI互換性制限

API動作

OpenAIの使用との最も重要な違いは以下の通りです:

  • 関数呼び出しのstrictパラメータは無視されます。これは、ツール使用JSONが提供されたスキーマに従うことが保証されないことを意味します。
  • 音声入力はサポートされていません。単純に無視され、入力から除去されます
  • プロンプトキャッシュはサポートされていませんが、Anthropic SDKではサポートされています
  • システム/開発者メッセージは先頭に移動され、会話の開始時に連結されます。Anthropicは単一の初期システムメッセージのみをサポートするためです。

サポートされていないフィールドのほとんどは、エラーを生成するのではなく、静かに無視されます。これらはすべて以下に文書化されています。

出力品質の考慮事項

プロンプトに多くの調整を行っている場合、それはOpenAI専用に適切に調整されている可能性があります。良い出発点として、Anthropic Consoleのプロンプト改善ツールの使用を検討してください。

システム/開発者メッセージの先頭移動

OpenAI SDKへの入力のほとんどは、AnthropicのAPIパラメータに直接明確にマップされますが、1つの明確な違いはシステム/開発者プロンプトの処理です。これら2つのプロンプトは、OpenAI経由でチャット会話全体に配置できます。Anthropicは初期システムメッセージのみをサポートするため、すべてのシステム/開発者メッセージを取得し、それらの間に単一の改行(\n)を挟んで連結します。この完全な文字列は、メッセージの開始時に単一のシステムメッセージとして提供されます。

拡張思考サポート

thinkingパラメータを追加することで、拡張思考機能を有効にできます。これにより複雑なタスクに対するClaudeの推論が改善されますが、OpenAI SDKはClaudeの詳細な思考プロセスを返しません。Claudeのステップバイステップの推論出力へのアクセスを含む完全な拡張思考機能については、ネイティブのAnthropic APIを使用してください。

response = client.chat.completions.create(
    model="claude-opus-4-20250514",
    messages=...,
    extra_body={
        "thinking": { "type": "enabled", "budget_tokens": 2000 }
    }
)

レート制限

レート制限は、/v1/messagesエンドポイントに対するAnthropicの標準制限に従います。

詳細なOpenAI互換API サポート

リクエストフィールド

シンプルフィールド

フィールドサポート状況
modelClaudeモデル名を使用
max_tokens完全サポート
max_completion_tokens完全サポート
stream完全サポート
stream_options完全サポート
top_p完全サポート
parallel_tool_calls完全サポート
stop空白文字以外のすべての停止シーケンスが動作
temperature0から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完全サポート
request-id完全サポート
openai-version常に2020-10-01
authorization完全サポート
openai-processing-ms常に空