Draai de antwoordmachine van Perplexica op een aangepaste OpenAI base URL.

Updated 2026-07-29

Perplexica, upstream hernoemd naar Vane, configureert zijn OpenAI-provider met een API Key en een Base URL-veld. Zet de Base URL op https://api.apisrouter.com/v1, voeg de model-ID's toe die je wilt, en elk zoekantwoord wordt gesynthetiseerd via de gateway met Claude, GPT, DeepSeek of Gemini achter één sleutel.

Snel antwoord: één Base URL-veld, twee configgeneraties.

Op huidige releases biedt de OpenAI-provider van Perplexica precies twee verplichte velden: API Key en Base URL, bewerkbaar op het instelscherm en in de instellingen-UI, met gedocumenteerde omgevingsmappings OPENAI_API_KEY en OPENAI_BASE_URL. Zet de Base URL op https://api.apisrouter.com/v1, plak een gatewaysleutel, en voeg dan de chatmodellen toe die je wilt met hun exacte catalogus-ID's. De provider stuurt het model-ID als platte string door over /v1/chat/completions, dus Claude- en DeepSeek-ID's werken via de "OpenAI"-providerslot. Op oudere Perplexica-releases (de config.toml-generatie, tot en met de v1.10- en v1.11-lijn) is dezelfde mogelijkheid de CUSTOM_OPENAI-provider: een [MODELS.CUSTOM_OPENAI]-blok met de sleutels API_KEY, API_URL, en MODEL_NAME. Beide generaties staan hieronder, dus match de instelling met de versie die je daadwerkelijk draait.

# 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

Hoe Perplexica een vraag beantwoordt, en waar de LLM zit.

Perplexica (ItzCrazyKns op GitHub, ruim 36K sterren) is de bekendste open-source antwoordmachine in Perplexity-stijl: het neemt een vraag, draait echte webzoekopdrachten via een gebundelde SearxNG-instantie, leest de resultaten, en laat een LLM een geciteerd antwoord synthetiseren. Zoekmodi (speed, balanced, quality) wisselen retrieval-diepte tegen latentie, en focusmodi vernauwen bronnen tot web, discussies, of academische papers. In 2026 werd het project upstream hernoemd naar Vane, met de Docker-image die meeging; de architectuur en het providersysteem bleven behouden, dus alles hier geldt onder beide namen. De LLM-slot is waar synthesekwaliteit en kosten leven. Elk antwoord is een of meer chat-completions-aanroepen die de opgehaalde bronnen als context meedragen, wat een antwoordmachine tot een input-zware werklast maakt: het model leest veel meer dan het schrijft. Het providersysteem behandelt OpenAI als een van meerdere backends (Ollama, Anthropic, Gemini, Groq, en anderen), en de OpenAI-provider is degene met een vrij bewerkbare Base URL, wat het de gateway-hook maakt. Eén gedrag om vooraf te kennen: wanneer de Base URL iets anders is dan het standaard OpenAI-endpoint, toont Perplexica bewust een lege standaard modellijst en gebruikt het de modelvermeldingen die je zelf aan de provider toevoegt. Dat is opzettelijk, want het kan niet weten wat een aangepast endpoint bedient. claude-sonnet-4-6 of deepseek-v4-flash toevoegen als modelvermelding is de tweede helft van de instelling, geen omweg.

Volledige instelling: huidige releases en de legacy config.toml.

Huidige releases configureren alles in de app. Bij de eerste opstart vraagt het instelscherm om providers; daarna leven dezelfde velden in Settings. Selecteer de OpenAI-provider, zet API Key en Base URL, voeg dan chatmodel-vermeldingen toe met de ID's die je van plan bent te gebruiken. De ID's moeten exact overeenkomen met de gatewaycatalogus, en elke vermelding die je toevoegt verschijnt in de modelkiezer naast het zoekvak. De legacy-generatie is bestandsgebaseerd. Als je installatie nog een config.toml heeft, zit je op de CUSTOM_OPENAI-generatie: vul het onderstaande blok in en herstart de container. MODEL_NAME neemt één model-ID, dat de UI dan aanbiedt als de custom-OpenAI-optie.

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

