Hop til hovedindhold

Websøgning

Libre WebUI kan søge på nettet og give resultaterne til dine modeller uden at kræve en udbyderkonto til Libre WebUI eller en kommerciel integration med et søge-API. Søgningen kører gennem en SearXNG-instans, som administratoren vælger. SearXNG sender derefter forespørgsler til de offentlige søgemaskiner, den samler. Disse motorer kan se anmodningen fra SearXNG-installationen og anvende deres egne politikker for logning, opbevaring og netværk.

Som alle funktioner med dobbelt anvendelse i Libre WebUI leveres den slået fra. En administrator aktiverer den én gang. Indtil da findes der ingen søgegrænseflade.

Sådan fungerer det

Der er fire dele, og hver del er usynlig, indtil den foregående er på plads:

  1. En SearXNG-instans, som backend kan nå. Den medfølgende private deploymentsstack indeholder én. Alle instanser med JSON-API aktiveret fungerer.
  2. Administratorindstillingen — Settings > Connections > Search (fanen er kun til administratorer). Angiv SearXNG-URL'en, slå Enable web search til, og brug Test connection til at bekræfte forbindelsen med en rigtig søgning.
  3. Hvem der må bruge den — kortet Web search under Settings → User Management ved siden af Work-adgang og kontroller til modeldownload. Slået fra (standarden) begrænser søgning til administratorer, selv når den er aktiveret. Slået til åbner den for alle aktive brugere. Backend håndhæver dette ved hver anmodning.
  4. Kontroller pr. brug, der vises for brugere med tilladelse:
    • Hentning i Chat: en globusknap i skrivefeltet. Når den er slået til, planlægger sessionsmodellen fokuserede nøgleordssøgninger med valgfrie vink om aktualitet og kategori. Hvis planlægningen mislykkes, bruger Libre den rå besked. Resultater føjes til prompten som kontekst, og svaret viser nummererede kildechips. Det virker med modeller uden værktøjsunderstøttelse.
    • Chat Tools: tilladte modeller med værktøjsunderstøttelse kan kalde det indbyggede værktøj web_search, når værktøjer er aktiveret for turen.
    • Work: opgaver med netværksadgang får værktøjet web_search i agentløkken. Modellen bestemmer, hvornår det kaldes, ligesom andre værktøjer. Offlineopgaver (netværk deaktiveret) ser aldrig værktøjet, selv om selve søgeanmodningen ville udgå fra backend og ikke sandkassen.

En mislykket søgning får aldrig turen til at mislykkes. Modellen svarer uden konteksten, og kørslen fortsætter.

Opsætning med den medfølgende stack

deploy/private/docker-compose.yml indeholder allerede tjenesten searxng: den er kun intern (publiceres aldrig på værten), hærdet og forbundet til appen via SEARXNG_URL=http://searxng:8080.

  1. Føj en hemmelighed til .env:

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

  3. Som administrator: Settings > Connections > Search — URL'en er udfyldt fra miljøet — aktivér den, og vælg derefter Test connection.

Opsætning med din egen SearXNG

Enhver SearXNG-instans, der kan nås, fungerer, med ét krav: JSON-formatet skal være aktiveret i dens settings.yml (de fleste offentlige instanser deaktiverer det):

search:
formats:
- html
- json

Indsæt derefter dens basis-URL (for eksempel http://127.0.0.1:8888 eller https://search.example.com) i Settings > Connections > Search.

Miljøvariabler

VariabelStandardFormål
SEARXNG_URLikke angivetUdfylder URL'en i søgeindstillingerne; aktivering kræver stadig en administrator

Selve indstillingen (aktiveret + URL) gemmes i databasen, så den overlever genstarter og træder i kraft med det samme uden ny deployment.

Privatliv og omfang

  • Søgninger kører på serversiden. Browsere kontakter aldrig SearXNG direkte. Libre WebUI behøver ingen konto hos en søgeudbyder, men en tilpasset SearXNG-installation kan konfigurere motorer med egne legitimationsoplysninger.
  • Søgeord forlader Libre WebUI-processen til SearXNG og derefter de valgte upstream-motorer. Egen drift af gatewayen styrer dette hop, men gør ikke en offentlig websøgning lokal eller anonym i sig selv.
  • Resultattekst afgrænses, før den når modelkonteksten (500 tegn pr. resultat). Administratorer vælger en resultatgrænse på 1–100. Standarden er 6. Kun resultat-URL'er med http(s) beholdes.
  • Den medfølgende instans kan kun nås på stackens interne netværk. Dens hastighedsbegrænser er slået fra af den grund. Publicér den ikke.

Fejlfinding

Ingen globus i skrivefeltet/intet web_search-værktøj i Work. Søgning er ikke aktiveret (Settings > Connections > Search), eller kontoen har ikke tilladelse. Almindelige brugere kræver, at kontakten Web search er slået til under Settings → User Management.

Test connection mislykkes med HTTP 403. Instansen tillader ikke JSON-formatet. Føj json til search.formats i dens settings.yml (se ovenfor), og genstart den.

Test connection kan ikke nå tjenesten. URL'en skal kunne nås fra backend, ikke fra din browser. I den medfølgende stack er den http://searxng:8080. localhost i en container er containeren selv.

Svarene ignorerer resultaterne. Modellen bestemmer stadig, hvad den vil bruge. Små modeller følger den indsprøjtede kontekst bedre, når spørgsmålet er konkret. Kilderne under svaret viser altid, hvad der blev hentet.