Rode o motor de respostas do Perplexica em uma base URL OpenAI personalizada.

Updated 2026-07-29

O Perplexica, renomeado Vane no upstream, configura seu provedor OpenAI com uma API Key e um campo Base URL. Defina a Base URL como https://api.apisrouter.com/v1, adicione os ids de modelo que quiser, e toda resposta de busca sintetiza pelo gateway com Claude, GPT, DeepSeek, ou Gemini sob uma chave.

Resposta rápida: um campo Base URL, duas gerações de configuração.

Nas versões atuais, o provedor OpenAI do Perplexica expõe exatamente dois campos obrigatórios: API Key e Base URL, editáveis na tela de configuração inicial e na UI de configurações, com mapeamentos de ambiente documentados OPENAI_API_KEY e OPENAI_BASE_URL. Defina a Base URL como https://api.apisrouter.com/v1, cole uma chave de gateway, depois adicione os chat models que você quiser pelos ids exatos do catálogo. O provedor encaminha o id do modelo como uma string simples via /v1/chat/completions, então ids Claude e DeepSeek funcionam através do slot de provedor "OpenAI". Em releases mais antigos do Perplexica (a geração config.toml, até a linha v1.10 e v1.11), o mesmo recurso é o provedor CUSTOM_OPENAI: um bloco [MODELS.CUSTOM_OPENAI] com chaves API_KEY, API_URL, e MODEL_NAME. As duas gerações estão mostradas abaixo, então combine a configuração com a versão que você realmente está rodando.

# the settings UI fields map to these documented env vars
export OPENAI_API_KEY=sk-APIsRouter-...
export OPENAI_BASE_URL=https://api.apisrouter.com/v1
# then add chat models by id in Settings, e.g. claude-sonnet-4-6

Como o Perplexica responde a uma pergunta, e onde o LLM se encaixa.

O Perplexica (ItzCrazyKns no GitHub, cerca de 36 mil estrelas) é o motor de respostas open-source mais conhecido no estilo Perplexity: ele recebe uma pergunta, roda buscas reais na web por uma instância empacotada do SearxNG, lê os resultados, e faz um LLM sintetizar uma resposta citada. Modos de busca (speed, balanced, quality) trocam profundidade de recuperação por latência, e modos de foco restringem fontes à web, discussões, ou artigos acadêmicos. Em 2026 o projeto foi renomeado Vane no upstream, com a imagem Docker seguindo o mesmo caminho; a arquitetura e o sistema de provedor vieram junto, então tudo aqui se aplica sob qualquer um dos nomes. O slot de LLM é onde a qualidade de síntese e o custo vivem. Toda resposta é uma ou mais chamadas de chat-completions carregando as fontes recuperadas como contexto, o que torna um motor de respostas uma carga de trabalho pesada em tokens de entrada: o modelo lê muito mais do que escreve. O sistema de provedor trata a OpenAI como um de vários backends (Ollama, Anthropic, Gemini, Groq, e outros), e o provedor OpenAI é o que tem uma Base URL livremente editável, o que o torna o gancho do gateway. Um comportamento que vale a pena conhecer de antemão: quando a Base URL é qualquer coisa diferente do endpoint padrão da OpenAI, o Perplexica deliberadamente mostra uma lista de modelo padrão vazia e usa as entradas de modelo que você mesmo adiciona ao provedor. Isso é intencional, já que ele não pode saber o que um endpoint personalizado serve. Adicionar claude-sonnet-4-6 ou deepseek-v4-flash como uma entrada de modelo é a segunda metade da configuração, não uma gambiarra.

Configuração completa: releases atuais e o config.toml legado.

Releases atuais configuram tudo dentro do app. Na primeira inicialização a tela de configuração pede provedores; depois os mesmos campos vivem em Settings. Selecione o provedor OpenAI, defina API Key e Base URL, depois adicione entradas de chat model com os ids que você planeja usar. Os ids precisam corresponder exatamente ao catálogo do gateway, e cada entrada que você adiciona aparece no seletor de modelo ao lado da caixa de busca. A geração legada é baseada em arquivo. Se sua instalação ainda tem um config.toml, você está na geração CUSTOM_OPENAI: preencha o bloco abaixo e reinicie o container. MODEL_NAME recebe um id de modelo, que a UI então oferece como a opção OpenAI personalizada.