Een synthesemodel kiezen voor een antwoordmachine.

Omdat de modelkiezer leest wat je ook voor vermeldingen toevoegde tegen één Base URL, is A/B-testen van synthesemodellen triviaal: stel dezelfde vraag in twee tabbladen met twee vermeldingen en vergelijk citaten. Het gebruikslogboek per sleutel prijst de antwoorden van elk model, wat de eerlijke manier is om te beslissen of frontier-synthese zijn tokens verdient op je querymix.

  • Inputtokens domineren. Een antwoord in quality-modus kan grote opgehaalde contexten in de prompt duwen, dus de prijs per inputtoken van je ID bepaalt de kosten van een zoekopdracht, niet het korte antwoord dat het terugschrijft.
  • claude-sonnet-4-6 is de sterke standaard voor geciteerde synthese: het volgt bron-groundinginstructies goed en blijft coherent wanneer veel fragmenten elkaar tegenspreken.
  • High-volume persoonlijke of teaminstanties doen het goed op claude-haiku-4-5-20251001, gemini-3.5-flash, of deepseek-v4-flash: antwoorden blijven gegrond en de kosten per zoekopdracht dalen genoeg om quality-modus aan te laten staan.
  • Houd een frontier-ID als tweede vermelding. Modelvermeldingen staan naast elkaar in de kiezer, dus een moeilijke vraag escaleren naar gpt-5.5 is een dropdown-wijziging, geen configbewerking.
  • Academische focusmodus beloont langecontext-modellen, aangezien paper-abstracts en -fragmenten omvangrijker zijn dan websnippets.

Betaal naar gebruik · onder officiële prijzen

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

ModelOfficiële prijsOnze prijs
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

Faalmodi specifiek voor Perplexica.

De lege modellijst is de klassieker. Je zet de Base URL, de kiezer wordt leeg, en het lijkt kapot. Dat is het niet: met een niet-standaard Base URL vermeldt Perplexica alleen de modelvermeldingen die je aan de provider toevoegt. Voeg je ID's toe en ze verschijnen. Embeddings zijn een aparte slot. Perplexica gebruikt embeddingmodellen voor reranking van resultaten, en de OpenAI-provider bedient embeddings vanuit dezelfde Base URL en sleutel. Als je gateway het embedding-ID dat je daar configureert niet bedient, breekt reranking terwijl chatantwoorden blijven werken. De schone splitsing is om embeddings op de lokale Transformers-provider te houden, die op de machine draait zonder enige API, en alleen chatsynthese via de gateway te routeren. De naamswijziging struikelt gidsen. Perplexica en Vane zijn hetzelfde project; oude tutorials verwijzen naar de perplexica-Docker-image en config.toml, huidige builds leveren als vane met in-app instellingen en een persistent datavolume. Als je installatie geen config.toml heeft, maak er dan geen aan, het wordt niet gelezen; configureer via de UI of de gedocumenteerde env vars. SearxNG staat op zichzelf. Als antwoorden verslechteren of zoekopdrachten niets teruggeven, is dat de SearxNG-container of zijn JSON-formaatinstelling, niet het LLM-endpoint. De Base URL verplaatst alleen chat- en embeddingaanroepen.

Wie routeert Perplexica via een gateway.

  • Self-hosters die een Perplexity-abonnement vervangen en frontier-kwaliteit synthese per zoekopdracht willen tegen tokenprijzen, met één sleutel in plaats van een leveranciersaccount per modelfamilie.
  • Teams die een gedeelde antwoordmachine draaien, waar het gebruikslogboek per sleutel "wat kost zoeken ons" omzet in een getal per model.
  • Privacygerichte opstellingen die retrieval volledig lokaal houden (SearxNG plus lokale embeddings) en alleen de finale synthese-aanroep naar buiten routeren via één controleerbaar endpoint.
  • Sleutelaars die synthesemodellen vergelijken op identieke vragen: elke kandidaat is één modelvermelding tegen dezelfde Base URL.
  • Developers zonder toegang tot de facturering van een bepaalde leverancier. Toegang op basis van opwaarderen zonder kaartvereiste verwijdert de aanmeldingsafhankelijkheid per provider.

