IAHDF
Tutoriel

Recherche web dans Open WebUI avec SearXNG (sans Google)

ÉI Équipe IAHDF 20 min de lecture Avancé

Une IA locale qui ne connaît que ses poids reste muette sur l’actualité. SearXNG, métamoteur auto-hébergé, permet à Open WebUI d’aller chercher des pages web sans passer par une boîte de recherche propriétaire unique. Ce tutoriel couvre le pourquoi, l’installation Docker de principe, la connexion, les tests, et les limites honnêtes. Fil rouge : une rédaction associative à Boulogne-sur-Mer et un service communication de communauté de communes près d’Abbeville.

Plan du tutoriel

Huit points : pourquoi SearXNG, limites de vie privée, install, connexion Open WebUI, protocole de test, pièges, scène HdF, checklist. Pour le RAG documentaire (pas le web), réglages RAG. Pour l’équipe, comptes et groupes.

Pourquoi ajouter la recherche web ?

Le RAG sur vos PDF répond à vos procédures. La recherche web aide pour une norme publiée, un communiqué, une page institutionnelle. L’intérêt de SearXNG : vous hébergez le métamoteur, vous choisissez les moteurs amont activés, vous évitez de coller une clé d’API propriétaire dans chaque poste. L’équipe passe par Open WebUI, déjà connue.

Ce n’est pas magique : la qualité dépend des sources renvoyées, du résumé du LLM, et de votre relecture. Une page web mal interprétée produit une belle erreur. Gardez le réflexe vérifier une réponse sur tout fait engagé.

Limites et honnêteté vie privée

Auto-héberger SearXNG réduit la dépendance à une interface unique, mais vos requêtes partent quand même vers des moteurs configurés (selon votre settings). Ce n’est pas équivalent à « rien ne quitte le bâtiment ». Dites-le clairement dans la charte équipe. Ne promettez pas un anonymat absolu.

Installer SearXNG (principe)

Ajoutez un service SearXNG à votre docker-compose, sur le réseau interne, sans le publier sur Internet. Montez un fichier de configuration si vous personnalisez les moteurs. Lisez la documentation officielle SearXNG pour la syntaxe du jour. Notez le hostname Docker (ex. searxng) et le port interne.

Fragment compose (principe)
# À fusionner avec votre stack — vérifiez image/tag/config officiels
services:
  searxng:
    image: searxng/searxng:TAG
    volumes:
      - ./searxng:/etc/searxng:rw
    networks: [internal]
    # PAS de ports: vers le monde extérieur

  openwebui:
    # ... votre service existant
    environment:
      # Exemple de variables : lisez la doc Open WebUI du jour
      # pour le nom exact des clés « web search / searxng »
      - SEARXNG_QUERY_URL=http://searxng:8080/search?q=<query>
    networks: [internal]

networks:
  internal:

Connecter Open WebUI

Dans l’administration Open WebUI, activez la recherche web et choisissez SearXNG / l’option équivalente du jour. Indiquez l’URL interne. Sauvegardez. Les libellés de menus changent : cherchez « web search » dans la doc. Redémarrez si la doc l’exige. Testez avec un compte non admin.

Réglages à documenter
ÉlémentValeur à noterPourquoi
URL SearXNG internehttp://host:port/…Reproductibilité
Tag image SearXNGTAG officielRollback
Moteurs activésListe settingsComprendre la fuite amont
Groupes autorisésSelon droitsÉviter usages hors cadre
Consigne LLMCiter URLs / daterRéduire les inventions

Protocole de test

Six tests avant généralisation

1

Santé de SearXNG seul

Depuis le réseau Docker, interrogez l’interface ou l’endpoint de recherche documenté. Une requête simple doit renvoyer des résultats. Si SearXNG échoue seul, inutile d’accuser Open WebUI. Vérifiez les logs du conteneur. Corrigez la config moteurs si des fournisseurs refusent votre IP serveur. Sans santé SearXNG isolée, vous perdrez des heures à régler Open WebUI pour un simple problème de DNS Docker. Documentez le résultat et passez à l’étape suivante sans empiler d’autres changements le même jour. Documentez le résultat et passez à l’étape suivante sans empiler d’autres changements le même jour.

2

Brancher Open WebUI et poser une question factuelle publique

Exemple : une page d’information publique d’une collectivité des Hauts-de-France (horaires d’un équipement annoncé en ligne). Demandez au modèle d’utiliser la recherche web et de citer les URLs. Comparez avec le navigateur. Si les URLs sont absentes ou inventées, serrez la consigne. Exigez au moins une URL cliquable vérifiée dans le navigateur avant de faire confiance au résumé du modèle. Documentez le résultat et passez à l’étape suivante sans empiler d’autres changements le même jour. Documentez le résultat et passez à l’étape suivante sans empiler d’autres changements le même jour.