[MODELS.CUSTOM_OPENAI]
API_KEY = "sk-YOUR-APISROUTER-KEY"
API_URL = "https://api.apisrouter.com/v1"
MODEL_NAME = "claude-sonnet-4-6"

Escolhendo um modelo de síntese para um motor de respostas.

Como o seletor de modelo lê qualquer entrada que você adicionou contra uma Base URL, fazer A/B de modelos de síntese é trivial: faça a mesma pergunta em duas abas com duas entradas e compare as citações. O log de uso por chave precifica as respostas de cada modelo, o que é a forma honesta de decidir se a síntese de ponta merece seus tokens na sua mistura de consultas.

  • Tokens de entrada dominam. Uma resposta no modo quality pode empurrar contextos recuperados grandes para o prompt, então o preço por token de entrada do seu id define o custo de uma busca, não a resposta curta que ela escreve de volta.
  • claude-sonnet-4-6 é o padrão forte para síntese citada: segue bem as instruções de fundamentação em fontes e continua coerente quando muitos trechos discordam.
  • Instâncias pessoais ou de time de alto volume vão bem em claude-haiku-4-5-20251001, gemini-3.5-flash, ou deepseek-v4-flash: as respostas continuam fundamentadas e o custo por busca cai o suficiente para deixar o modo quality ligado.
  • Mantenha um id de ponta como uma segunda entrada. Entradas de modelo ficam lado a lado no seletor, então escalar uma pergunta difícil para gpt-5.5 é uma troca de dropdown, não uma edição de configuração.
  • O modo de foco acadêmico premia modelos de contexto longo, já que resumos e trechos de artigos são mais volumosos que snippets da web.

Pague pelo uso · abaixo do preço oficial

Selected models are priced below official list prices. Exact input, output, cache, and per-request prices are shown for each model.

ModeloPreço oficialNosso preço
Claude Sonnet 4.6$3.00 / $15.00 per M$2.40 / $12.00 per M
Claude Haiku 4.5 20251001$1.00 / $5.00 per M$0.80 / $4.00 per M
GPT-5.5$5.00 / $30.00 per M$4.00 / $24.00 per M
Gemini 3.5 Flash$1.50 / $9.00 per M$1.20 / $7.20 per M
DeepSeek V4 Flash$0.14 / $0.28 per M$0.10 / $0.30 per M

Modos de falha específicos do Perplexica.

A lista de modelo vazia é o clássico. Você define a Base URL, o seletor fica em branco, e parece quebrado. Não está: com uma Base URL não padrão, o Perplexica lista só as entradas de modelo que você adiciona ao provedor. Adicione seus ids e eles aparecem. Embeddings são um slot separado. O Perplexica usa modelos de embedding para reranking de resultado, e o provedor OpenAI serve embeddings da mesma Base URL e chave. Se seu gateway não serve o id de embedding que você configura ali, o reranking quebra enquanto as respostas de chat continuam funcionando. A separação limpa é manter embeddings no provedor local Transformers, que roda na máquina sem nenhuma API, e rotear só a síntese de chat pelo gateway. A renomeação atrapalha guias. Perplexica e Vane são o mesmo projeto; tutoriais antigos referenciam a imagem Docker perplexica e o config.toml, builds atuais vêm como vane com configurações no app e um volume de dados persistente. Se sua instalação não tem config.toml, não crie um, ele não é lido; configure pela UI ou pelas variáveis de ambiente documentadas em vez disso. O SearxNG é independente. Se as respostas degradam ou as buscas não retornam nada, isso é o container do SearxNG ou sua configuração de formato JSON, não o endpoint do LLM. A Base URL só move chamadas de chat e embedding.

