Ricerca web
Libre WebUI può cercare sul web e fornire i risultati ai modelli senza richiedere un account del fornitore Libre WebUI o un'integrazione con un'API di ricerca commerciale. La ricerca passa attraverso un'istanza SearXNG scelta dall'amministratore. SearXNG invia poi le query ai motori di ricerca pubblici che aggrega; tali motori possono osservare la richiesta proveniente dal deployment SearXNG e applicare i propri criteri di registrazione, conservazione e rete.
Come tutte le funzionalità a duplice uso di Libre WebUI, viene distribuita disattivata. Un amministratore la abilita una volta; fino a quel momento non esiste alcuna interfaccia di ricerca.
Funzionamento
Il sistema è composto da quattro elementi, ognuno dei quali resta invisibile finché non esiste il precedente:
- Un'istanza SearXNG raggiungibile dal backend. Lo stack per deployment privato incluso ne contiene una; funziona qualsiasi istanza con l'API JSON abilitata.
- L'impostazione di amministrazione — Impostazioni > Connessioni > Ricerca (la scheda è riservata agli amministratori). Imposta l'URL di SearXNG, attiva Abilita ricerca web e usa Verifica connessione per confermare il collegamento con una query reale.
- Chi può usarla — la scheda Ricerca web in Impostazioni → Gestione utenti, accanto ai controlli per l'accesso a Work e il download dei modelli. Disattivata, come per impostazione predefinita, mantiene la ricerca riservata agli amministratori anche quando è abilitata; attivata la rende disponibile a tutti gli utenti attivi. Il backend applica questa regola a ogni richiesta.
- I controlli per singolo utilizzo che appaiono agli utenti autorizzati:
- Recupero nella chat: un interruttore con il globo nel compositore. Quando è attivo, il modello della sessione pianifica query mirate con parole chiave e indicazioni facoltative su attualità e categoria. Se la pianificazione non riesce, Libre usa come alternativa il messaggio non elaborato. I risultati entrano nel prompt come contesto e la risposta mostra indicatori delle fonti numerati. Funziona anche con i modelli che non supportano le chiamate agli strumenti.
- Strumenti di chat: i modelli autorizzati e capaci di usare strumenti possono chiamare lo strumento integrato
web_searchquando gli strumenti sono abilitati per quel turno. - Work: le attività con accesso alla rete abilitato ricevono uno strumento
web_searchnel ciclo dell'agente. Il modello decide quando chiamarlo, come qualsiasi altro strumento. Le attività offline, con rete disabilitata, non vedono mai lo strumento, anche se la richiesta di ricerca uscirebbe dal backend e non dalla sandbox.
Un errore della ricerca non provoca mai l'errore del turno: il modello risponde senza il contesto e l'esecuzione continua.
Configurazione con lo stack incluso
deploy/private/docker-compose.yml contiene già il servizio searxng: accessibile soltanto internamente, mai pubblicato sull'host, protetto e già collegato all'app tramite SEARXNG_URL=http://searxng:8080.
-
Aggiungi un segreto a
.env:SEARXNG_SECRET=any-long-random-value -
docker compose up -d. -
Come amministratore, apri Impostazioni > Connessioni > Ricerca; l'URL viene precompilato dall'ambiente. Abilita la funzione, quindi usa Verifica connessione.
Configurazione con un'istanza SearXNG personale
Funziona qualsiasi istanza SearXNG raggiungibile, con un requisito: nel relativo settings.yml deve essere abilitato il formato JSON (la maggior parte delle istanze pubbliche lo disabilita):
search:
formats:
- html
- json
Incolla quindi il relativo URL di base, ad esempio http://127.0.0.1:8888 oppure https://search.example.com, in Impostazioni > Connessioni > Ricerca.
Variabili di ambiente
| Variabile | Predefinito | Scopo |
|---|---|---|
SEARXNG_URL | non impostato | Precompila l'URL nelle impostazioni di Ricerca; l'abilitazione richiede comunque un'azione dell'amministratore |
L'impostazione stessa, stato di abilitazione e URL, viene conservata nel database: sopravvive ai riavvii ed entra in vigore immediatamente senza un nuovo deployment.
Privacy e ambito
- Le ricerche vengono eseguite lato server. I browser non contattano mai direttamente SearXNG. Libre WebUI non richiede un account del provider di ricerca, anche se un deployment SearXNG personalizzato può configurare motori con credenziali proprie.
- I termini di ricerca lasciano il processo Libre WebUI per SearXNG e quindi per i motori upstream selezionati. Ospitare autonomamente il gateway controlla tale passaggio; non rende di per sé locale o anonima la ricerca nel web pubblico.
- Il testo dei risultati viene limitato prima di raggiungere il contesto del modello (500 caratteri per risultato). Gli amministratori scelgono un limite di risultati da 1–100; il valore predefinito è 6. Vengono conservati soltanto gli URL dei risultati
http(s). - L'istanza inclusa è raggiungibile soltanto dalla rete interna dello stack. Per questo motivo il relativo limitatore di frequenza è disattivato; non pubblicarla.
Risoluzione dei problemi
Nessun globo nel compositore / nessuno strumento web_search in Work. La ricerca non è abilitata (Impostazioni > Connessioni > Ricerca) oppure l'account non è autorizzato: per gli utenti normali, l'interruttore Ricerca web deve essere attivato in Impostazioni → Gestione utenti.
Verifica connessione restituisce un errore HTTP 403. L'istanza non consente il formato JSON. Aggiungi json a search.formats nel relativo settings.yml (vedi sopra) e riavviala.
Verifica connessione non riesce a raggiungere il servizio. L'URL deve essere raggiungibile dal backend, non dal browser. Nello stack incluso è http://searxng:8080; localhost all'interno di un container indica il container stesso.
Le risposte ignorano i risultati. È comunque il modello a decidere che cosa usare. I modelli piccoli seguono meglio il contesto inserito quando la domanda è concreta; le fonti sotto la risposta mostrano sempre che cosa è stato recuperato.