3

Tester une question locale déjà en RAG

Posez une question couverte par votre base documentaire sans avoir besoin du web. Le système doit rester capable de répondre via RAG. Sinon, la recherche web a peut-être pris le dessus à tort. Ajustez le comportement selon les options du jour (ordre des outils, consignes). Si le web écrase le RAG, consignez le comportement attendu dans la charte : documents internes d’abord pour les procédures. Documentez le résultat et passez à l’étape suivante sans empiler d’autres changements le même jour.

4

Tester le refus sur donnée sensible

Demandez volontairement quelque chose qui n’a rien à faire sur le web (extrait de dossier RH fictif). Vérifiez que l’équipe comprend qu’il ne faut pas coller cela. La technique ne remplace pas la charte. Formez clairement : web search = requêtes potentiellement exposées. Une démo volontairement piégée en réunion d’équipe ancre le message mieux qu’un long paragraphe de règlement. Documentez le résultat et passez à l’étape suivante sans empiler d’autres changements le même jour. Documentez le résultat et passez à l’étape suivante sans empiler d’autres changements le même jour.

5

Restreindre aux groupes concernés

La rédaction associative à Boulogne peut en avoir besoin ; un atelier machine, non. Limitez la fonction si Open WebUI le permet via groupes, ou par consigne organisationnelle. Moins de comptes exposés = moins d’incidents. Documentez qui a le droit. Moins de comptes avec web search, c’est moins de requêtes ambiguës et moins de support pour l’admin bénévole. Documentez le résultat et passez à l’étape suivante sans empiler d’autres changements le même jour. Documentez le résultat et passez à l’étape suivante sans empiler d’autres changements le même jour.

6

Surveiller charge et erreurs

La recherche web ajoute latence et dépendances externes. Pendant une semaine, notez les échecs (timeouts, zéro résultat, résumés faux). Ajustez moteurs SearXNG. Si l’instabilité domine, désactivez la fonction pour les usages critiques plutôt que de « faire semblant ». Une semaine d’observation suffit souvent à décider si la fonction reste en beta ou passe en usage nominal. Documentez le résultat et passez à l’étape suivante sans empiler d’autres changements le même jour. Documentez le résultat et passez à l’étape suivante sans empiler d’autres changements le même jour.

Pièges fréquents

  • Publier SearXNG sur Internet « pour tester ».
  • Croire que métamoteur = anonymat total.
  • Laisser le LLM citer des URLs inventées sans contrôle.
  • Mélanger actualité web et procédures internes obsolètes.
  • Oublier de versionner le settings.yml SearXNG.
  • Activer la fonction pour tous les stagiaires sans charte.

Un autre piège : comparer « avec Google » sur des impressions. Cadrez plutôt des tâches (trouver une page officielle, résumer un communiqué daté) et jugez la traçabilité des sources. IAHDF ne publie pas de score de pertinence.

Scènes Boulogne et Abbeville

À Boulogne-sur-Mer, une asso environnementale prépare des dossiers de sensibilisation. SearXNG + Open WebUI aide à repérer des pages institutionnelles ; le bureau valide chaque lien avant publication. Près d’Abbeville, le service com d’une communauté de communes utilise la recherche pour trouver le dernier PDF officiel d’un dispositif, puis copie le fichier dans le RAG interne après validation — le web sert de détection, le RAG de mémoire stable.

Checklist de mise en service

SearXNG interne uniquement ; Open WebUI connecté via URL documentée ; test factuel OK ; charte mise à jour (« la recherche web sort des requêtes ») ; groupes limités ; sauvegarde de la config ; ports vérifiés après durcissement. Quand la checklist est verte, annoncez la fonction à l’équipe avec un exemple de bon et de mauvais usage.

Usages rédactionnels prudents

Workflow conseillé : question, liste d’URLs, ouverture humaine des pages, citation contrôlée, éventuel ajout au RAG interne après validation. Le LLM trie ; l’humain publie. Interdisez les demandes sur informations sous embargo. Indiquez ce workflow dans la charte en quelques puces compréhensibles par un bénévole pressé.

Configurer les moteurs amont avec lucidité

Activez peu de moteurs au début, observez la stabilité, documentez les refus d’IP serveur. SearXNG n’est pas un proxy ouvert sur Internet. Privilégiez des résultats en français pour l’administratif local et demandez au modèle de signaler la langue de la source afin d’éviter les confusions de dispositifs.

Quand ne pas activer SearXNG

Si le besoin est purement documentaire interne, restez sur le RAG. Si les habitudes de collage de données sensibles persistent, solidifiez d’abord charte et groupes. Si la dépendance réseau est critique pour votre service, assumez un mode hors web. Désactiver une fonction instable est parfois la décision la plus professionnelle.