Verifieer het endpoint en debug de eerste zoekopdracht.

Bevestig dat de gateway de ID's bedient die je hebt toegevoegd voordat je de app de schuld geeft; de vermeldingen in de provider moeten exact overeenkomen met de /v1/models-output. Fouten bij de eerste run volgen een patroon. "No chat model providers configured" betekent dat de providervelden niet zijn opgeslagen of dat de modellijst nog leeg is; voeg minstens één chatmodel-vermelding toe. Een 401 in de serverlogs betekent dat de sleutel niet overeenkomt met het endpoint in het Base URL-veld. Een model-not-found-fout is een tikfout in een modelvermelding. Reranking-fouten met werkende antwoorden wijzen naar de embeddingslot, waar de lokale Transformers-provider je redt. En als er niets veranderde na het bewerken van omgevingsvariabelen, onthoud dan dat de configuratie in het datavolume blijft; velden al opgeslagen in de UI winnen van een latere env-wijziging, dus bewerk ze in Settings. Zodra zoekopdrachten vloeien, toont de APIsRouter-console model per verzoek, tokenaantallen en uitgaven. Antwoordmachines zijn input-zwaar, en het echte tokens-per-zoekopdracht-getal voor je querymix zien verslaat elke schatting.

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

Veelgestelde vragen

Is Perplexica hetzelfde project als Vane?

Ja. De upstream-repository werd in 2026 hernoemd naar Vane, en de Docker-image volgde. Het providersysteem, de SearxNG-integratie, en het hier beschreven Base URL-veld zijn hetzelfde onder beide namen; alleen legacy-releases gebruiken nog de naam Perplexica en config.toml.

Kan Perplexica Claude- of DeepSeek-modellen gebruiken voor antwoorden?

Ja. De OpenAI-provider stuurt model-ID's als platte strings door naar welke Base URL je ook instelt. Voeg claude-sonnet-4-6 of deepseek-v4-flash toe als modelvermeldingen tegen de gateway-Base-URL en ze verschijnen in de modelkiezer als elke andere optie.

Waarom is de modellijst leeg nadat ik de Base URL heb gewijzigd?

Naar ontwerp. Met een niet-standaard Base URL kan Perplexica niet aannemen welke modellen het endpoint bedient, dus vermeldt het alleen de vermeldingen die je zelf aan de provider toevoegt. Voeg je ID's toe in Settings en ze verschijnen onmiddellijk.

Wat zijn de legacy CUSTOM_OPENAI-configsleutels?

Op de config.toml-generatie (tot en met de v1.10- en v1.11-lijn) neemt het [MODELS.CUSTOM_OPENAI]-blok API_KEY, API_URL, en MODEL_NAME. Zet API_URL op het gateway-endpoint inclusief /v1 en MODEL_NAME op één catalogus-ID, herstart dan.

Routeren embeddings ook via de aangepaste Base URL?

Als je embeddingmodellen configureert op de OpenAI-provider, ja, ze gebruiken dezelfde Base URL en sleutel. De meeste gatewayinstellingen houden embeddings in plaats daarvan op de lokale Transformers-provider, die geen API nodig heeft en reranking onafhankelijk houdt van het chat-endpoint.

Werken de omgevingsvariabelen OPENAI_API_KEY en OPENAI_BASE_URL nog steeds?

Ja, dat zijn de gedocumenteerde env-mappings voor de twee velden van de OpenAI-provider op huidige releases. Let op dat waarden al opgeslagen via de instellingen-UI blijven in het datavolume, dus bewerk daar als de app al eerder is geconfigureerd.