Compatibilidade da API Perplexity com OpenAI: O Que é Suportado
🔍 WiseChecker

Compatibilidade da API Perplexity com OpenAI: O Que é Suportado

Desenvolvedores que criam aplicativos com IA frequentemente perguntam se a API Perplexity funciona com ferramentas e bibliotecas feitas para OpenAI. A API Perplexity foi projetada para ser compatível com as bibliotecas de cliente e o formato da API OpenAI, facilitando a migração ou integração. Este artigo explica exatamente quais recursos da OpenAI são suportados pela API Perplexity e quais não são. Você aprenderá as principais diferenças em endpoints, parâmetros, autenticação e comportamento de streaming.

Principais Conclusões: Compatibilidade da API Perplexity com OpenAI

  • Estrutura do endpoint: A Perplexity usa https://api.perplexity.ai com o mesmo caminho de chat completions da OpenAI.
  • Autenticação: Ambas as APIs exigem um token Bearer no cabeçalho Authorization.
  • Nomes de modelos: Nomes de modelos da Perplexity como sonar-pro substituem nomes da OpenAI como gpt-4.

ADVERTISEMENT

Visão Geral do Design da API Perplexity e Compatibilidade com OpenAI

A API Perplexity é construída sobre a mesma arquitetura REST da API da OpenAI. Isso significa que você pode usar os mesmos métodos HTTP, cabeçalhos e estrutura JSON para a maioria das requisições. O objetivo é permitir que desenvolvedores alternem entre provedores com o mínimo de alterações no código.

A principal diferença é a URL base e os nomes dos modelos. A Perplexity não suporta todos os recursos da OpenAI. Alguns parâmetros como function_call e tools estão ausentes. A API é focada em chat completions e não oferece geração de imagens, embeddings ou fine-tuning.

URL Base e Caminho do Endpoint

O endpoint de chat completions da OpenAI está em https://api.openai.com/v1/chat/completions. A Perplexity usa https://api.perplexity.ai/chat/completions. O caminho após a URL base é idêntico. Isso significa que você só precisa alterar a URL base e o token de autenticação para mudar da OpenAI para a Perplexity.

Método de Autenticação

Ambas as APIs autenticam usando uma chave de API passada como token Bearer no cabeçalho Authorization. Por exemplo: Authorization: Bearer pplx-xxxxxxxxxxxxxxxx. As chaves da API Perplexity começam com pplx-. Você as gera no painel da sua conta Perplexity, em API Keys.

Nomes de Modelos

A OpenAI usa nomes como gpt-4, gpt-3.5-turbo e gpt-4-turbo. A Perplexity usa seus próprios nomes, como sonar-pro, sonar-small e sonar-medium. Você deve substituir o nome do modelo no corpo da requisição. A lista completa de modelos disponíveis está em https://api.perplexity.ai/models.

Recursos da OpenAI Suportados na API Perplexity

A tabela a seguir lista os recursos da OpenAI que a Perplexity suporta. Se um recurso não estiver listado, considere que não é suportado.

Recurso Parâmetro OpenAI Suporte Perplexity
Chat completions /v1/chat/completions Sim
Streaming stream: true Sim
Mensagens do sistema role: system Sim
Mensagens do usuário role: user Sim
Mensagens do assistente role: assistant Sim
Temperatura temperature Sim
Máximo de tokens max_tokens Sim
Top P top_p Sim
Sequências de parada stop Sim
Penalidade de presença presence_penalty Sim
Penalidade de frequência frequency_penalty Sim
N (número de escolhas) n Sim
Logprobs logprobs Não
Funções functions Não
Ferramentas tools Não
Escolha de ferramenta tool_choice Não
Formato de resposta (modo JSON) response_format Não

ADVERTISEMENT

Passos para Migrar um Aplicativo OpenAI para a Perplexity

Siga estes passos para migrar um aplicativo de chat simples da OpenAI para a Perplexity. Eles assumem que você está usando a biblioteca oficial da OpenAI para Python ou um cliente similar.

  1. Obtenha sua chave de API Perplexity
    Acesse perplexity.ai/settings/api. Clique em Generate API Key. Copie a chave que começa com pplx-.
  2. Altere a URL base no seu cliente
    No cliente OpenAI, defina base_url como https://api.perplexity.ai. Exemplo: client = OpenAI(api_key='pplx-...', base_url='https://api.perplexity.ai').
  3. Substitua o nome do modelo
    Altere o parâmetro model de gpt-4 para sonar-pro ou outro modelo Perplexity. Exemplo: model='sonar-pro'.
  4. Remova parâmetros não suportados
    Exclua quaisquer campos functions, tools, tool_choice, logprobs ou response_format do corpo da requisição.
  5. Teste a conexão
    Envie uma requisição simples de chat completion. Se receber um erro 401, verifique sua chave de API. Se receber um erro 404, verifique o caminho do endpoint.

Equívocos Comuns e Limitações

Posso Usar a Biblioteca Python da OpenAI Diretamente?

Sim, você pode usar a biblioteca Python openai com a API Perplexity alterando a URL base e a chave de API. A biblioteca formatará as requisições corretamente. No entanto, ela pode tentar chamar endpoints não suportados como /v1/models ou /v1/embeddings. Você precisa tratar essas chamadas separadamente ou desativá-las.

A Perplexity Suporta Respostas em Streaming?

Sim, a Perplexity suporta streaming com stream: true. O formato da resposta é idêntico ao formato de streaming da OpenAI. Cada chunk contém um objeto choices[0].delta com content ou role. Você pode usar a mesma lógica de streaming.

Chamadas de Função ou Uso de Ferramentas Estão Disponíveis?

Não, a Perplexity não suporta chamadas de função ou uso de ferramentas. Os parâmetros functions, tools e tool_choice são ignorados ou causam erro. Se seu aplicativo depende de chamadas de função, você precisa implementar um mecanismo separado ou escolher outro provedor.

A Perplexity Suporta Embeddings ou Geração de Imagens?

Não, a Perplexity oferece apenas chat completions. Ela não fornece embeddings, geração de imagens ou processamento de áudio. Use OpenAI ou outro provedor para essas tarefas.

API Perplexity vs API OpenAI: Principais Diferenças

Item API Perplexity API OpenAI
URL base https://api.perplexity.ai https://api.openai.com
Endpoint de chat completions /chat/completions /v1/chat/completions
Nomenclatura de modelos sonar-pro, sonar-small, sonar-medium gpt-4, gpt-3.5-turbo, etc
Chamada de função Não suportado Suportado
Uso de ferramentas Não suportado Suportado
Streaming Suportado Suportado
Logprobs Não suportado Suportado
Modo JSON Não suportado Suportado
Embeddings Não disponível Disponível
Geração de imagens Não disponível Disponível

A API Perplexity oferece uma interface compatível para chat completions básicos com streaming e parâmetros de amostragem padrão. Ela não suporta recursos avançados da OpenAI como chamada de função, ferramentas, modo JSON ou embeddings. Para migrar um aplicativo existente, altere a URL base para https://api.perplexity.ai, substitua o nome do modelo por um modelo Perplexity e remova quaisquer parâmetros não suportados. Para uma integração mais profunda, considere usar os recursos específicos da Perplexity, como o parâmetro search_domain para pesquisa na web ou resultados acadêmicos. Teste seu aplicativo completamente após a migração, pois alguns casos extremos, como formatos de resposta de erro, podem diferir.

ADVERTISEMENT