Этот слой совместимости предназначен в первую очередь для тестирования и сравнения возможностей моделей и не рассматривается как долгосрочное или готовое к использованию в продакшене решение для большинства сценариев. Хотя предполагается, что он останется полностью функциональным и не будет содержать критических изменений, приоритетом является надёжность и эффективность Claude API.
Дополнительную информацию об известных ограничениях совместимости см. в разделе Важные ограничения совместимости с OpenAI.
Если вы столкнулись с какими-либо проблемами при использовании функции совместимости с OpenAI SDK, пожалуйста, поделитесь своим отзывом через эту форму обратной связи по совместимости.
Для наилучшего опыта и доступа к полному набору функций Claude API (обработка PDF, цитирование, расширенное мышление и кэширование подсказок) используйте нативный Claude API.
Чтобы использовать функцию совместимости с OpenAI SDK, вам необходимо:
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:
strict для вызова функций игнорируется, что означает, что JSON использования инструментов не гарантированно соответствует предоставленной схеме. Для гарантированного соответствия схеме используйте нативный Claude API со структурированными выводами.Большинство неподдерживаемых полей молча игнорируются, а не вызывают ошибки. Все они задокументированы ниже.
Если вы много работали над настройкой своей подсказки, она, вероятно, хорошо оптимизирована именно под OpenAI. Рассмотрите возможность использования инструмента улучшения подсказок в Claude Console в качестве хорошей отправной точки.
Большинство входных данных OpenAI SDK напрямую соответствуют параметрам API Anthropic, но одно явное отличие — это обработка системных подсказок и подсказок разработчика. Эти два типа подсказок могут размещаться в любом месте разговора через 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.
| Поле | Статус поддержки |
|---|---|
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 / functionsmessages| Поле | Статус поддержки |
|---|---|
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?