Veille maîtrisée plutôt que flux infini

Fixez un créneau de veille assistée : par exemple deux fois par semaine, un membre de la rédaction associative lance trois requêtes cadrées, vérifie les URLs, et décide quoi intégrer au dossier partagé ou au RAG. Hors créneau, désactivez psychologiquement la fonction pour éviter le scroll anxieux. SearXNG dans Open WebUI est un outil de session, pas un réseau social interne. Annoncez le créneau dans le canal d’équipe pour que personne ne s’étonne d’un silence le reste de la semaine.

Mesurez qualitativement : nombre de sources réellement ouvertes dans le navigateur, nombre de contenus publiés après contrôle, incidents de citation fausse. Si les citations fausses dominent, suspendez la fonction et renforcez la consigne avant de rouvrir. La maturité se lit dans la capacité à couper, pas seulement à activer. Partagez ce tableau simple en réunion de rédaction à Boulogne ou en comité com près d’Abbeville, sans transformer la veille en compétition de volume de clics.

Questions fréquentes

Peut-on dire « sans Google » au sens strict ?

SearXNG peut interroger plusieurs moteurs selon votre configuration. Vous n’êtes pas obligé d’utiliser l’interface Google, mais des résultats peuvent encore provenir de divers fournisseurs amont. Lisez votre settings. Le titre du tutoriel pointe l’indépendance d’interface et d’auto-hébergement, pas une promesse métaphysique de zéro contact avec des grands moteurs. Indépendance d’interface ne signifie pas absence de requêtes amont : la charte doit le dire sans ambiguïté. Documentez le résultat et passez à l’étape suivante sans empiler d’autres changements le même jour.

SearXNG remplace-t-il mon RAG ?

Non. Le RAG sert vos documents stables. La recherche web apporte l’extérieur, bruyant et changeant. Beaucoup d’équipes utilisent les deux : web pour découvrir, RAG pour ce qui est validé. Voir réglages RAG et évaluation. Le web découvre ; le RAG mémorise ce qui est validé — gardez cette phrase visible près de la console Open WebUI. Documentez le résultat et passez à l’étape suivante sans empiler d’autres changements le même jour. Documentez le résultat et passez à l’étape suivante sans empiler d’autres changements le même jour.

Pourquoi les résultats sont-ils parfois vides ?

Moteurs amont indisponibles, IP serveur freinée, mauvaise URL de connexion, ou requête trop locale. Regardez les logs SearXNG. Testez la même requête hors Open WebUI. Corrigez avant d’accuser le LLM. La fragilité externe fait partie du modèle mental. Les logs SearXNG racontent souvent la vérité plus vite qu’un débat sur le « bon » modèle de chat. Documentez le résultat et passez à l’étape suivante sans empiler d’autres changements le même jour. Documentez le résultat et passez à l’étape suivante sans empiler d’autres changements le même jour.

Faut-il un GPU pour SearXNG ?

Non pour le métamoteur lui-même, qui est surtout un service web. Le GPU concerne le LLM d’Open WebUI. Dimensionnez séparément. Ajouter SearXNG n’est pas une excuse pour sous-dimensionner le modèle ou l’inverse. Dimensionnez le LLM à part : ajouter un métamoteur ne remplace pas un modèle inadapté à votre machine. Documentez le résultat et passez à l’étape suivante sans empiler d’autres changements le même jour. Documentez le résultat et passez à l’étape suivante sans empiler d’autres changements le même jour.

Comment expliquer cela à des élus ou un bureau associatif ?

Montrez une démo courte : question d’actualité publique, URLs affichées, relecture humaine. Expliquez qu’une requête part sur le web. Proposez de réserver la fonction à quelques profils. Appuyez-vous sur la charte. Les ateliers IAHDF (agenda) peuvent servir de cadre neutre pour trancher. Une démo courte avec relecture humaine convainc mieux les élus qu’une promesse d’automatisation totale de la veille. Documentez le résultat et passez à l’étape suivante sans empiler d’autres changements le même jour. Documentez le résultat et passez à l’étape suivante sans empiler d’autres changements le même jour.

Pour continuer

AgendaAgenda IAHDFInscriptionInscription communautéTutorielOpen WebUI pour une équipe
Cette ressource vous a-t-elle aidé ?

Pour aller plus loin

Tutoriel Sécuriser Open WebUI accessible depuis internet (HTTPS, reverse proxy, SSO) 20 min · Équipe IAHDF Tutoriel Open WebUI pour une équipe : comptes, groupes, droits et modèles partagés 20 min · Équipe IAHDF Tutoriel RAG dans Open WebUI : régler chunks, embeddings, recherche hybride et reranker 30 min · Équipe IAHDF