Căutare web în Open WebUI în Open WebUI & RAG Local

Instrumente & Extensii Nivel: mediu

Open WebUI caută pe internet printr-un motor ales de administrator (SearXNG, Brave, Tavily, Exa, DuckDuckGo și altele); în modul Native modelul decide singur când apelează search_web și fetch_url.

Configurare & comandă
Settings > Admin > Web Search: Web Search, Web Search Engine, Search Result Count   |   în chat: Integrations > Web Search

Căutarea are două roluri: Web Search Engine găsește paginile (titluri, linkuri, fragmente scurte), iar Web Loader Engine citește conținutul unei pagini (implicit safe_web; alternative playwright, firecrawl, tavily, exa). Administratorul activează căutarea în Settings > Admin > Web Search (ENABLE_WEB_SEARCH, oprit implicit) și alege motorul, de exemplu searxng, brave, tavily, exa, duckduckgo, google_pse, kagi, perplexity, ollama_cloud sau external. Majoritatea serviciilor găzduite cer cont și cheie API.

În modul Native (implicit din v0.10.0), modelul primește două unelte: search_web întoarce doar titluri, linkuri și fragmente (cel mult WEB_SEARCH_RESULT_COUNT, implicit 3), iar fetch_url citește o pagină întreagă cu loaderul configurat. Modelul poate căuta de mai multe ori și poate deschide linkuri; la citări apar doar paginile citite cu fetch_url. Uneltele apar dacă modelul are capabilitatea Web Search și căutarea este bifată la Default Features sau pornită în chat din meniul Integrations. În modul Legacy, Open WebUI caută singur, fragmentează rezultatele și le injectează prin RAG.

SearXNG este un metamotor care se poate găzdui alături de Open WebUI; el trimite mai departe interogările către motoarele pe care le agregă. Pentru Open WebUI trebuie activat formatul json în settings.yml, iar URL-ul indicat este endpointul /search (de exemplu http://searxng:8080/search); forma veche /search?q=<query> mai funcționează. Ghidul SearXNG din documentație este o contribuție a comunității. Administratorul poate cere confirmarea utilizatorului înainte de fiecare căutare (ENABLE_WEB_SEARCH_CONFIRMATION).

Concepte cheie și caracteristici

Concept / Parametru Descriere practică
ENABLE_WEB_SEARCH Implicit False. ConfigVar.
WEB_SEARCH_ENGINE Motorul: searxng, brave, tavily, exa, duckduckgo, google_pse, bing, kagi, jina, serper, perplexity, ollama_cloud, external și altele.
WEB_SEARCH_RESULT_COUNT Implicit 3; în modul Native și limita superioară pentru argumentul count al modelului.
WEB_SEARCH_CONCURRENT_REQUESTS Implicit 0 (nelimitat); 1 trimite cererile pe rând, util la limitele de rată.
SEARXNG_QUERY_URL Endpointul /search al instanței SearXNG.
WEB_LOADER_ENGINE Cine citește paginile: gol / safe_web, playwright, firecrawl, tavily, exa, external.
WEB_FETCH_MAX_CONTENT_LENGTH Limită în caractere pentru fetch_url; implicit pagina întreagă.
BYPASS_WEB_SEARCH_EMBEDDING_AND_RETRIEVAL Implicit False; în modul Legacy sare peste fragmentare și embeddings.
ENABLE_WEB_SEARCH_CONFIRMATION Cere confirmare înainte ca interogarea să plece spre furnizor.

Exemple practice și scenarii reale

Exemplul 1: Open WebUI cu SearXNG în același Compose

Variabilele din ghidul SearXNG al documentației.

services:
  open-webui:
    environment:
      ENABLE_WEB_SEARCH: "True"
      WEB_SEARCH_ENGINE: "searxng"
      WEB_SEARCH_RESULT_COUNT: 3
      WEB_SEARCH_CONCURRENT_REQUESTS: 10
      SEARXNG_QUERY_URL: "http://searxng:8080/search"

Exemplul 2: Formatul json în settings.yml al SearXNG

search:
  formats:
    - html
    - json

Exemplul 3: Test din containerul Open WebUI

Dacă răspunsul este JSON, Open WebUI poate folosi instanța.

docker exec -it open-webui curl "http://host.docker.internal:8080/search?q=test&format=json"

Greșeli frecvente și capcane

  • Dezactivezi capabilitatea Web Search pe model și pornești comutatorul din chat: în modul Native uneltele nu sunt injectate.
  • Folosești Ollama cu contextul implicit de 4096 tokeni: o pagină web are adesea mai mult, deci modelul vede doar o parte. Documentația recomandă un context mai mare.
  • Alegi DuckDuckGo pe imaginea :slim: motorul (DDGS) nu e disponibil acolo; e nevoie de alt furnizor.

Noțiuni și module înrudite