Auto-hébergement de Perplexica — avec Ollama
Exécuter un service de style Copilot en local ? C'est facile !
C’est très excitant ! Au lieu d’appeler Copilot ou Perplexity.ai et de révéler à tout le monde ce que vous recherchez, vous pouvez désormais héberger un service similaire sur votre propre PC ou ordinateur portable !
Perplexica est un système similaire à Copilot et Perplexity.ai.
- Vous posez une question
- L’IA recherche les réponses sur Internet (vous pouvez spécifier où chercher : articles académiques, écrits, YouTube, Reddit…)
- Ensuite, l’IA résume tout ce qu’elle a trouvé
- Puis elle présente le résultat avec des références vers les sites web originaux
- De plus, une liste d’images et de vidéos YouTube s’affiche à droite
- Et enfin, des questions de suivi prêtes à être cliquées si vous souhaitez explorer un peu plus le sujet
Ces systèmes sont hébergés dans le cloud et appartiennent à certaines corporations (par exemple, Microsoft ou Meta). Perplexica est un logiciel Open Source que vous pouvez héberger sur votre PC ou votre ordinateur portable puissant.
La même base de code en amont est maintenant distribuée sous le nom de Vane ; Vane (Perplexica 2.0) Démarrage rapide avec Ollama et llama.cpp couvre les images Docker actuelles, SearxNG et les chemins d’inférence locale si vous vous alignez sur le projet renommé.
Pour une comparaison plus large entre Ollama local et vLLM, Docker Model Runner, LocalAI et les fournisseurs cloud, y compris les compromis en matière de coûts et d’infrastructure, consultez Hébergement LLM : Comparaison des infrastructures locales, auto-hébergées et cloud.
Voici la réponse de Perplexica avec le modèle de chat llama3.1 8b q6 et le modèle d’embedding jina - à la question Qui est Elon Musk ?
Perplexica se compose de plusieurs modules :
- SearxNG - Moteur de métamoteur de recherche. Il appellera plus de 10 autres moteurs de recherche pour obtenir les résultats, afin que Perplexica puisse les combiner. SearxNG est très configurable en soi, vous pouvez activer ou désactiver chaque moteur et en ajouter de nouveaux. Mais pour nos besoins, la configuration par défaut fonctionne bien.
- Backend et Frontend de Perplexica. Techniquement, ce sont deux modules séparés, l’un fournit l’API, l’autre l’interface utilisateur.
- Service Ollama - qui ne fait pas partie du projet Perplexica, mais si vous souhaitez héberger vos LLM localement, Ollama est la seule façon de les utiliser.
L’installation de l’ensemble du système consiste donc en deux grandes étapes :
- Installer Ollama + télécharger les modèles Ollama
- Installer Perplexica avec SearxNG
Installation d’Ollama
Pour commencer avec Ollama, suivez ces étapes :
Installez Ollama en exécutant le script :
curl -fsSL https://ollama.com/install.sh | sh
Dites à Ollama de télécharger votre 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 Docker) :
[Service]
Environment="OLLAMA_HOST=0.0.0.0"
Rechargez le démon systemd et redémarrez le service Ollama :
sudo systemctl daemon-reload
sudo systemctl restart ollama
Vérifiez que Ollama a démarré avec succès :
systemctl status ollama.service
sudo journalctl -u ollama.service --no-pager
Pour une description détaillée de l’installation, de la mise à jour et de la configuration d’Ollama, veuillez consulter : Installer et configurer Ollama
Pour les détails sur l’utilisation d’autres modèles Ollama avec Perplexica, veuillez consulter la section ‘Installation d’autres modèles Ollama’ ci-dessous.
Installation de Perplexica
J’ai installé Perplexica dockerisé sur Linux, mais un fichier docker-compose très similaire peut être utilisé sur Windows ou Mac.
C’est parti !
Commencer avec Docker (Recommandé) Assurez-vous que Docker est installé et en cours d’exécution sur votre système.
Clonez le référentiel Perplexica :
git clone https://github.com/ItzCrazyKns/Perplexica.git
Après le clonage, naviguez vers le 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 plus tard - en effectuant un git pull sur ce référentiel - alors copiez simplement le fichier sample.config.toml vers config.toml :
cp sample.config.toml config.toml
Modifiez le fichier de configuration :
nano config.toml
Pour les configurations Docker, vous n’avez besoin de remplir que les champs suivants :
OLLAMA : Votre URL API Ollama.
Vous devez la saisir comme http://host.docker.internal:NUMERO_DE_PORT.
Si vous avez installé Ollama sur le port 11434 (c’est le port par défaut), utilisez http://host.docker.internal:11434. Pour les autres ports, ajustez en conséquence.
Lorsque vous êtes toujours dans le répertoire Perplexica, exécutez :
docker compose up -d
Cela téléchargera les images Docker SearxNG et base node, construira deux images Docker Perplexica et démarrera 3 conteneurs. Attendez quelques minutes que la configuration soit terminée.
Vous pouvez accéder à Perplexica à l’adresse http://localhost:3000 dans votre navigateur web.
Allez dans Paramètres. Vous savez, l’icône d’engrenage 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 sélectionner le thème Clair ou Sombre selon votre préférence.
Options de recherche de Perplexica (Cliquez sur cette icône d’œil dans la boîte), en thème Sombre :

