Этот слой совместимости в первую очередь предназначен для тестирования и сравнения возможностей моделей и не считается долгосрочным или готовым к производственному использованию решением для большинства случаев. Хотя он предназначен для того, чтобы оставаться полностью функциональным и не иметь критических изменений, приоритетом является надёжность и эффективность 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-5", # 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 со Structured Outputs.Большинство неподдерживаемых полей молча игнорируются, а не вызывают ошибки. Все они задокументированы в следующих разделах.
Если вы много настраивали вашу подсказку, она, вероятно, хорошо оптимизирована именно под OpenAI. Рассмотрите возможность её переработки для Claude, используя руководство по лучшим практикам создания подсказок.
Большинство входных данных OpenAI SDK явно напрямую соответствуют параметрам API Anthropic, но одно заметное отличие — это обработка подсказок system / developer. Эти две подсказки могут размещаться по всему ходу чат-разговора через OpenAI. Поскольку Anthropic поддерживает только начальное системное сообщение, API берёт все сообщения system/developer и объединяет их вместе с одним переводом строки (\n) между ними. Эта полная строка затем предоставляется как единое системное сообщение в начале сообщений.
Вы можете включить мышление, добавив параметр thinking. В текущих моделях мышление является адаптивным, и Claude сам решает, когда и насколько глубоко думать, а в моделях Claude 5 оно включено по умолчанию; вручную настроенное расширенное мышление является устаревшим режимом. Хотя мышление улучшает рассуждения 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 используйте Structured Outputs с нативным 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?