Этот слой совместимости в первую очередь предназначен для тестирования и сравнения возможностей моделей и не считается долгосрочным или готовым к производству решением для большинства случаев использования. Хотя мы намерены поддерживать его полную функциональность и не вносить критических изменений, наш приоритет — надежность и эффективность Claude API.Для получения дополнительной информации об известных ограничениях совместимости см. Важные ограничения совместимости с OpenAI.Если у вас возникнут проблемы с функцией совместимости OpenAI SDK, сообщите нам об этом здесь.
Для лучшего опыта и доступа к полному набору функций Claude API (обработка PDF, цитирование, расширенное мышление и кэширование промптов) мы рекомендуем использовать нативный Claude API.

Начало работы с OpenAI SDK

Чтобы использовать функцию совместимости OpenAI SDK, вам необходимо:
  1. Использовать официальный OpenAI SDK
  2. Изменить следующее
    • Обновить базовый URL, чтобы он указывал на Claude API
    • Заменить ваш API ключ на ключ Claude API
    • Обновить название модели для использования модели Claude
  3. Просмотреть документацию ниже для понимания поддерживаемых функций

Пример быстрого старта

from openai import OpenAI

client = OpenAI(
    api_key="ANTHROPIC_API_KEY",  # Ваш ключ Claude API
    base_url="https://api.anthropic.com/v1/"  # конечная точка Claude API
)

response = client.chat.completions.create(
    model="claude-sonnet-4-5", # название модели Anthropic
    messages=[
        {"role": "system", "content": "Вы полезный помощник."},
        {"role": "user", "content": "Кто вы?"}
    ],
)

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

Важные ограничения совместимости с OpenAI

Поведение API

Вот наиболее существенные различия от использования OpenAI:
  • Параметр strict для вызова функций игнорируется, что означает, что JSON использования инструментов не гарантированно следует предоставленной схеме.
  • Аудио ввод не поддерживается; он будет просто игнорироваться и удаляться из ввода
  • Кэширование промптов не поддерживается, но оно поддерживается в Anthropic SDK
  • Системные/разработческие сообщения поднимаются и объединяются в начале разговора, поскольку Anthropic поддерживает только одно начальное системное сообщение.
Большинство неподдерживаемых полей молча игнорируются, а не вызывают ошибки. Все они документированы ниже.

Соображения качества вывода

Если вы много настраивали свой промпт, он, вероятно, хорошо настроен специально для OpenAI. Рассмотрите использование нашего улучшителя промптов в Claude Console в качестве хорошей отправной точки.

Поднятие системных / разработческих сообщений

Большинство входных данных для OpenAI SDK четко сопоставляются напрямую с параметрами API Anthropic, но одно явное различие — это обработка системных / разработческих промптов. Эти два промпта могут быть размещены по всему чат-разговору через OpenAI. Поскольку Anthropic поддерживает только начальное системное сообщение, мы берем все системные/разработческие сообщения и объединяем их вместе с одним переносом строки (\n) между ними. Эта полная строка затем предоставляется как единое системное сообщение в начале сообщений.

Поддержка расширенного мышления

Вы можете включить возможности расширенного мышления, добавив параметр thinking. Хотя это улучшит рассуждения Claude для сложных задач, OpenAI SDK не вернет подробный мыслительный процесс Claude. Для полных функций расширенного мышления, включая доступ к пошаговому выводу рассуждений Claude, используйте нативный Claude API.
response = client.chat.completions.create(
    model="claude-sonnet-4-5",
    messages=...,
    extra_body={
        "thinking": { "type": "enabled", "budget_tokens": 2000 }
    }
)

Ограничения скорости

Ограничения скорости следуют стандартным ограничениям Anthropic для конечной точки /v1/messages.

Подробная поддержка API, совместимого с OpenAI

Поля запроса

Простые поля

ПолеСтатус поддержки
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

Поля tools[n].function
ПолеСтатус поддержки
nameПолностью поддерживается
descriptionПолностью поддерживается
parametersПолностью поддерживается
strictИгнорируется

Поля массива messages

Поля для messages[n].role == "developer"
Сообщения разработчика поднимаются в начало разговора как часть начального системного сообщения
ПолеСтатус поддержки
contentПолностью поддерживается, но поднимается
nameИгнорируется

Поля ответа

ПолеСтатус поддержки
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Всегда пустое