Přeskočit na hlavní obsah

Vyhledávání na webu

Libre WebUI může vyhledávat na webu a předávat výsledky modelům bez účtu u dodavatele Libre WebUI nebo komerční integrace vyhledávacího API. Vyhledávání probíhá přes instanci SearXNG, kterou zvolí správce. SearXNG poté posílá dotazy veřejným vyhledávačům, jež agreguje. Tyto služby mohou požadavek z instalace SearXNG pozorovat a uplatnit vlastní zásady protokolování, uchovávání a sítě.

Jako všechny funkce dvojího použití v Libre WebUI se dodává vypnuté. Správce ho jednou zapne; do té doby rozhraní vyhledávání nikde neexistuje.

Jak funguje

Skládá se ze čtyř částí a každá je neviditelná, dokud není připravena předchozí:

  1. Instance SearXNG, kterou backend dokáže dosáhnout. Vestavěný soukromý instalační stack ji obsahuje; funguje jakákoli instance se zapnutým API JSON.
  2. Nastavení správce — Settings > Connections > Search (karta je jen pro správce). Zadejte URL SearXNG, zapněte Enable web search a ověřte propojení skutečným dotazem přes Test connection.
  3. Kdo smí funkci používat — karta Web search v Settings → User Management vedle přístupu k Work a stahování modelů. Vypnuto (výchozí) omezuje hledání na správce i při aktivní funkci; zapnuto ho otevře všem aktivním uživatelům. Backend to vynucuje u každého požadavku.
  4. Ovládací prvky pro použití, které se zobrazí oprávněným uživatelům:
    • Načítání v chatu: přepínač s glóbem v editoru. Zapnutý model relace naplánuje cílené dotazy s volitelnými údaji o čerstvosti a kategorii. Když plánování selže, Libre použije původní zprávu. Výsledky vstoupí do promptu jako kontext a odpověď zobrazí očíslované štítky zdrojů. Funguje i s modely bez nástrojů.
    • Nástroje chatu: oprávněné modely s nástroji mohou volat vestavěný nástroj web_search, pokud jsou nástroje pro daný tah zapnuté.
    • Work: úlohy s povolenou sítí dostanou nástroj web_search do smyčky agenta. Model rozhoduje, kdy ho použije. Offline úlohy (síť vypnutá) ho nikdy neuvidí, i když by samotný požadavek opouštěl backend, nikoli sandbox.

Selhání vyhledávání nikdy nezpůsobí selhání tahu. Model odpoví bez kontextu a běh pokračuje.

Nastavení s vestavěným stackem

deploy/private/docker-compose.yml už obsahuje službu searxng: je pouze interní (nikdy se nepublikuje na hostiteli), zpevněná a propojená s aplikací přes SEARXNG_URL=http://searxng:8080.

  1. Přidejte tajemství do .env:

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

  3. Jako správce otevřete Settings > Connections > Search — URL je předvyplněna z prostředí — zapněte funkci a poté použijte Test connection.

Nastavení s vlastní SearXNG

Funguje každá dosažitelná instance SearXNG s jedním požadavkem: v souboru settings.yml musí být zapnutý formát JSON (většina veřejných instancí ho vypíná):

search:
formats:
- html
- json

Poté vložte její základní URL (například http://127.0.0.1:8888 nebo https://search.example.com) do Settings > Connections > Search.

Proměnné prostředí

ProměnnáVýchozíÚčel
SEARXNG_URLnenastavenoPředvyplní URL v nastavení Search; zapnutí stále vyžaduje správce

Samotné nastavení (zapnuto + URL) se ukládá v databázi, takže přežije restart a projeví se okamžitě bez nové instalace.

Soukromí a rozsah

  • Vyhledávání probíhá na serveru. Prohlížeče nikdy nekontaktují SearXNG přímo. Libre WebUI nepotřebuje účet u poskytovatele vyhledávání, vlastní instalace SearXNG však může nastavit vyhledávače s vlastními přihlašovacími údaji.
  • Hledané výrazy opustí proces Libre WebUI k SearXNG a následně k vybraným upstream službám. Vlastní provoz brány řídí tento krok, ale sám o sobě nedělá veřejné vyhledávání místní ani anonymní.
  • Text výsledků se před vstupem do kontextu modelu omezí (500 znaků na výsledek). Správci volí limit 1–100 výsledků; výchozí je 6. Zachovají se jen URL s http(s).
  • Vestavěná instance je dostupná pouze v interní síti stacku. Proto má vypnutý omezovač rychlosti. Nezveřejňujte ji.

Řešení problémů

V editoru není glóbus / ve Work není nástroj web_search. Vyhledávání není zapnuté (Settings > Connections > Search) nebo účet nemá oprávnění. Běžní uživatelé potřebují zapnutý přepínač Web search v Settings → User Management.

Test connection selže s HTTP 403. Instance nepovoluje formát JSON. Přidejte json do search.formats v jejím settings.yml (viz výše) a restartujte ji.

Test connection službu nedosáhne. URL musí být dosažitelná z backendu, nikoli z prohlížeče. Ve vestavěném stacku je to http://searxng:8080; localhost uvnitř kontejneru znamená samotný kontejner.

Odpovědi výsledky ignorují. Model stále rozhoduje, co použije. Menší modely lépe následují vložený kontext, když je otázka konkrétní. Zdroje pod odpovědí vždy ukazují, co bylo načteno.