Claude Platform Docs
CLI, SDK и библиотекиБиблиотеки и интеграции

Совместимость с OpenAI SDK

Anthropic предоставляет слой совместимости, который позволяет использовать OpenAI SDK для тестирования Claude API. Внеся несколько изменений в код, вы можете быстро оценить возможности моделей Anthropic.

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

Чтобы использовать функцию совместимости с OpenAI SDK, вам необходимо:

  1. Использовать официальный OpenAI SDK
  2. Изменить следующее
  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-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

Поведение API

Вот наиболее существенные отличия от использования OpenAI:

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

Большинство неподдерживаемых полей молча игнорируются, а не вызывают ошибки. Все они задокументированы в следующих разделах.

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

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

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

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

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

Вы можете включить мышление, добавив параметр thinking. В текущих моделях мышление является адаптивным: Claude сам решает, когда и насколько глубоко думать, а в моделях Claude 5 оно включено по умолчанию; вручную настраиваемое «extended 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?