Antes de começar

Esta camada de compatibilidade é destinada a testar e comparar as capacidades do modelo com mínimo esforço de desenvolvimento e não é considerada uma solução de longo prazo ou pronta para produção na maioria dos casos. Para a melhor experiência e acesso ao conjunto completo de recursos da API Anthropic (processamento de PDF, citações, pensamento estendido e cache de prompts), recomendamos usar a API Anthropic nativa.

Começando com o SDK OpenAI

Para usar o recurso de compatibilidade do SDK OpenAI, você precisará:

  1. Usar um SDK OpenAI oficial
  2. Fazer as seguintes alterações
    • Atualizar sua URL base para apontar para a API da Anthropic
    • Substituir sua chave de API por uma chave de API Anthropic
    • Atualizar o nome do seu modelo para usar um modelo Claude
  3. Revisar a documentação abaixo para ver quais recursos são suportados

Exemplo de início rápido

Limitações importantes de compatibilidade com OpenAI

Comportamento da API

Aqui estão as diferenças mais substanciais em relação ao uso da OpenAI:

  • O parâmetro strict para chamada de funções é ignorado, o que significa que o JSON de uso da ferramenta não é garantido que siga o esquema fornecido
  • A entrada de áudio não é suportada; será simplesmente ignorada e removida da entrada
  • O cache de prompts não é suportado, mas é suportado no SDK Anthropic
  • Mensagens de sistema/desenvolvedor são elevadas e concatenadas no início da conversa, já que a Anthropic suporta apenas uma única mensagem de sistema inicial.

A maioria dos campos não suportados são silenciosamente ignorados em vez de produzir erros. Todos estes estão documentados abaixo.

Considerações sobre qualidade de saída

Se você fez muitos ajustes em seu prompt, é provável que ele esteja bem ajustado especificamente para a OpenAI. Considere usar nosso aprimorador de prompts no Console Anthropic como um bom ponto de partida.

Elevação de mensagens de Sistema / Desenvolvedor

A maioria das entradas para o SDK OpenAI mapeia diretamente para os parâmetros da API Anthropic, mas uma diferença distinta é o tratamento de prompts de sistema/desenvolvedor. Estes 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 ao pensamento estendido

Você pode habilitar os recursos de pensamento estendido adicionando o parâmetro thinking. Embora isso melhore o raciocínio do Claude para tarefas complexas, o SDK OpenAI não retornará o processo detalhado de pensamento do Claude. Para recursos completos de pensamento estendido, incluindo acesso à saída do raciocínio passo a passo do Claude, use a API Anthropic nativa.

Limites de taxa

Os limites de taxa seguem os limites padrão da Anthropic para o endpoint /v1/messages.

Suporte Detalhado à API Compatível com OpenAI

Campos de requisição

Campos simples

CampoStatus do suporte
modelUse nomes de modelo Claude
max_tokensTotalmente suportado
max_completion_tokensTotalmente suportado
streamTotalmente suportado
stream_optionsTotalmente suportado
top_pTotalmente suportado
parallel_tool_callsTotalmente suportado
stopTodas as sequências de parada não-whitespace funcionam
temperatureEntre 0 e 1 (inclusive). Valores maiores que 1 são limitados a 1.
nDeve ser exatamente 1
logprobsIgnorado
metadataIgnorado
response_formatIgnorado
predictionIgnorado
presence_penaltyIgnorado
frequency_penaltyIgnorado
seedIgnorado
service_tierIgnorado
audioIgnorado
logit_biasIgnorado
storeIgnorado
userIgnorado
modalitiesIgnorado
top_logprobsIgnorado
Reasoning_effortIgnorado

Campos tools / functions

Campos do array messages

Campos de resposta

CampoStatus do suporte
idTotalmente suportado
choices[]Sempre terá comprimento 1
choices[].finish_reasonTotalmente suportado
choices[].indexTotalmente suportado
choices[].message.roleTotalmente suportado
choices[].message.contentTotalmente suportado
choices[].message.tool_callsTotalmente suportado
objectTotalmente suportado
createdTotalmente suportado
modelTotalmente suportado
finish_reasonTotalmente suportado
contentTotalmente suportado
usage.completion_tokensTotalmente suportado
usage.prompt_tokensTotalmente suportado
usage.total_tokensTotalmente suportado
usage.completion_tokens_detailsSempre vazio
usage.prompt_tokens_detailsSempre vazio
choices[].message.refusalSempre vazio
choices[].message.audioSempre vazio
logprobsSempre vazio
service_tierSempre vazio
system_fingerprintSempre vazio

Compatibilidade de mensagens 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 registro e depuração.

Compatibilidade de cabeçalhos

Embora o SDK OpenAI gerencie automaticamente os cabeçalhos, aqui está a lista completa de cabeçalhos suportados pela API da Anthropic para desenvolvedores que precisam trabalhar diretamente com eles.

CabeçalhoStatus do Suporte
x-ratelimit-limit-requestsTotalmente suportado
x-ratelimit-limit-tokensTotalmente suportado
x-ratelimit-remaining-requestsTotalmente suportado
x-ratelimit-remaining-tokensTotalmente suportado
x-ratelimit-reset-requestsTotalmente suportado
x-ratelimit-reset-tokensTotalmente suportado
retry-afterTotalmente suportado
x-request-idTotalmente suportado
openai-versionSempre 2020-10-01
authorizationTotalmente suportado
openai-processing-msSempre vazio

Was this page helpful?