Intermédiaire 11 minRecherche web

Perplexica : un Perplexity auto-hébergé avec votre LLM local

Perplexity a popularisé un usage : poser une question en langage naturel et recevoir une réponse synthétique avec ses sources citées, plutôt qu'une liste de liens bleus. Perplexica reproduit exactement ce fonctionnement, mais chez vous : un moteur de recherche web open-source qui interroge le web via SearXNG, puis fait rédiger la réponse par votre LLM local sous Ollama. Ce guide monte la stack complète en Docker, explique les modes de recherche (les fameux « focus »), et pose sans langue de bois ce qu'on gagne et ce qu'on perd face à l'original.

Par Thomas P.·Màj 2026-08-09·Testé sur Windows, macOS, Linux

#Pourquoi Perplexica plutôt que Perplexity

Perplexity est un excellent produit, mais c'est un service cloud : vos requêtes partent chez eux, la version gratuite est limitée, et le modèle qui rédige n'est pas sous votre contrôle. Perplexica renverse la logique. C'est un projet open-source (licence MIT, disponible sur GitHub) qui orchestre trois composants que vous hébergez vous-même. Aucune requête ne quitte votre réseau, il n'y a rien à payer, et vous choisissez le modèle qui répond.

L'intérêt n'est pas seulement idéologique. Un moteur de réponses local peut interroger des sources sans être bridé par des quotas, tourner en tâche de fond dans un homelab, et servir de brique de recherche pour d'autres outils via son interface. En contrepartie, la qualité dépend directement de votre modèle local et de la santé de votre instance SearXNG — deux points sur lesquels ce guide insiste.

i
Ce que fait Perplexica, concrètement
Vous posez une question. Perplexica reformule votre requête, la lance sur SearXNG, récupère les meilleurs résultats, en extrait le contenu pertinent, puis demande à votre LLM de rédiger une synthèse en citant les sources numérotées. C'est un pipeline de RAG appliqué au web en temps réel.

#La stack Perplexica + SearXNG + Ollama

Trois briques, chacune avec un rôle net. Comprendre qui fait quoi rend le dépannage beaucoup plus simple quand une réponse est mauvaise : vous saurez laquelle des trois interroger.

SearXNG
Un métamoteur de recherche libre qui agrège les résultats de dizaines de moteurs (Google, Bing, DuckDuckGo, Wikipedia…) sans tracking. C'est lui qui va réellement chercher sur le web. Perplexica ne fonctionne pas sans lui.
Ollama
Le daemon qui sert votre LLM local sur http://localhost:11434. C'est lui qui rédige la réponse finale à partir des sources. Il fournit aussi un modèle d'embeddings pour classer la pertinence des extraits.
Perplexica
Le chef d'orchestre et l'interface web. Il reformule la question, pilote SearXNG, extrait le contenu des pages, gère le reclassement par embeddings, et compose le prompt final envoyé à Ollama.
Deux modèles, pas un
Perplexica a besoin de deux modèles distincts : un modèle de chat (qui rédige) et un modèle d'embeddings (qui mesure la similarité pour trier les extraits). Prévoyez de télécharger les deux dans Ollama avant de configurer l'application.

#Prérequis

Rien d'exotique, mais quelques points de vigilance sur le matériel et les versions.

Docker + Docker Compose
Toute la stack se déploie en conteneurs. Docker Desktop (Windows/Mac) ou Docker Engine + le plugin compose (Linux) suffisent. C'est le mode d'installation officiel recommandé.
Ollama installé et lancé
Le daemon doit tourner et être joignable. Vérifiez avec ollama list. Si Ollama tourne sur la machine hôte et Perplexica dans Docker, l'adresse à utiliser sera http://host.docker.internal:11434, pas localhost.
Un modèle de chat
Un 7-8B en Q4_K_M (~5 Go de VRAM) est un plancher correct ; un 14B (~9 Go) rédige des synthèses nettement plus fiables. La qualité de la réponse finale dépend directement de ce choix.
Un modèle d'embeddings
Léger et rapide, par exemple nomic-embed-text. Il sert uniquement au reclassement interne, pas à la rédaction.
~5 Go de disque et un peu de RAM
Pour les images Docker (Perplexica + SearXNG) et le cache. Les modèles, eux, sont gérés par Ollama à part.
Terminal
# Récupérer les deux modèles nécessaires côté Ollama
ollama pull llama3.1:8b        # modèle de chat (rédaction)
ollama pull nomic-embed-text   # modèle d'embeddings (reclassement)

# Vérifier qu'ils sont bien là et qu'Ollama répond
ollama list

#Installation Docker en 10 minutes

