Intermédiaire 10 minRecherche web

SearXNG : donner la recherche web à un modèle local

Un modèle ouvert ignore tout de cette semaine, et rien dans sa réponse ne vous prévient : il parlera du mois dernier avec le même aplomb que d'une table de multiplication. Lui donner accès à une recherche web corrige ça. SearXNG est un métamoteur auto-hébergé qui rend ce service sans clé d'API, sans facture à la requête et sans compte — ce qui en fait la brique cohérente d'une installation locale, où l'on n'a pas envie d'envoyer chaque question chez un tiers.

Par Mohamed Meguedmi·Màj 2026-09-20·Testé sur Windows, macOS, Linux

#Pourquoi un modèle local a besoin du web

La connaissance d'un modèle s'arrête à sa date d'entraînement, et il ne sait pas où se situe cette frontière. Deux solutions existent : lui fournir vous-même les faits dans le prompt, ou lui donner le moyen d'aller les chercher. La recherche est la forme générale de la seconde.

La voie évidente est une API de recherche commerciale : un compte, une clé, une facture à la requête. SearXNG est l'alternative auto-hébergée. Vous exploitez l'instance, les requêtes partent de chez vous, aucun compte n'existe et rien n'est journalisé sauf si vous le décidez. Pour une installation dont l'intérêt est précisément que les données restent à la maison, envoyer chaque question à un service tiers par la porte de service serait un drôle d'endroit où s'arrêter.

#Ce que fait SearXNG, sans magie

Le kit IA Locale

Ton ChatGPT privé et gratuit sur ta machine en 1 heure — LM Studio, Ollama, Open WebUI, tes documents, sans cloud.

  • Espace en ligne à vie
  • PDF + fichiers
  • Remboursé 30 j

SearXNG n'explore pas le web et ne possède aucun index. C'est un intermédiaire : votre requête part vers un ensemble configurable de moteurs existants, leurs réponses reviennent, sont dédupliquées et reclassées, et vous recevez une liste unique. Les moteurs interrogés ne voient pas votre adresse IP mais celle de l'instance.

La qualité est héritée
Désactivez les moteurs qui renvoient du bruit pour votre usage : cela améliore les réponses du modèle davantage que n'importe quelle retouche de prompt.
L'automatisation ressemble à un abus
Un humain lance quelques recherches par minute, une boucle d'agent en lance des dizaines. Les moteurs en amont répondent par des captchas et des blocages temporaires, que vous voyez arriver sous forme de résultats vides.

#L'installer

  1. 01
    Déployer le conteneur
  2. 02
    Le garder sur le réseau local
  3. 03
    Vérifier depuis la machine qui l'appellera

#Le réglage que tout le monde manque

Par défaut, une instance SearXNG ne sert que du HTML : parfait pour un humain, inutilisable pour un programme. La liste des formats autorisés se trouve dans le fichier de configuration, sous la clé des formats de recherche, et il faut y ajouter le format JSON puis redémarrer. C'est l'unique cause de la grande majorité des « ça ne marche pas » rencontrés en branchant SearXNG à une interface de chat.

!
La protection anti-robot vous bloquera aussi
Le limiteur qui protège une instance publique bloque également vos propres appels automatisés. Sur une instance restreinte à votre réseau, le désactiver est justement le but recherché ; sur une instance accessible depuis internet, on le laisse en place et on authentifie les appels.

#Le brancher à votre modèle

Points d'intégration les plus courants
EnvironnementRôle de SearXNG
Interface web de chat localFournisseur de recherche intégré : on renseigne l'URL de l'instance, les réponses gagnent une liste de sources
Cadriciel d'agentsUn outil de recherche que l'agent peut appeler
Chaîne de recherche documentaireÉtape de récupération pour les questions d'actualité, à côté de l'index de vos documents
Outil d'automatisationUn simple appel HTTP vers le point d'accès JSON

Le schéma est toujours le même : la recherche renvoie des extraits et des adresses, votre code ou votre interface en retient quelques-uns, et ils sont insérés dans le prompt avant que le modèle ne réponde. Le modèle ne navigue pas : il lit ce qu'on lui a tendu. C'est pourquoi la qualité des extraits et la taille de la fenêtre de contexte pèsent ici plus lourd que la taille du modèle.

#Les limites à prévoir

Les quotas des moteurs
Des résultats vides signifient presque toujours un blocage en amont, pas une erreur de configuration. Moins de moteurs actifs, plus de cache, et pas d'agent qui cherche en boucle.
Des extraits courts
Pour du contenu en profondeur, il faut récupérer et nettoyer les pages derrière les liens : c'est le métier d'un extracteur, pas d'un moteur de recherche.
Aucun classement intelligent
SearXNG fusionne des résultats, il ne comprend pas votre question. Une requête vague renvoie un contexte vague, que le modèle résume consciencieusement.
L'entretien vous revient
Les moteurs en amont changent leurs pages, les modules doivent suivre. Une instance laissée un an sans mise à jour se dégrade silencieusement.

#FAQ

SearXNG est-il gratuit ?+
Oui, c'est un logiciel libre auto-hébergé, sans coût de licence ni facturation à la requête, puisqu'il interroge d'autres moteurs au lieu d'entretenir son propre index. Vous payez l'hébergement et la maintenance.
Pourquoi mon instance renvoie du HTML et pas du JSON ?+
Parce que le format JSON n'est pas activé par défaut. Ajoutez-le à la liste des formats dans le fichier de configuration et redémarrez l'instance. C'est le blocage le plus fréquent lors du branchement à une interface de chat.
Puis-je utiliser une instance publique au lieu d'héberger la mienne ?+
En théorie oui, en pratique non : les instances publiques limitent le trafic automatisé et beaucoup désactivent le format JSON pour cette raison. Cela revient aussi à confier ses requêtes au serveur d'un inconnu, ce qui annule l'intérêt.
Faut-il un GPU ?+
Non. C'est un service web léger qui relaie des requêtes. Le GPU sert au modèle qui lira les résultats.
Pourquoi les résultats deviennent vides au bout d'un moment ?+
Les moteurs en amont ont limité ou bloqué temporairement votre instance, en général parce qu'un traitement automatisé a interrogé trop souvent. Réduisez le nombre de moteurs actifs, mettez les résultats en cache et espacez les appels.
Est-ce que cela rend mon modèle à jour ?+
Cela lui donne du texte récent à lire, ce qui n'est pas la même chose que mettre à jour ses connaissances. La qualité dépend des extraits récupérés et de la capacité du modèle à s'appuyer dessus plutôt que sur sa mémoire.
Ce guide vous a aidé ?

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