Перед началом работы

Этот слой совместимости предназначен для тестирования и сравнения возможностей моделей с минимальными затратами на разработку и не считается долгосрочным или готовым к промышленной эксплуатации решением для большинства случаев использования. Для наилучшего опыта и доступа к полному набору функций API Anthropic (обработка PDF, цитирование, расширенное мышление и кэширование промптов), мы рекомендуем использовать нативный API Anthropic.

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

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

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

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

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

Поведение API

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

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

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

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

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

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

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

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

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

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

Ограничения скорости следуют стандартным ограничениям 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

Поля массива 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Всегда пусто

Совместимость сообщений об ошибках

Слой совместимости поддерживает согласованные форматы ошибок с API OpenAI. Однако подробные сообщения об ошибках не будут эквивалентными. Мы рекомендуем использовать сообщения об ошибках только для логирования и отладки.

Совместимость заголовков

Хотя SDK OpenAI автоматически управляет заголовками, вот полный список заголовков, поддерживаемых API Anthropic, для разработчиков, которым необходимо работать с ними напрямую.

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