Auto-hébergement de Perplexica - avec Ollama
Exécuter un service du style Copilot localement ? Facile !
C’est très excitant !
Au lieu d’appeler Copilot ou Perplexity.ai et de tout raconter au monde, vous pouvez maintenant héberger un service similaire sur votre propre ordinateur ou laptop !
Qu’est-ce que c’est
Perplexica est un système similaire à Copilot et Perplexity.ai.
- Vous posez une question
- L’IA cherche sur Internet des réponses (vous pouvez spécifier où chercher : articles académiques, écrits, YouTube, Reddit…)
- Ensuite, l’IA résume tout ce qu’elle a trouvé
- Puis présente le résultat avec des références vers les sites web d’origine
- Une liste d’images et de vidéos YouTube à droite
- Des questions de suivi prêtes pour que vous cliquiez, si vous souhaitez explorer le sujet davantage
Ces systèmes sont hébergés en cloud et appartiennent à certaines entreprises (par exemple, Microsoft ou Meta). Perplexica est un logiciel Open Source que vous pouvez héberger sur votre PC ou sur un ordinateur puissant. Pour une comparaison plus large entre Ollama local et vLLM, Docker Model Runner, LocalAI et fournisseurs de cloud — y compris les compromis en matière de coût et d’infrastructure — consultez LLM Hosting : Local, Self-Hosted & Cloud Infrastructure Compared.
Ici, nous voyons la réponse de Perplexica avec le modèle de chat llama3.1 8b q6 et le modèle d’embedding de Jina — à la question « Qui est Elon Musk ? »
Perplexica se compose de plusieurs modules
- SearxNG - moteur de recherche métasearch. Il appellera 10+ autres moteurs de recherche pour obtenir les résultats, donc Perplexica peut les combiner. SearxNG est très configurable en soi, vous pouvez activer/désactiver chaque moteur et ajouter de nouveaux. Mais pour nos besoins, la configuration par défaut fonctionne bien.
- Perplexica Backend et Frontend. Techniquement, ce sont deux modules séparés, un fournit l’API, l’autre l’interface utilisateur
- Service Ollama - ce n’est pas une partie du projet Perplexica, mais si vous souhaitez héberger vos LLM localement, Ollama est la seule façon d’y parvenir.
L’installation de tout le système se compose de deux grandes étapes :
- Installer Ollama + télécharger les modèles Ollama
- Installer Perplexica avec SearxNG
Installer Ollama
Pour commencer avec Ollama, suivez ces étapes :
Installez Ollama en exécutant le script :
curl -fsSL https://ollama.com/install.sh | sh
Demandez à Ollama de télécharger votre modèle LLM préféré. Si c’est Llama3.1 8b q4 - exécutez le script :
ollama pull llama3.1:latest
Téléchargez la dernière version de Nomic-Embed-Text pour l’utiliser comme modèle d’embedding (si c’est votre préféré) en utilisant
ollama pull nomic-embed-text:latest
Modifiez le fichier de service Ollama en exécutant
sudo systemctl edit ollama.service
Ajoutez les lignes suivantes pour exposer Ollama au réseau (Perplexica doit s’y connecter depuis l’intérieur de Docker)
[Service]
Environment="OLLAMA_HOST=0.0.0.0"
Relancez le démon systemd et redémarrez le service Ollama :
sudo systemctl daemon-reload
sudo systemctl restart ollama
Vérifiez que Ollama a bien démarré
systemctl status ollama.service
sudo journalctl -u ollama.service --no-pager
Pour une description détaillée sur l’installation, la mise à jour et la configuration d’Ollama, veuillez consulter : Installer et configurer Ollama
Pour plus de détails sur l’utilisation d’autres modèles Ollama avec Perplexica, veuillez consulter la section ‘Installer d’autres modèles Ollama’ ci-dessous.
Installer Perplexica
J’ai installé Perplexica dans un Docker sur Linux, mais un docker-compose très similaire peut être utilisé sur Windows ou Mac.
Allons-y !
Démarrage avec Docker (Recommandé) Assurez-vous que Docker est installé et en cours d’exécution sur votre système.
Cloner le dépôt Perplexica :
git clone https://github.com/ItzCrazyKns/Perplexica.git
Après le clonage, accédez au répertoire contenant les fichiers du projet.
cd Perplexica
Renommez le fichier sample.config.toml en config.toml. Si vous prévoyez de mettre à jour Perplexica ultérieurement — en exécutant git pull dans ce dépôt — alors simplement copiez le fichier sample.config.toml vers config.toml
cp sample.config.toml config.toml
Éditez le fichier de configuration
nano config.toml
Pour les configurations Docker, vous devez uniquement remplir les champs suivants :
OLLAMA : L’URL de l’API Ollama.
Vous devez l’entrer comme http://host.docker.internal:PORT_NUMBER.
Si vous avez installé Ollama sur le port 11434 (celui par défaut), utilisez http://host.docker.internal:11434. Pour d’autres ports, ajustez en conséquence.
Tant que vous êtes toujours dans le répertoire Perplexica, exécutez :
docker compose up -d
Il va télécharger les images Docker SearxNG et base node, construire deux images Docker Perplexica et démarrer 3 conteneurs. Attendez quelques minutes pour que l’installation se termine.
Vous pouvez accéder à Perplexica à http://localhost:3000 dans votre navigateur web.
Allez dans Paramètres. Vous savez — l’icône Cog en bas à gauche, et choisissez vos modèles Ollama

