Совместимость с OpenAI SDK (бета)
С небольшими изменениями в коде вы можете использовать OpenAI SDK для тестирования API Anthropic. Anthropic предоставляет слой совместимости, который позволяет быстро оценить возможности моделей Anthropic с минимальными усилиями.
Отправляйте отзывы или сообщения об ошибках, связанных с функцией совместимости OpenAI SDK, здесь.
Перед началом работы
Этот слой совместимости предназначен для тестирования и сравнения возможностей моделей с минимальными усилиями по разработке и не считается долгосрочным или готовым к промышленной эксплуатации решением для большинства случаев использования. Для наилучшего опыта и доступа к полному набору функций 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 в качестве хорошей отправной точки.
Поднятие системных / разработчических сообщений
Большинство входных данных для 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 | Полностью поддерживается |
request-id | Полностью поддерживается |
openai-version | Всегда 2020-10-01 |
authorization | Полностью поддерживается |
openai-processing-ms | Всегда пусто |