• 訊息
  • 託管代理
  • 管理
Search...
⌘K
CLI、SDK 與函式庫
概覽
ant CLI
快速入門驗證選項使用 CLI指令碼與自動化
用戶端 SDK
中介軟體PythonTypeScriptC#GoJavaPHPRuby
函式庫與整合
Apple Foundation ModelsOpenAI SDK 相容性
Log in
OpenAI SDK 相容性
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...

Solutions

  • AI agents
  • Code modernization
  • Coding
  • Customer support
  • Education
  • Financial services
  • Government
  • Life sciences

Partners

  • Amazon Bedrock
  • Google Cloud's Vertex AI

Learn

  • Blog
  • Courses
  • Use cases
  • Connectors
  • Customer stories
  • Engineering at Anthropic
  • Events
  • Powered by Claude
  • Service partners
  • Startups program

Company

  • Anthropic
  • Careers
  • Economic Futures
  • Research
  • News
  • Responsible Scaling Policy
  • Security and compliance
  • Transparency

Learn

  • Blog
  • Courses
  • Use cases
  • Connectors
  • Customer stories
  • Engineering at Anthropic
  • Events
  • Powered by Claude
  • Service partners
  • Startups program

Help and security

  • Availability
  • Status
  • Support
  • Discord

Terms and policies

  • Privacy policy
  • Responsible disclosure policy
  • Terms of service: Commercial
  • Terms of service: Consumer
  • Usage policy
CLI、SDK 與函式庫/函式庫與整合

OpenAI SDK 相容性

Anthropic 提供了一個相容層,讓您能夠使用 OpenAI SDK 來測試 Claude API。只需進行少量程式碼變更,您就可以快速評估 Anthropic 模型的功能。

此相容層主要用於測試和比較模型功能,對於大多數使用案例而言,並不被視為長期或可用於生產環境的解決方案。雖然我們希望它能保持完整功能且不會有破壞性變更,但優先考量的仍是 Claude API 的可靠性與效能。

如需了解已知相容性限制的更多資訊,請參閱重要的 OpenAI 相容性限制。

如果您在使用 OpenAI SDK 相容性功能時遇到任何問題,請透過此相容性意見回饋表單分享您的意見。

為獲得最佳體驗並存取 Claude API 的完整功能集(PDF 處理、引用、擴展思考和提示快取),請使用原生 Claude API。

開始使用 OpenAI SDK

若要使用 OpenAI SDK 相容性功能,您需要:

  1. 使用官方的 OpenAI SDK
  2. 變更以下內容
    • 更新您的 base URL 以指向 Claude API
    • 將您的 API 金鑰替換為 Claude API 金鑰
    • 更新您的模型名稱以使用 Claude 模型
  3. 查閱下方文件以了解支援哪些功能

快速入門範例

import os

from openai import OpenAI

client = OpenAI(
    api_key=os.environ.get("ANTHROPIC_API_KEY"),  # Your Claude API key
    base_url="https://api.anthropic.com/v1/",  # the Claude API endpoint
)

response = client.chat.completions.create(
    model="claude-opus-4-8",  # Claude model name
    messages=[
        {"role": "system", "content": "You are a helpful assistant."},
        {"role": "user", "content": "Who are you?"},
    ],
)

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

重要的 OpenAI 相容性限制

API 行為

以下是與使用 OpenAI 最主要的差異:

  • 函式呼叫的 strict 參數會被忽略,這表示工具使用的 JSON 不保證會遵循所提供的結構描述。如需保證結構描述的一致性,請使用原生 Claude API 搭配結構化輸出。
  • 不支援音訊輸入;它會被直接忽略並從輸入中移除
  • 不支援提示快取,但 Anthropic SDK 中支援此功能
  • 系統/開發者訊息會被提升並串接至對話的開頭,因為 Anthropic 僅支援單一的初始系統訊息。

大多數不支援的欄位會被靜默忽略,而不會產生錯誤。這些內容都記錄在下方。

輸出品質考量

如果您已對提示進行了大量調整,它很可能是專門針對 OpenAI 進行最佳化的。建議使用 Claude Console 中的提示改進工具作為良好的起點。

系統/開發者訊息提升

OpenAI SDK 的大多數輸入都能清楚地直接對應到 Anthropic 的 API 參數,但一個明顯的差異是系統/開發者提示的處理方式。透過 OpenAI,這兩種提示可以放置在聊天對話的任何位置。由於 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}},
)

速率限制

速率限制遵循 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忽略。如需 JSON 輸出,請使用原生 Claude API 的結構化輸出
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 會自動管理標頭,但以下是 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完全支援
openai-version永遠為 2020-10-01
authorization完全支援
openai-processing-ms永遠為空

Was this page helpful?

  • 開始使用 OpenAI SDK
  • 快速入門範例
  • 重要的 OpenAI 相容性限制
  • API 行為
  • 輸出品質考量
  • 系統/開發者訊息提升
  • 擴展思考支援
  • 速率限制
  • 詳細的 OpenAI 相容 API 支援
  • 請求欄位
  • 回應欄位
  • 錯誤訊息相容性
  • 標頭相容性