Ici, vous voyez le modèle de chat sélectionné llama3.1:8b-instruct-q6_K (Llama 3.1 8b avec quantification q6_K), et le modèle d’embedding nomic-embed-text:137m-v1.5-fp16.
Vous pouvez également choisir le thème Clair ou Sombre selon ce que vous préférez.
Les options de recherche de Perplexica (Cliquez sur cet œil dans l’icône de la boîte), en mode Sombre :

Installer d’autres modèles Ollama
Vous avez déjà installé les modèles llama3.1:latest et nomic-embed-text:latest dans la section “Installer Ollama” précédente.
Vous n’avez besoin que d’un seul modèle pour le chat, mais il existe de nombreux modèles disponibles. Ils se comportent légèrement différemment, il est bon de commencer par les plus courants : Llama3.1, Gemma2, Mistral Nemo ou Qwen2.
Modèles de chat
Le nom complet du modèle de chat que vous avez vu dans la section d’installation - llama3.1:latest est llama3.1:8b-text-q4_0. Cela signifie qu’il a 8 milliards de paramètres et une quantification 4_0. Il est rapide et relativement petit (4,8 Go), mais si votre GPU a plus de mémoire, je vous recommanderais de tenter
- llama3.1:8b-instruct-q6_K (6,7 Go) - dans mes tests, il a montré beaucoup de meilleures réponses, bien qu’un peu plus lent.
- llama3.1:8b-instruct-q8_0 (8,5 Go) - ou peut-être ce dernier.
En général, tous les modèles du groupe llama3.1:8b sont relativement rapides.
vous pouvez les tirer avec le script que je vous recommande d’essayer :
ollama pull llama3.1:8b-instruct-q6_K
ollama pull llama3.1:8b-instruct-q8_0
En comparaison avec Llama3.1:8b, Gemma2 produit des réponses plus concises et artistiques. Essayez ces :
# 9,8 Go
ollama pull gemma2:9b-instruct-q8_0
# 14 Go
ollama pull gemma2:27b-instruct-q3_K_L
Les modèles Mistral Nemo produisent des réponses quelque part entre Gemma2 et Llama3.1.
# le modèle par défaut, 7,1 Go
ollama pull mistral-nemo:12b-instruct-2407-q4_0
# 10 Go
ollama pull mistral-nemo:12b-instruct-2407-q6_K
# 13 Go
ollama pull mistral-nemo:12b-instruct-2407-q8_0
Vous pourriez aussi vouloir essayer les modèles Qwen2
# le modèle par défaut, 4,4 Go
ollama pull qwen2:7b-instruct-q4_0
# 8,1 Go
ollama pull qwen2:7b-instruct-q8_0
Les modèles que j’ai préférés sont : llama3.1:8b-instruct-q6_K et mistral-nemo:12b-instruct-2407-q8_0.
Pour vérifier les modèles que Ollama a localement :
ollama list
Pour supprimer un modèle inutile :
ollama rm qwen2:7b-instruct-q4_0 # par exemple
Modèles d’embedding
Vous pouvez sauter l’installation de ceux-ci, Perplexica a déjà installé 3 modèles d’embedding : BGE Small, GTE Small et Bert bilingue. Ils fonctionnent pas mal, mais vous pourriez vouloir essayer d’autres modèles d’embedding.
Dans la section d’installation d’Ollama ci-dessus, vous avez installé le modèle d’embedding nomic-embed-text:latest, c’est un bon modèle, mais je vous recommanderais aussi d’essayer :
ollama pull jina/jina-embeddings-v2-base-en:latest
# et
ollama pull bge-m3:567m-fp16
J’ai préféré les résultats du modèle jina/jina-embeddings-v2-base-en:latest, mais voyez vous-même.
Installation réseau de Perplexica
Si vous l’installez sur un serveur réseau, alors avant la
docker compose up -d
ou si vous exécutez déjà Perplexica et avez besoin de reconstruire les images
# Arrêtez-le et supprimez tous les conteneurs (!!! si vous en avez besoin uniquement)
docker compose down --rmi all
Insérez l’adresse IP de votre serveur Perplexica dans docker-compose.yaml : puis avant
nano docker-compose.yaml
perplexica-frontend:
build:
context: .
dockerfile: app.dockerfile
args:
- NEXT_PUBLIC_API_URL=http://127.0.0.1:3001/api # << ici
- NEXT_PUBLIC_WS_URL=ws://127.0.0.1:3001 # << ici
depends_on:
- perplexica-backend
maintenant démarrez les conteneurs Perplexica et SearxNG :
docker compose up -d
Ou reconstruisez et démarrez :
docker compose up -d --build
Mise à jour de Perplexica
Perplexica en cours d’exécution sur Docker :
# Arrêtez-le et supprimez tous les conteneurs (!!! si vous en avez besoin uniquement)
docker compose down --rmi all
# Naviguez vers le dossier du projet
# où vous avez cloné Perplexica lors de l'installation
cd Perplexica
# Téléchargez les mises à jour
git pull
# Mise à jour et Reconstruire les conteneurs Docker :
docker compose up -d --build
Pour les installations non Docker, veuillez consulter : https://github.com/ItzCrazyKns/Perplexica/blob/master/docs/installation/UPDATING.md
FAQ
-
Q : Qu’est-ce que Perplexica ?
-
A : Perplexica est un moteur de recherche AI gratuit et auto-hébergé, et une alternative à perplexity.ai et aux systèmes Copilot qui permet aux utilisateurs de faire fonctionner leur propre moteur de recherche localement sur leur ordinateur.
-
Q : Quelles sont les étapes pour installer et configurer Perplexica avec Ollama ?
-
A : Les étapes comprennent l’installation d’Ollama, le téléchargement des modèles, puis l’installation de Perplexica.
-
Q : Quelles options de personnalisation sont disponibles dans Perplexica ?
-
A : Les options comprennent le choix de différents modèles comme LLama 3.1, Mistral Nemo ou Gemma2, la configuration de modèles d’embedding locaux, et l’exploration de différentes options de recherche telles que les actualités, les articles académiques, les vidéos YouTube et les forums Reddit.
-
Q : Quel modèle Ollama utiliser avec Perplexica ?
-
A : Les meilleurs résultats que nous avons obtenus dans nos tests étaient lorsqu’on exécutait Perplexica avec llama3.1:8b-instruct-q6_K et jina/jina-embeddings-v2-base-en:latest.
Pour voir comment Ollama (le backend typique de Perplexica) s’intègre avec vLLM, Docker Model Runner, LocalAI et fournisseurs de cloud, consultez notre guide LLM Hosting : Local, Self-Hosted & Cloud Infrastructure Compared.
Liens utiles
- Instructions d’installation sur le site Perplexica : https://github.com/ItzCrazyKns/Perplexica
- Exposer Perplexica au réseau
- Installer Ollama et déplacer les modèles Ollama vers un autre dossier
- Comparaison des LLMs : Mistral Small, Gemma 2, Qwen 2.5, Mistral Nemo, LLama3 et Phi
- Feuille de route Ollama