Esta camada de compatibilidade é destinada principalmente para testar e comparar capacidades de modelos, e não é considerada uma solução de longo prazo ou pronta para produção para a maioria dos casos de uso. Embora pretendamos mantê-la totalmente funcional e não fazer mudanças que quebrem a compatibilidade, nossa prioridade é a confiabilidade e eficácia da API Claude.Para mais informações sobre limitações conhecidas de compatibilidade, consulte Limitações importantes de compatibilidade OpenAI.Se você encontrar algum problema com o recurso de compatibilidade do SDK OpenAI, por favor nos informe aqui.
Para a melhor experiência e acesso ao conjunto completo de recursos da API Claude (processamento de PDF, citações, pensamento estendido, e cache de prompt), recomendamos usar a API Claude nativa.
Começando com o SDK OpenAI
Para usar o recurso de compatibilidade do SDK OpenAI, você precisará:- Usar um SDK OpenAI oficial
- Alterar o seguinte
- Atualizar sua URL base para apontar para a API Claude
- Substituir sua chave API por uma chave API Claude
- Atualizar o nome do seu modelo para usar um modelo Claude
- Revisar a documentação abaixo para quais recursos são suportados
Exemplo de início rápido
Limitações importantes de compatibilidade OpenAI
Comportamento da API
Aqui estão as diferenças mais substanciais de usar OpenAI:- O parâmetro
strictpara chamada de função é ignorado, o que significa que o JSON de uso de ferramenta não é garantido para seguir o esquema fornecido. - Entrada de áudio não é suportada; será simplesmente ignorada e removida da entrada
- Cache de prompt não é suportado, mas é suportado no SDK Anthropic
- Mensagens de sistema/desenvolvedor são elevadas e concatenadas ao início da conversa, pois a Anthropic suporta apenas uma única mensagem de sistema inicial.
Considerações de qualidade de saída
Se você fez muitos ajustes no seu prompt, é provável que esteja bem ajustado especificamente para OpenAI. Considere usar nosso melhorador de prompt no Console Claude como um bom ponto de partida.Elevação de mensagem de Sistema / Desenvolvedor
A maioria das entradas para o SDK OpenAI mapeia claramente e diretamente para os parâmetros da API da Anthropic, mas uma diferença distinta é o tratamento de prompts de sistema / desenvolvedor. Esses dois prompts podem ser colocados ao longo de uma conversa de chat via OpenAI. Como a Anthropic suporta apenas uma mensagem de sistema inicial, pegamos todas as mensagens de sistema/desenvolvedor e as concatenamos juntas com uma única quebra de linha (\n) entre elas. Esta string completa é então fornecida como uma única mensagem de sistema no início das mensagens.
Suporte a pensamento estendido
Você pode habilitar capacidades de pensamento estendido adicionando o parâmetrothinking. Embora isso melhore o raciocínio do Claude para tarefas complexas, o SDK OpenAI não retornará o processo de pensamento detalhado do Claude. Para recursos completos de pensamento estendido, incluindo acesso à saída de raciocínio passo a passo do Claude, use a API Claude nativa.
Limites de taxa
Os limites de taxa seguem os limites padrão da Anthropic para o endpoint/v1/messages.
Suporte Detalhado da API Compatível com OpenAI
Campos de solicitação
Campos simples
| Campo | Status de suporte |
|---|---|
model | Use nomes de modelo Claude |
max_tokens | Totalmente suportado |
max_completion_tokens | Totalmente suportado |
stream | Totalmente suportado |
stream_options | Totalmente suportado |
top_p | Totalmente suportado |
parallel_tool_calls | Totalmente suportado |
stop | Todas as sequências de parada não-espaço em branco funcionam |
temperature | Entre 0 e 1 (inclusive). Valores maiores que 1 são limitados a 1. |
n | Deve ser exatamente 1 |
logprobs | Ignorado |
metadata | Ignorado |
response_format | Ignorado |
prediction | Ignorado |
presence_penalty | Ignorado |
frequency_penalty | Ignorado |
seed | Ignorado |
service_tier | Ignorado |
audio | Ignorado |
logit_bias | Ignorado |
store | Ignorado |
user | Ignorado |
modalities | Ignorado |
top_logprobs | Ignorado |
reasoning_effort | Ignorado |
Campos tools / functions
Mostrar campos
Mostrar campos
Campos
tools[n].function| Campo | Status de suporte |
|---|---|
name | Totalmente suportado |
description | Totalmente suportado |
parameters | Totalmente suportado |
strict | Ignorado |
Campos do array messages
Mostrar campos
Mostrar campos
Campos para
messages[n].role == "developer"Mensagens de desenvolvedor são elevadas ao início da conversa como parte da mensagem de sistema inicial
| Campo | Status de suporte |
|---|---|
content | Totalmente suportado, mas elevado |
name | Ignorado |
Campos de resposta
| Campo | Status de suporte |
|---|---|
id | Totalmente suportado |
choices[] | Sempre terá um comprimento de 1 |
choices[].finish_reason | Totalmente suportado |
choices[].index | Totalmente suportado |
choices[].message.role | Totalmente suportado |
choices[].message.content | Totalmente suportado |
choices[].message.tool_calls | Totalmente suportado |
object | Totalmente suportado |
created | Totalmente suportado |
model | Totalmente suportado |
finish_reason | Totalmente suportado |
content | Totalmente suportado |
usage.completion_tokens | Totalmente suportado |
usage.prompt_tokens | Totalmente suportado |
usage.total_tokens | Totalmente suportado |
usage.completion_tokens_details | Sempre vazio |
usage.prompt_tokens_details | Sempre vazio |
choices[].message.refusal | Sempre vazio |
choices[].message.audio | Sempre vazio |
logprobs | Sempre vazio |
service_tier | Sempre vazio |
system_fingerprint | Sempre vazio |
Compatibilidade de mensagem de erro
A camada de compatibilidade mantém formatos de erro consistentes com a API OpenAI. No entanto, as mensagens de erro detalhadas não serão equivalentes. Recomendamos usar as mensagens de erro apenas para logging e depuração.Compatibilidade de cabeçalho
Embora o SDK OpenAI gerencie automaticamente os cabeçalhos, aqui está a lista completa de cabeçalhos suportados pela API Claude para desenvolvedores que precisam trabalhar com eles diretamente.| Cabeçalho | Status de Suporte |
|---|---|
x-ratelimit-limit-requests | Totalmente suportado |
x-ratelimit-limit-tokens | Totalmente suportado |
x-ratelimit-remaining-requests | Totalmente suportado |
x-ratelimit-remaining-tokens | Totalmente suportado |
x-ratelimit-reset-requests | Totalmente suportado |
x-ratelimit-reset-tokens | Totalmente suportado |
retry-after | Totalmente suportado |
request-id | Totalmente suportado |
openai-version | Sempre 2020-10-01 |
authorization | Totalmente suportado |
openai-processing-ms | Sempre vazio |