Ga naar hoofdinhoud

Zoeken op het web

Libre WebUI kan het web doorzoeken en resultaten aan je modellen geven zonder een leveranciersaccount van Libre WebUI of een commerciële zoek-API-integratie. Zoekopdrachten lopen via een door de beheerder gekozen SearXNG-instantie. SearXNG stuurt de query's vervolgens naar de openbare zoekmachines die het bundelt; die machines kunnen het verzoek vanaf de SearXNG-implementatie waarnemen en hun eigen log-, bewaar- en netwerkbeleid toepassen.

Net als elke functie voor tweeledig gebruik in Libre WebUI wordt deze uitgeschakeld geleverd. Een beheerder schakelt de functie eenmalig in; tot dan bestaat nergens een zoekinterface.

Werking

Er zijn vier onderdelen en elk blijft onzichtbaar totdat het voorgaande bestaat:

  1. Een SearXNG-instantie die de backend kan bereiken. De meegeleverde stack voor privé-implementaties bevat er een; elke instantie met ingeschakelde JSON-API werkt.
  2. De beheerdersinstelling — Instellingen > Verbindingen > Zoeken (dit tabblad is alleen voor beheerders). Stel de SearXNG-URL in, schakel Zoeken op het web inschakelen in en gebruik Verbinding testen om de koppeling met een live query te bewijzen.
  3. Wie het mag gebruiken — de kaart Zoeken op het web onder Settings → Gebruikersbeheer, naast de bediening voor Work-toegang en modeldownloads. Uitgeschakeld (standaard) houdt zoeken alleen voor beheerders, ook wanneer de functie is ingeschakeld; ingeschakeld opent het voor alle actieve gebruikers. De backend dwingt dit bij elk verzoek af.
  4. De bediening per gebruik die voor toegestane gebruikers verschijnt:
    • Ophalen voor chat: een wereldbolschakelaar in de opsteller. Wanneer deze aanstaat, plant het sessiemodel gerichte trefwoordquery's met optionele aanwijzingen voor actualiteit en categorie. Als plannen mislukt, valt Libre terug op het onbewerkte bericht. Resultaten komen als context in de prompt en het antwoord toont genummerde bronchips. Dit werkt ook met modellen zonder ondersteuning voor toolaanroepen.
    • Chattools: toegestane modellen die tools ondersteunen, kunnen de ingebouwde tool web_search aanroepen wanneer tools voor die beurt zijn ingeschakeld.
    • Work: taken met ingeschakelde netwerktoegang krijgen een tool web_search in de agentcyclus. Het model besluit wanneer deze wordt gebruikt, net als bij elke andere tool. Offlinetaken (netwerk uitgeschakeld) zien de tool nooit, ook al zou het zoekverzoek de backend verlaten en niet de sandbox.

Een mislukte zoekopdracht laat de beurt nooit mislukken: het model antwoordt zonder de context en de uitvoering gaat verder.

Instellen met de meegeleverde stack

deploy/private/docker-compose.yml bevat de service searxng al: alleen intern, nooit op de host gepubliceerd, beveiligd en vooraf met de app verbonden via SEARXNG_URL=http://searxng:8080.

  1. Voeg een geheim toe aan .env:

    SEARXNG_SECRET=any-long-random-value
  2. docker compose up -d.

  3. Als beheerder: Instellingen > Verbindingen > Zoeken — de URL is vooraf uit de omgeving ingevuld — schakel de functie in en kies daarna Verbinding testen.

Instellen met je eigen SearXNG

Elke bereikbare SearXNG-instantie werkt, met één vereiste: de JSON-indeling moet in settings.yml zijn ingeschakeld (de meeste openbare instanties schakelen die uit):

search:
formats:
- html
- json

Plak daarna de basis-URL, bijvoorbeeld http://127.0.0.1:8888 of https://search.example.com, in Instellingen > Verbindingen > Zoeken.

Omgevingsvariabelen

VariabeleStandaardDoel
SEARXNG_URLniet ingesteldVult de URL in de zoekinstellingen vooraf in; inschakelen blijft een beheerdersactie

De instelling zelf (ingeschakeld + URL) wordt in de database bewaard, overleeft herstarts en wordt direct actief zonder opnieuw te implementeren.

Privacy en bereik

  • Zoekopdrachten worden server-side uitgevoerd. Browsers nemen nooit rechtstreeks contact op met SearXNG. Libre WebUI zelf heeft geen account bij een zoekprovider nodig, hoewel een aangepaste SearXNG-implementatie zoekmachines met eigen referenties kan configureren.
  • Zoektermen verlaten het Libre WebUI-proces voor SearXNG en daarna de geselecteerde upstreamzoekmachines. De gateway zelf hosten beheert die stap, maar maakt zoeken op het openbare web op zichzelf niet lokaal of anoniem.
  • Resultaattekst wordt begrensd voordat deze de modelcontext bereikt (500 tekens per resultaat). Beheerders kiezen een resultaatlimiet van 1–100; de standaard is 6. Alleen resultaat-URL's met http(s) worden behouden.
  • De meegeleverde instantie is alleen bereikbaar op het interne netwerk van de stack. Daarom staat de snelheidsbegrenzer uit; publiceer deze niet.

Problemen oplossen

Geen wereldbol in de opsteller / geen tool web_search in Work. Zoeken is niet ingeschakeld (Instellingen > Verbindingen > Zoeken), of het account heeft geen toestemming: gewone gebruikers hebben de ingeschakelde schakelaar Zoeken op het web onder Settings → Gebruikersbeheer nodig.

Verbinding testen mislukt met HTTP 403. De instantie staat de JSON-indeling niet toe. Voeg json toe aan search.formats in settings.yml (zie boven) en start de instantie opnieuw.

Verbinding testen kan de service niet bereiken. De URL moet vanuit de backend bereikbaar zijn, niet vanuit je browser. In de meegeleverde stack is dat http://searxng:8080; localhost in een container is de container zelf.

Antwoorden negeren de resultaten. Het model beslist nog altijd wat het gebruikt. Kleine modellen volgen de ingevoegde context beter wanneer de vraag concreet is; de bronnen onder het antwoord tonen altijd wat is opgehaald.