開始之前

這個相容層旨在以最少的開發工作量來測試和比較模型功能,並不被視為大多數使用情境的長期或生產環境解決方案。為了獲得最佳體驗並存取 Anthropic API 的完整功能集(PDF 處理引用延伸思考提示快取),我們建議使用原生的 Anthropic API

開始使用 OpenAI SDK

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

  1. 使用官方 OpenAI SDK
  2. 進行以下更改
  3. 查看下方文件以了解支援的功能

快速入門範例

重要的 OpenAI 相容性限制

API 行為

以下是與使用 OpenAI 相比最重要的差異:

  • strict 參數在函數呼叫中會被忽略,這意味著工具使用的 JSON 不保證會遵循提供的結構描述
  • 不支援音訊輸入;它將被簡單地忽略並從輸入中移除
  • 不支援提示快取,但在 Anthropic SDK 中支援
  • 系統/開發者訊息會被提升並串接到對話的開頭,因為 Anthropic 只支援單一的初始系統訊息

大多數不支援的欄位會被靜默忽略而不是產生錯誤。這些都在下方有詳細說明。

輸出品質考量

如果您已經對提示進行了大量調整,它可能特別適合 OpenAI。建議使用我們的 Anthropic Console 中的提示改進工具 作為良好的起點。

系統/開發者訊息提升

OpenAI SDK 的大多數輸入都可以直接對應到 Anthropic 的 API 參數,但一個明顯的差異是系統/開發者提示的處理。這兩種提示可以通過 OpenAI 在整個聊天對話中放置。由於 Anthropic 只支援初始系統訊息,我們會將所有系統/開發者訊息串接在一起,中間用單個換行符(\n)分隔。這個完整的字串然後會作為單一系統訊息提供在訊息的開頭。

延伸思考支援

您可以通過添加 thinking 參數來啟用延伸思考功能。雖然這將改善 Claude 在複雜任務中的推理能力,但 OpenAI SDK 不會返回 Claude 的詳細思考過程。要獲得完整的延伸思考功能,包括存取 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?