Совместимость с OpenAI SDK (бета)
С помощью нескольких изменений в коде вы можете использовать OpenAI SDK для тестирования API Anthropic. Anthropic предоставляет слой совместимости, который позволяет быстро оценить возможности моделей Anthropic с минимальными усилиями.
Перед началом работы
Этот слой совместимости предназначен для тестирования и сравнения возможностей моделей с минимальными затратами на разработку и не считается долгосрочным или готовым к промышленной эксплуатации решением для большинства случаев использования. Для наилучшего опыта и доступа к полному набору функций API Anthropic (обработка PDF, цитирование, расширенное мышление и кэширование промптов), мы рекомендуем использовать нативный API Anthropic.
Начало работы с OpenAI SDK
Чтобы использовать функцию совместимости OpenAI SDK, вам необходимо:
- Использовать официальный SDK OpenAI
- Внести следующие изменения
- Обновить базовый URL для обращения к API Anthropic
- Заменить ваш API-ключ на API-ключ Anthropic
- Обновить название модели для использования модели Claude
- Ознакомиться с документацией ниже о поддерживаемых функциях
Пример быстрого старта
Важные ограничения совместимости с 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?