Installation d’autres modèles Ollama
Vous avez déjà installé les modèles llama3.1:latest et nomic-embed-text:latest dans la section “Installation d’Ollama” précédente.
Vous n’avez besoin que d’un 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 un peu plus de mémoire, je vous recommande d’essayer :
- llama3.1:8b-instruct-q6_K (6,7 Go) - dans mes tests, il a montré une réponse beaucoup meilleure, bien qu’un peu plus lent.
- llama3.1:8b-instruct-q8_0 (8,5 Go) - ou peut-être celui-ci.
Dans l’ensemble, tous les modèles du groupe llama3.1:8b sont relativement rapides.
Vous pouvez télécharger ceux que j’ai recommandés d’essayer avec le script :
ollama pull llama3.1:8b-instruct-q6_K
ollama pull llama3.1:8b-instruct-q8_0
Par rapport à Llama3.1:8b, Gemma2 produit des réponses plus concises et artistiques. Essayez ceux-ci :
# 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.
# celui 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 également vouloir essayer les modèles Qwen2 :
# celui 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 qui m’ont le plus plu sont : llama3.1:8b-instruct-q6_K et mistral-nemo:12b-instruct-2407-q8_0.
Pour vérifier les modèles présents dans le référentiel local d’Ollama :
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à 3 modèles d’embedding préinstallés : 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 recommande également d’essayer :
ollama pull jina/jina-embeddings-v2-base-en:latest
# et
ollama pull bge-m3:567m-fp16
J’ai préféré le résultat de jina/jina-embeddings-v2-base-en:latest, mais voyez par vous-même.
Installation réseau de Perplexica
Si vous l’installez sur un serveur réseau, alors avant la commande
docker compose up -d
ou si vous exécutez déjà Perplexica et devez reconstruire les images :
# Arrêtez-le et supprimez tous les conteneurs (!!! seulement si nécessaire)
docker compose down --rmi all
Mettez 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 s’exécutant sur Docker :
# Arrêtez-le et supprimez tous les conteneurs (!!! seulement si nécessaire)
docker compose down --rmi all
# Naviguez dans le dossier du projet
# où vous avez cloné perplexica lors de l'installation
cd Perplexica
# Téléchargez les mises à jour
git pull
# Mettre à 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 ?
-
R : Perplexica est un moteur de recherche IA gratuit auto-hébergé et une alternative aux systèmes perplexity.ai et Copilot qui permet aux utilisateurs d’exécuter leur propre moteur de recherche localement sur leur ordinateur.
-
Q : Quelles sont les étapes pour installer et configurer Perplexica avec Ollama ?
-
R : Les étapes incluent 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 ?
-
R : Les options incluent 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 diverses options de recherche telles que l’actualité, les articles académiques, les vidéos YouTube et les forums Reddit.
-
Q : Quel modèle Ollama utiliser avec Perplexica ?
-
R : Les meilleurs résultats que nous avons obtenus dans nos tests ont été obtenus en exécutant 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 les fournisseurs cloud, consultez notre guide Hébergement LLM : Comparaison des infrastructures locales, auto-hébergées et cloud.
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 dans un dossier différent
- Comparaison des LLM : Mistral Small, Gemma 2, Qwen 2.5, Mistral Nemo, LLama3 et Phi
- Récapitulatif Ollama