Hoppa till huvudinnehåll

Webbsökning

Libre WebUI kan söka på webben och lämna resultaten till dina modeller utan att kräva ett leverantörskonto för Libre WebUI eller en kommersiell integration med ett sök-API. Sökningen går genom en SearXNG-instans som administratören väljer. SearXNG skickar sedan frågor till de publika sökmotorer som den sammanställer. Dessa motorer kan se förfrågan från SearXNG-installationen och tillämpa sina egna policyer för loggning, lagring och nätverk.

Precis som alla funktioner med dubbla användningsområden i Libre WebUI levereras den avstängd. En administratör aktiverar den en gång. Innan dess finns inget sökgränssnitt någonstans.

Så fungerar det

Det finns fyra delar, och varje del är osynlig tills den föregående är på plats:

  1. En SearXNG-instans som backend kan nå. Den medföljande privata distributionsstacken innehåller en. Alla instanser med JSON-API aktiverat fungerar.
  2. Administratörsinställningen — Settings > Connections > Search (fliken är endast för administratörer). Ange SearXNG-URL, slå på Enable web search och använd Test connection för att bekräfta anslutningen med en riktig fråga.
  3. Vem som får använda den — kortet Web search under Settings → User Management, bredvid åtkomst till Work och kontrollerna för modellhämtning. Avstängt (standard) begränsar sökning till administratörer även när den är aktiverad. Påslaget öppnar sökning för alla aktiva användare. Backend tillämpar detta för varje förfrågan.
  4. Kontrollerna per användning som visas för behöriga användare:
    • Hämtning i chatt: en jordglobsknapp i redigeraren. När den är på planerar sessionsmodellen fokuserade nyckelordsfrågor med valfria färskhets- och kategoriledtrådar. Om planeringen misslyckas använder Libre råmeddelandet. Resultaten läggs i prompten som kontext och svaret visar numrerade källbrickor. Detta fungerar med modeller utan stöd för verktygsanrop.
    • Chattverktyg: behöriga modeller med verktygsstöd kan anropa det inbyggda verktyget web_search när verktyg är aktiverade för turen.
    • Work: uppgifter med nätverksåtkomst får verktyget web_search i agentloopen. Modellen avgör när det ska anropas, precis som andra verktyg. Offlineuppgifter (nätverk avstängt) ser aldrig verktyget, även om själva sökförfrågan skulle lämna backend och inte sandlådan.

En misslyckad sökning gör aldrig att turen misslyckas. Modellen svarar utan kontexten och körningen fortsätter.

Konfigurera med den medföljande stacken

deploy/private/docker-compose.yml innehåller redan tjänsten searxng: den är endast intern (publiceras aldrig till värden), härdad och föransluten till appen via SEARXNG_URL=http://searxng:8080.

  1. Lägg till en hemlighet i .env:

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

  3. Som administratör: Settings > Connections > Search — URL:en är förifylld från miljön — aktivera och välj sedan Test connection.

Konfigurera med en egen SearXNG

Alla SearXNG-instanser som kan nås fungerar, med ett krav: JSON-formatet måste vara aktiverat i dess settings.yml (de flesta publika instanser inaktiverar det):

search:
formats:
- html
- json

Klistra sedan in dess bas-URL (till exempel http://127.0.0.1:8888 eller https://search.example.com) i Settings > Connections > Search.

Miljövariabler

VariabelStandardSyfte
SEARXNG_URLej angivenFörifyller URL:en i sökinställningarna; aktivering kräver fortfarande en administratör

Själva inställningen (aktiverad + URL) sparas i databasen, så den överlever omstarter och börjar gälla omedelbart utan ny distribution.

Integritet och omfattning

  • Sökningar körs på serversidan. Webbläsare kontaktar aldrig SearXNG direkt. Libre WebUI behöver inget konto hos en sökleverantör, men en anpassad SearXNG-installation kan konfigurera motorer med egna uppgifter.
  • Söktermer lämnar Libre WebUI-processen för SearXNG och därefter de valda uppströmsmotorerna. Egen drift av gatewayen styr det steget, men gör inte en publik webbsökning lokal eller anonym i sig.
  • Resultattext begränsas innan den når modellkontexten (500 tecken per resultat). Administratörer väljer en resultatgräns på 1–100. Standardvärdet är 6. Endast resultat-URL:er med http(s) behålls.
  • Den medföljande instansen kan endast nås från stackens interna nätverk. Dess hastighetsbegränsare är avstängd av det skälet. Publicera den inte.

Felsökning

Ingen jordglob i redigeraren/inget web_search-verktyg i Work. Sökning är inte aktiverad (Settings > Connections > Search), eller kontot saknar behörighet. Vanliga användare behöver att reglaget Web search är på under Settings → User Management.

Test connection misslyckas med HTTP 403. Instansen tillåter inte JSON-formatet. Lägg till json i search.formats i dess settings.yml (se ovan) och starta om den.

Test connection kan inte nå tjänsten. URL:en måste kunna nås från backend, inte från din webbläsare. I den medföljande stacken är den http://searxng:8080. localhost i en container är containern själv.

Svaren ignorerar resultaten. Modellen avgör fortfarande vad den ska använda. Små modeller följer den infogade kontexten bättre när frågan är konkret. Källorna under svaret visar alltid vad som hämtades.