Faites tourner le moteur de réponse de Perplexica sur une base URL OpenAI personnalisée.
Updated 2026-07-29
Perplexica, renommé Vane par le projet officiel, configure son fournisseur OpenAI avec un champ API Key et un champ Base URL. Réglez la Base URL sur https://api.apisrouter.com/v1, ajoutez les ids de modèles que vous voulez, et chaque réponse de recherche se synthétise via la passerelle avec Claude, GPT, DeepSeek ou Gemini derrière une seule clé.
Réponse rapide : un champ Base URL, deux générations de config.
Sur les versions actuelles, le fournisseur OpenAI de Perplexica expose exactement deux champs requis : API Key et Base URL, éditables dans l'écran de configuration et l'interface de réglages, avec des correspondances d'environnement documentées OPENAI_API_KEY et OPENAI_BASE_URL. Réglez la Base URL sur https://api.apisrouter.com/v1, collez une clé de passerelle, puis ajoutez les chat models que vous voulez par leurs ids exacts du catalogue. Le fournisseur transmet l'id de modèle comme simple chaîne via /v1/chat/completions, donc les ids Claude et DeepSeek fonctionnent via l'emplacement de fournisseur « OpenAI ». Sur les anciennes versions de Perplexica (la génération config.toml, jusqu'à la lignée v1.10 et v1.11), la même capacité est le fournisseur CUSTOM_OPENAI : un bloc [MODELS.CUSTOM_OPENAI] avec les clés API_KEY, API_URL et MODEL_NAME. Les deux générations sont montrées ci-dessous, donc faites correspondre la configuration à la version que vous faites réellement tourner.
# 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-6Comment Perplexica répond à une question, et où se situe le LLM.
Perplexica (ItzCrazyKns sur GitHub, environ 36 000 étoiles) est le moteur de réponse open source le plus connu dans le style Perplexity : il prend une question, lance de vraies recherches web via une instance SearxNG embarquée, lit les résultats, et fait synthétiser par un LLM une réponse citée. Les modes de recherche (speed, balanced, quality) échangent la profondeur de récupération contre la latence, et les modes focus restreignent les sources au web, aux discussions ou aux articles académiques. En 2026, le projet a été renommé Vane par le projet officiel, l'image Docker suivant le mouvement ; l'architecture et le système de fournisseurs ont été conservés, donc tout ce qui suit s'applique sous les deux noms. L'emplacement LLM est là où vivent la qualité de synthèse et le coût. Chaque réponse est un ou plusieurs appels chat-completions portant les sources récupérées comme contexte, ce qui fait d'un moteur de réponse une charge de travail à haut volume de tokens d'entrée : le modèle lit bien plus qu'il n'écrit. Le système de fournisseurs traite OpenAI comme l'un de plusieurs backends (Ollama, Anthropic, Gemini, Groq, et d'autres), et le fournisseur OpenAI est celui dont la Base URL est librement éditable, ce qui en fait le point d'accroche pour la passerelle. Un comportement à connaître d'emblée : quand la Base URL est autre chose que l'endpoint OpenAI de base, Perplexica affiche intentionnellement une liste de modèles par défaut vide et utilise les entrées de modèle que vous ajoutez vous-même au fournisseur. C'est voulu par conception, puisqu'il ne peut pas savoir ce que sert un endpoint personnalisé. Ajouter claude-sonnet-4-6 ou deepseek-v4-flash comme entrée de modèle est la seconde moitié de la configuration, pas un contournement.
Configuration complète : versions actuelles et le config.toml historique.
Les versions actuelles configurent tout dans l'app. Au premier démarrage, l'écran de configuration demande les fournisseurs ; ensuite, les mêmes champs vivent dans Settings. Sélectionnez le fournisseur OpenAI, réglez API Key et Base URL, puis ajoutez des entrées de chat model avec les ids que vous comptez utiliser. Les ids doivent correspondre exactement au catalogue de la passerelle, et chaque entrée que vous ajoutez apparaît dans le sélecteur de modèle à côté de la boîte de recherche. La génération historique est basée sur des fichiers. Si votre installation a encore un config.toml, vous êtes sur la génération CUSTOM_OPENAI : remplissez le bloc ci-dessous et redémarrez le conteneur. MODEL_NAME prend un id de modèle, que l'interface propose ensuite comme option OpenAI personnalisée.
[MODELS.CUSTOM_OPENAI]
API_KEY = "sk-YOUR-APISROUTER-KEY"
API_URL = "https://api.apisrouter.com/v1"
MODEL_NAME = "claude-sonnet-4-6"Choisir un modèle de synthèse pour un moteur de réponse.
Comme le sélecteur de modèle lit quelles que soient les entrées que vous avez ajoutées contre une seule Base URL, tester des modèles de synthèse en A/B est trivial : posez la même question dans deux onglets avec deux entrées et comparez les citations. Le journal d'usage par clé chiffre les réponses de chaque modèle, la façon honnête de décider si la synthèse frontier mérite ses tokens sur votre mélange de requêtes.
- Les tokens d'entrée dominent. Une réponse en mode quality peut pousser de larges contextes récupérés dans le prompt, donc le tarif par token d'entrée de votre id fixe le coût d'une recherche, pas la courte réponse qu'il renvoie.
- claude-sonnet-4-6 est le défaut solide pour la synthèse citée : il suit bien les instructions d'ancrage aux sources et reste cohérent quand de nombreux extraits sont en désaccord.
- Les instances personnelles ou d'équipe à haut volume se comportent bien sur claude-haiku-4-5-20251001, gemini-3.5-flash ou deepseek-v4-flash : les réponses restent ancrées et le coût par recherche baisse assez pour laisser le mode quality activé.
- Gardez un id frontier comme seconde entrée. Les entrées de modèle siègent côte à côte dans le sélecteur, donc escalader une question difficile vers gpt-5.5 est un changement de menu déroulant, pas une édition de config.
- Le mode focus académique récompense les modèles longue contexte, puisque les résumés et extraits d'articles sont plus volumineux que les extraits web.
Paiement à l'usage · en dessous du tarif officiel
Selected models are priced below official list prices. Exact input, output, cache, and per-request prices are shown for each model.
| Modèle | Prix officiel | Notre prix |
|---|---|---|
| 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 |
Modes d'échec spécifiques à Perplexica.
La liste de modèles vide est le classique. Vous réglez la Base URL, le sélecteur devient vide, et cela semble cassé. Ça ne l'est pas : avec une Base URL non par défaut, Perplexica ne liste que les entrées de modèle que vous ajoutez au fournisseur. Ajoutez vos ids et ils apparaissent. Les embeddings sont un emplacement séparé. Perplexica utilise des modèles d'embedding pour le rerank des résultats, et le fournisseur OpenAI sert les embeddings depuis la même Base URL et la même clé. Si votre passerelle ne sert pas l'id d'embedding que vous y configurez, le rerank casse tandis que les réponses de chat continuent de fonctionner. La séparation propre consiste à garder les embeddings sur le fournisseur Transformers local, qui tourne sur la machine sans aucune API, et à ne router que la synthèse de chat via la passerelle. Le renommage piège les guides. Perplexica et Vane sont le même projet ; les anciens tutoriels référencent l'image Docker perplexica et config.toml, les builds actuels sont livrés sous le nom vane avec des réglages dans l'app et un volume de données persistant. Si votre installation n'a pas de config.toml, n'en créez pas, il n'est pas lu ; configurez plutôt via l'interface ou les variables d'environnement documentées. SearxNG est indépendant. Si les réponses se dégradent ou que les recherches ne renvoient rien, c'est le conteneur SearxNG ou son réglage de format JSON, pas l'endpoint LLM. La Base URL ne déplace que les appels de chat et d'embedding.
Qui route Perplexica via une passerelle.
- Les auto-hébergeurs qui remplacent un abonnement Perplexity et veulent une synthèse de qualité frontier par recherche à des tarifs au token, avec une seule clé au lieu d'un compte fournisseur par famille de modèles.
- Les équipes qui font tourner un moteur de réponse partagé, où le journal d'usage par clé transforme « combien la recherche nous coûte-t-elle » en un chiffre par modèle.
- Les configurations axées confidentialité qui gardent la récupération entièrement locale (SearxNG plus embeddings locaux) et ne routent vers l'extérieur que l'appel de synthèse final via un seul endpoint auditable.
- Les bricoleurs qui comparent des modèles de synthèse sur des questions identiques : chaque candidat est une entrée de modèle contre la même Base URL.
- Les développeurs sans accès à la facturation d'un fournisseur donné. Un accès basé sur la recharge, sans exigence de carte, supprime la dépendance à une inscription par fournisseur.
Vérifiez l'endpoint et déboguez la première recherche.
Confirmez que la passerelle sert les ids que vous avez ajoutés avant de blâmer l'app ; les entrées dans le fournisseur doivent correspondre exactement à la sortie /v1/models. Les échecs au premier lancement suivent un motif. « No chat model providers configured » signifie que les champs de fournisseur ne se sont pas enregistrés ou que la liste de modèles est encore vide ; ajoutez au moins une entrée de chat model. Un 401 dans les journaux serveur signifie que la clé ne correspond pas à l'endpoint dans le champ Base URL. Une erreur model-not-found est une faute de frappe d'id dans une entrée de modèle. Des erreurs de rerank avec des réponses qui fonctionnent pointent vers l'emplacement d'embedding, là où le fournisseur Transformers local vous sauve. Et si rien n'a changé après avoir édité des variables d'environnement, rappelez-vous que la config persiste dans le volume de données ; les champs déjà enregistrés dans l'interface l'emportent sur un changement d'environnement ultérieur, donc éditez-les dans Settings. Une fois les recherches en circulation, la console APIsRouter affiche le modèle par requête, le nombre de tokens et la dépense. Les moteurs de réponse sont lourds en entrée, et voir le vrai chiffre de tokens par recherche pour votre mélange de requêtes bat toute estimation.
curl -s https://api.apisrouter.com/v1/models \
-H "Authorization: Bearer $APISROUTER_API_KEY" | head -50Questions fréquentes
Perplexica est-il le même projet que Vane ?
Oui. Le dépôt officiel a été renommé Vane en 2026, et l'image Docker a suivi. Le système de fournisseurs, l'intégration SearxNG et le champ Base URL décrits ici sont les mêmes sous les deux noms ; seules les anciennes versions utilisent encore le nom Perplexica et config.toml.
Perplexica peut-il utiliser des modèles Claude ou DeepSeek pour les réponses ?
Oui. Le fournisseur OpenAI transmet les ids de modèles comme simples chaînes vers quelle que soit la Base URL que vous réglez. Ajoutez claude-sonnet-4-6 ou deepseek-v4-flash comme entrées de modèle contre la Base URL de la passerelle et ils apparaissent dans le sélecteur de modèle comme n'importe quelle autre option.
Pourquoi la liste de modèles est-elle vide après avoir changé la Base URL ?
Par conception. Avec une Base URL non par défaut, Perplexica ne peut pas supposer quels modèles sert l'endpoint, donc il ne liste que les entrées que vous ajoutez vous-même au fournisseur. Ajoutez vos ids dans Settings et ils apparaissent immédiatement.
Quelles sont les anciennes clés de config CUSTOM_OPENAI ?
Sur la génération config.toml (jusqu'à la lignée v1.10 et v1.11), le bloc [MODELS.CUSTOM_OPENAI] prend API_KEY, API_URL et MODEL_NAME. Réglez API_URL sur l'endpoint de la passerelle incluant /v1 et MODEL_NAME sur un id du catalogue, puis redémarrez.
Les embeddings routent-ils aussi via la Base URL personnalisée ?
Si vous configurez des modèles d'embedding sur le fournisseur OpenAI, oui, ils utilisent la même Base URL et la même clé. La plupart des configurations de passerelle gardent plutôt les embeddings sur le fournisseur Transformers local, qui ne nécessite aucune API et laisse le rerank indépendant de l'endpoint de chat.
Les variables d'environnement OPENAI_API_KEY et OPENAI_BASE_URL fonctionnent-elles encore ?
Oui, ce sont les correspondances d'environnement documentées pour les deux champs du fournisseur OpenAI sur les versions actuelles. Notez que les valeurs déjà enregistrées via l'interface de réglages persistent dans le volume de données, donc éditez-les là si l'app a déjà été configurée une fois.