Quem roteia o Perplexica por um gateway.

  • Auto-hospedeiros substituindo uma assinatura do Perplexity que querem síntese com qualidade de ponta por busca a preços de token, com uma chave em vez de uma conta de fornecedor por família de modelo.
  • Times rodando um motor de respostas compartilhado, onde o log de uso por chave transforma "quanto a busca nos custa" em um número por modelo.
  • Configurações focadas em privacidade que mantêm a recuperação totalmente local (SearxNG mais embeddings locais) e roteiam só a chamada de síntese final para fora por um endpoint auditável.
  • Curiosos comparando modelos de síntese em perguntas idênticas: cada candidato é uma entrada de modelo contra a mesma Base URL.
  • Desenvolvedores sem acesso ao faturamento de um determinado fornecedor. O acesso baseado em recarga sem exigência de cartão remove a dependência de cadastro por provedor.

Verifique o endpoint e depure a primeira busca.

Confirme que o gateway serve os ids que você adicionou antes de culpar o app; as entradas no provedor precisam corresponder exatamente à saída de /v1/models. Falhas na primeira execução seguem um padrão. "No chat model providers configured" significa que os campos do provedor não salvaram ou a lista de modelo ainda está vazia; adicione pelo menos uma entrada de chat model. Um 401 nos logs do servidor significa que a chave não corresponde ao endpoint no campo Base URL. Um erro model-not-found é um erro de digitação de id em uma entrada de modelo. Erros de reranking com respostas funcionando apontam para o slot de embedding, onde o provedor local Transformers te salva. E se nada mudou depois de editar variáveis de ambiente, lembre que a configuração persiste no volume de dados; campos já salvos na UI vencem uma mudança de ambiente posterior, então edite-os em Settings. Assim que as buscas fluem, o console da APIsRouter mostra modelo, contagens de token e gasto por requisição. Motores de resposta são pesados em entrada, e ver o número real de tokens por busca para sua mistura de consultas supera qualquer estimativa.

curl -s https://api.apisrouter.com/v1/models \
  -H "Authorization: Bearer $APISROUTER_API_KEY" | head -50

Perguntas frequentes

O Perplexica é o mesmo projeto que o Vane?

Sim. O repositório upstream foi renomeado Vane em 2026, e a imagem Docker seguiu junto. O sistema de provedor, a integração com o SearxNG, e o campo Base URL descrito aqui são os mesmos sob os dois nomes; só releases legados ainda usam o nome Perplexica e o config.toml.

O Perplexica pode usar modelos Claude ou DeepSeek para respostas?

Sim. O provedor OpenAI encaminha ids de modelo como strings simples para qualquer Base URL que você definir. Adicione claude-sonnet-4-6 ou deepseek-v4-flash como entradas de modelo contra a Base URL do gateway e elas aparecem no seletor de modelo como qualquer outra opção.

Por que a lista de modelo está vazia depois que eu mudei a Base URL?

Por design. Com uma Base URL não padrão, o Perplexica não pode assumir quais modelos o endpoint serve, então lista só as entradas que você mesmo adiciona ao provedor. Adicione seus ids em Settings e eles aparecem imediatamente.

Quais são as chaves de configuração legadas CUSTOM_OPENAI?

Na geração config.toml (até a linha v1.10 e v1.11), o bloco [MODELS.CUSTOM_OPENAI] recebe API_KEY, API_URL, e MODEL_NAME. Defina API_URL como o endpoint do gateway incluindo /v1 e MODEL_NAME como um id do catálogo, depois reinicie.

Embeddings também roteiam pela Base URL personalizada?

Se você configurar modelos de embedding no provedor OpenAI, sim, eles usam a mesma Base URL e chave. A maioria das configurações de gateway mantém embeddings no provedor local Transformers em vez disso, o que não precisa de nenhuma API e deixa o reranking independente do endpoint de chat.

As variáveis de ambiente OPENAI_API_KEY e OPENAI_BASE_URL ainda funcionam?

Sim, são os mapeamentos de ambiente documentados para os dois campos do provedor OpenAI nos releases atuais. Note que valores já salvos pela UI de configurações persistem no volume de dados, então edite ali se o app já foi configurado uma vez.