Этот слой совместимости в первую очередь предназначен для тестирования и сравнения возможностей моделей и не считается долгосрочным или готовым к производству решением для большинства случаев использования. Хотя мы намерены поддерживать его полную функциональность и не вносить критических изменений, наш приоритет - надежность и эффективность Anthropic API.Для получения дополнительной информации об известных ограничениях совместимости см. Важные ограничения совместимости с OpenAI.Если вы столкнетесь с какими-либо проблемами с функцией совместимости OpenAI SDK, пожалуйста, сообщите нам об этом здесь.
Для лучшего опыта и доступа к полному набору функций Anthropic API (обработка PDF, цитирование, расширенное мышление и кэширование промптов), мы рекомендуем использовать нативный Anthropic API.
Начало работы с OpenAI SDK
Чтобы использовать функцию совместимости OpenAI SDK, вам необходимо:- Использовать официальный OpenAI SDK
- Изменить следующее:
- Обновить базовый URL, чтобы он указывал на API Anthropic
- Заменить ваш API ключ на API ключ Anthropic
- Обновить название модели для использования модели Claude
- Просмотреть документацию ниже для понимания поддерживаемых функций
Пример быстрого старта
Важные ограничения совместимости с OpenAI
Поведение API
Вот наиболее существенные различия от использования OpenAI:- Параметр
strict
для вызова функций игнорируется, что означает, что JSON использования инструментов не гарантированно будет следовать предоставленной схеме. - Аудио ввод не поддерживается; он будет просто игнорироваться и удаляться из ввода
- Кэширование промптов не поддерживается, но оно поддерживается в Anthropic SDK
- Системные/разработческие сообщения поднимаются и объединяются в начале разговора, поскольку Anthropic поддерживает только одно начальное системное сообщение.
Соображения качества вывода
Если вы много настраивали свой промпт, он, вероятно, хорошо настроен специально для OpenAI. Рассмотрите использование нашего улучшителя промптов в Anthropic Console в качестве хорошей отправной точки.Поднятие системных / разработческих сообщений
Большинство входных данных для OpenAI SDK четко отображаются непосредственно на параметры API Anthropic, но одно отличительное различие - это обработка системных / разработческих промптов. Эти два промпта могут быть размещены в течение всего чат-разговора через OpenAI. Поскольку Anthropic поддерживает только начальное системное сообщение, мы берем все системные/разработческие сообщения и объединяем их вместе с одним переносом строки (\n
) между ними. Эта полная строка затем предоставляется как одно системное сообщение в начале сообщений.
Поддержка расширенного мышления
Вы можете включить возможности расширенного мышления, добавив параметрthinking
. Хотя это улучшит рассуждения Claude для сложных задач, OpenAI SDK не будет возвращать подробный мыслительный процесс Claude. Для полных функций расширенного мышления, включая доступ к пошаговому выводу рассуждений Claude, используйте нативный Anthropic API.
Ограничения скорости
Ограничения скорости следуют стандартным ограничениям 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 | Игнорируется |
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 автоматически управляет заголовками, вот полный список заголовков, поддерживаемых 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 | Всегда пустое |