L'installation officielle passe par le dépôt Git du projet, qui embarque un docker-compose.yaml préconfigurant à la fois Perplexica et une instance SearXNG dédiée. Vous n'avez pas à installer SearXNG séparément : le compose s'en charge.

  1. 01
    Cloner le dépôt
    Récupérez le projet Perplexica depuis GitHub et placez-vous dans le dossier. Tout ce qui suit se joue là.
  2. 02
    Créer le fichier de configuration
    Le dépôt fournit un modèle sample.config.toml. Copiez-le en config.toml : c'est ce fichier que Perplexica lit au démarrage pour connaître vos backends.
  3. 03
    Vérifier le compose
    Le docker-compose.yaml définit trois services : perplexica (l'app), searxng et le nécessaire réseau. Par défaut l'interface web est exposée sur le port 3000.
  4. 04
    Lancer la stack
    Un docker compose up construit les images au premier lancement puis démarre tout. Comptez quelques minutes la première fois, le temps de télécharger et bâtir les images.
  5. 05
    Ouvrir l'interface
    Rendez-vous sur http://localhost:3000. Si la page de chat s'affiche, la moitié du travail est faite ; reste à brancher les modèles.
Terminal
# 1. Cloner le projet officiel
git clone https://github.com/ItzCrazyKns/Perplexica.git
cd Perplexica

# 2. Préparer la config à partir du modèle fourni
cp sample.config.toml config.toml

# 3. Construire et démarrer toute la stack (Perplexica + SearXNG)
docker compose up -d

# 4. Suivre les logs si besoin
docker compose logs -f perplexica
!
Vérifiez le nom exact du fichier compose
Selon la version du dépôt, le fichier peut s'appeler docker-compose.yaml ou docker-compose.yml, et le service exposé porter un nom légèrement différent. Fiez-vous au README du dépôt cloné, pas à une commande mémorisée : le projet évolue vite.

#Brancher Ollama sur Perplexica

Deux façons de configurer les modèles : via le fichier config.toml avant le lancement, ou via l'écran de paramètres de l'interface web après. L'interface est plus simple pour débuter ; le fichier est pratique pour un déploiement reproductible.

Le point sensible, c'est l'adresse d'Ollama. Perplexica tourne dans un conteneur ; pour lui, localhost désigne le conteneur lui-même, pas votre machine. Si Ollama est installé sur l'hôte, utilisez host.docker.internal (Windows/Mac, et Linux avec la bonne option d'hôte) au lieu de localhost.

config.toml
# Extrait de configuration côté Ollama
# Depuis un conteneur, on ne peut PAS utiliser localhost pour joindre l'hôte
[MODELS.OLLAMA]
API_URL = "http://host.docker.internal:11434"

# Sur une machine Linux, si host.docker.internal ne résout pas,
# ajoutez dans docker-compose : extra_hosts: ["host.docker.internal:host-gateway"]
  1. 01
    Ouvrir les paramètres
    Dans l'interface web, l'icône de réglages donne accès au choix des fournisseurs de modèles. Sélectionnez Ollama comme provider.
  2. 02
    Renseigner l'URL d'Ollama
    Entrez l'adresse de l'API (host.docker.internal:11434 depuis Docker). Perplexica interroge alors Ollama et liste automatiquement vos modèles disponibles.
  3. 03
    Choisir le modèle de chat
    Sélectionnez le modèle qui rédigera les réponses (par ex. llama3.1:8b). C'est le levier n°1 de qualité.
  4. 04
    Choisir le modèle d'embeddings
    Sélectionnez nomic-embed-text (ou équivalent) pour le reclassement des extraits. Sans embeddings valides, le tri des sources est dégradé.
  5. 05
    Poser une première question
    Testez avec une question factuelle récente. Si des sources numérotées apparaissent sous la réponse, la chaîne complète fonctionne.
Ollama et Perplexica dans le même compose
Vous pouvez aussi ajouter Ollama comme service dans le docker-compose pour tout garder ensemble. Dans ce cas, l'URL devient http://ollama:11434 (le nom du service), et vous n'avez plus besoin de host.docker.internal.

#Les modes focus : académique, vidéos, Reddit…

C'est la fonctionnalité signature de Perplexica. Au lieu de chercher partout de la même façon, vous choisissez un « focus mode » qui oriente SearXNG vers un type de source et adapte la manière de rédiger. Le bon mode change radicalement la pertinence.

All Mode
Le mode par défaut : recherche généraliste sur l'ensemble du web. À utiliser pour les questions ouvertes sans domaine précis.
Academic Search
Oriente la recherche vers les sources scientifiques et articles de recherche. Idéal pour une revue de littérature ou une question technique pointue.
Writing Assistant
Un mode sans recherche web : Perplexica utilise seulement le LLM pour rédiger ou reformuler. Pratique quand vous n'avez pas besoin de sources externes.
YouTube Search
Cible les vidéos : la réponse s'appuie sur des contenus YouTube pertinents, avec les liens. Utile pour les tutoriels et démonstrations.
Wolfram Alpha Search
Pour les questions calculatoires, scientifiques et de données factuelles : la réponse s'appuie sur Wolfram Alpha.
Reddit Search
Cherche dans les discussions Reddit : avis, retours d'expérience, débats communautaires. Précieux pour les questions d'opinion ou de produits.
i
Le focus agit sur SearXNG, pas sur le modèle
Changer de mode modifie surtout quelles sources SearXNG interroge et comment Perplexica les filtre. Le LLM, lui, ne change pas : c'est toujours votre modèle Ollama qui rédige. Un mauvais mode donne de mauvaises sources, et aucune synthèse brillante ne rattrape des sources hors-sujet.

#La qualité réelle des réponses

Soyons honnêtes : avec un petit modèle local, la synthèse est moins fluide et moins fine qu'avec les modèles de pointe qui animent Perplexity. Mais le pipeline compte autant que le modèle. Trois leviers déterminent le rendu final.

La taille du modèle de chat
C'est le facteur dominant. Un 7-8B rédige des réponses correctes mais parfois superficielles ; un 14B suit mieux les instructions de citation et synthétise plus proprement. Au-delà, un 32B (~19 Go de VRAM) approche une expérience convaincante.
La santé de SearXNG
Si des moteurs sont bloqués ou en rate-limit, SearXNG renvoie peu de résultats, et la réponse s'appauvrit d'autant. Une réponse creuse vient souvent d'un manque de sources, pas du LLM.
Le contexte disponible
Perplexica injecte des extraits de plusieurs pages dans le prompt. Un modèle à contexte court tronque les sources et perd de l'information. Privilégiez un modèle confortable en contexte (8k minimum, plus si possible).
Diagnostiquer une réponse décevante
Regardez d'abord les sources citées. Peu ou pas de sources ? Le problème est SearXNG (moteurs bloqués, requête mal reformulée). Des sources pertinentes mais une synthèse molle ? Le problème est le modèle : montez en taille ou changez de modèle. Ce réflexe évite d'optimiser le mauvais maillon.

#Face à Perplexity : ce qu'on perd, ce qu'on gagne

Perplexica n'est pas un clone parfait, et le prétendre serait malhonnête. Voici la balance réaliste pour décider si le jeu en vaut la chandelle dans votre cas.

On gagne — confidentialité
Aucune requête ne sort de votre réseau. Ni le sujet de vos recherches, ni les réponses ne transitent par un tiers. Pour de la veille sensible, c'est décisif.
On gagne — coût et quotas
Rien à payer, aucune limite de requêtes. Vous pouvez lancer autant de recherches que votre matériel encaisse, et l'intégrer à d'autres outils sans facture d'API.
On gagne — contrôle
Vous choisissez le modèle, les moteurs interrogés via SearXNG, et vous pouvez auto-héberger le tout dans un homelab durablement.
On perd — la finesse de rédaction
Les modèles cloud de Perplexity sont plus gros et plus affûtés. À matériel modeste, la synthèse locale est plus terne et fait plus d'approximations.
On perd — la robustesse clé en main
Perplexity gère l'infra à votre place. Chez vous, un SearXNG en rate-limit ou un Ollama qui sature la VRAM, c'est à vous de le diagnostiquer et de le corriger.
On perd — certaines fonctions
Pas d'app mobile polie, pas de Pro Search multi-étapes aussi abouti, pas d'intégrations propriétaires. Perplexica couvre l'essentiel, pas tout le confort du produit commercial.

#Dépannage des problèmes courants

Perplexica ne voit pas Ollama
Presque toujours l'adresse. Depuis Docker, remplacez localhost par host.docker.internal (et sous Linux, ajoutez extra_hosts avec host-gateway). Vérifiez qu'Ollama écoute bien et acceptez les connexions hors localhost si nécessaire.
Aucune source dans les réponses
SearXNG ne renvoie rien. Ouvrez directement l'interface SearXNG pour tester une recherche : si elle échoue, des moteurs sont bloqués ou en rate-limit. Réduisez le nombre de moteurs actifs ou attendez.
La liste des modèles est vide
Perplexica interroge Ollama au chargement des paramètres. Si la liste est vide, l'URL de l'API est mauvaise ou Ollama n'a aucun modèle. Vérifiez avec ollama list côté hôte.
Réponses très lentes
Le modèle de chat est probablement trop gros pour votre VRAM et déborde sur le CPU. Passez à une quantification plus légère (Q4_K_M) ou à un modèle plus petit ; vérifiez que le GPU est bien utilisé.
Erreurs d'embeddings
Le modèle d'embeddings n'est pas sélectionné ou pas téléchargé. Faites un ollama pull nomic-embed-text et choisissez-le explicitement dans les paramètres.
Le port 3000 est déjà pris
Un autre service occupe le port. Modifiez le mapping de port dans le docker-compose (par ex. 3001:3000) et rechargez la stack.

#Pour aller plus loin

Perplexica n'est aussi bon que le modèle et l'infra qui le portent. Ces guides consolident les fondations sur lesquelles il repose.

Ollama, c'est quoi et comment ça marche
Le daemon qui sert votre modèle de chat et vos embeddings sur le port 11434 — la brique dont dépend toute la qualité de rédaction.
Choisir sa quantification
Q4_K_M, Q5_K_M, Q8_0 : comprendre le compromis VRAM/qualité pour choisir le bon modèle de synthèse selon votre carte graphique.
AnythingLLM : RAG production-ready en local
Pour aller plus loin que la recherche web et bâtir un RAG sur vos propres documents, avec le même backend Ollama.
Ce guide vous a aidé ?

Un retour, une erreur, une précision ? Faites-nous signe, ça améliore le guide pour tout le monde.