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