Ricerca Web
La funzionalità di ricerca web di LibreChat ti consente di cercare su internet e recuperare informazioni pertinenti per arricchire le tue conversazioni. La funzionalità è composta da tre componenti principali che lavorano insieme per fornire risultati di ricerca completi.
Avvio rapido
Per iniziare con la ricerca web, dovrai configurare le chiavi API per un provider di ricerca e uno scraper. Il reranking può utilizzare Jina o Cohere, oppure può essere disabilitato con rerankerType: "none". Puoi farlo in due modi:
-
Variabili d'ambiente (Consigliato per gli amministratori):
# Search Provider (Required - choose one) SERPER_API_KEY=your_serper_api_key # or SEARXNG_INSTANCE_URL=your_searxng_instance_url SEARXNG_API_KEY=your_searxng_api_key # Optional # or TAVILY_API_KEY=your_tavily_api_key # Scraper (Required - choose one) FIRECRAWL_API_KEY=your_firecrawl_api_key # Optional: Custom Firecrawl API URL FIRECRAWL_API_URL=your_firecrawl_api_url # Optional: Firecrawl API version (v0 or v1) # FIRECRAWL_VERSION=v1 # or TAVILY_API_KEY=your_tavily_api_key # Reranker (Optional - choose one, or set rerankerType: "none") JINA_API_KEY=your_jina_api_key # Optional: Custom Jina API URL JINA_API_URL=your_jina_api_url # or COHERE_API_KEY=your_cohere_api_key -
Interfaccia Utente (Se le variabili d'ambiente non sono impostate):
- Agli utenti verrĂ richiesto di inserire le chiavi API necessarie al primo utilizzo della funzionalitĂ di ricerca web.
- Possono scegliere quale provider di ricerca (Serper, SearXNG o Tavily) e quale servizio di reranker utilizzare (Jina, Cohere o nessuno).
Ottenere le API Key
Ogni servizio esterno abilitato richiede la propria chiave API. Ecco come ottenerle:
Provider di ricerca
Serper
- Visita Serper.dev
- Registrati per un account
- Vai alla sezione API Key
- Copia la tua chiave API
- Impostalo nelle tue variabili d'ambiente o forniscilo tramite l'interfaccia utente
SearXNG
- Segui le istruzioni di configurazione nella documentazione Web Search Configuration
- Imposta
SEARXNG_INSTANCE_URLsull'URL della tua istanza - Facoltativamente, imposta
SEARXNG_API_KEYse la tua istanza richiede l'autenticazione
Tavily
- Visita Tavily
- Registrati per un account
- Copia la tua chiave API
- Imposta
TAVILY_API_KEYnelle tue variabili d'ambiente o forniscila tramite l'interfaccia utente. - Tavily può essere utilizzato sia come provider di ricerca che come provider di scraping.
Scraper: Firecrawl
- Visita Firecrawl.dev
- Registrati per un account
- Vai alla sezione API Key
- Copia la tua chiave API
- Impostalo nelle tue variabili d'ambiente o forniscilo tramite l'interfaccia utente
- (Opzionale) Se stai utilizzando un'istanza personalizzata di Firecrawl, dovrai anche impostare l'URL dell'API
Rerankers
Jina
- Visita Jina.ai
- Registrati per un account
- Vai alla Dashboard API
- Copia la tua chiave API
- Impostalo nelle tue variabili d'ambiente o forniscilo tramite l'interfaccia utente
Cohere
- Visita la Cohere Dashboard
- Registrati per un account
- Passa alla sezione API Keys
- Copia la tua chiave API
- Impostalo nelle tue variabili d'ambiente o forniscilo tramite l'interfaccia utente
Componenti
1. Provider di ricerca
I provider di ricerca sono responsabili dell'esecuzione della ricerca web iniziale e della restituzione dei risultati pertinenti.
Provider disponibili:
- Serper: Un'API di ricerca Google che fornisce risultati di ricerca di alta qualitĂ
- Ottieni la tua chiave API da Serper.dev
- SearXNG: Meta motore di ricerca open-source e self-hosted
- Ospita autonomamente la tua istanza
- Risultati di ricerca incentrati sulla privacy
- Tavily: API di ricerca ottimizzata per l'IA
- Ottieni la tua chiave API da Tavily
- Supporta profonditĂ di ricerca configurabile, filtraggio per argomento, filtraggio per dominio e altro ancora.
- Può anche fungere da provider di scraper
2. Scrapers
Gli scraper estraggono il contenuto effettivo dalle pagine web restituite dal provider di ricerca.
Scraper disponibili:
-
Firecrawl: Un potente servizio di web scraping che estrae contenuti dalle pagine web
- Ottieni la tua chiave API da Firecrawl.dev
- L'URL dell'API è facoltativo (per impostazione predefinita viene utilizzato il servizio ospitato di Firecrawl)
-
Tavily: Estrazione batch di URL tramite Tavily Extract API
- Utilizza la stessa
TAVILY_API_KEYdel provider di ricerca - Supporta profonditĂ di estrazione configurabile, estrazione di immagini ed estrazione di favicon
- Utilizza la stessa
Scraper pianificati:
- Local Firecrawl: Versione self-hosted di Firecrawl
- Ulteriori servizi di scraping di terze parti
3. Rerankers
I Reranker analizzano il contenuto estratto per determinare le parti piĂš rilevanti e riordinarle per ottenere risultati migliori.
Reranker disponibili:
- Jina: servizio di reranking basato su AI
- Ottieni la tua chiave API da Jina.ai
- L'URL dell'API è facoltativo (per impostazione predefinita utilizza il servizio ospitato di Jina)
- Cohere: Servizio di reranking avanzato
- Ottieni la tua chiave API dalla Dashboard di Cohere
- None: Salta il reranking quando
rerankerTypeè impostato su"none"
Reranker pianificati:
- RAG API: Reranking open-source tramite RAG (Retrieval-Augmented Generation)
- Ulteriori servizi di reranking di terze parti
Configurazione
Configurazione Amministratore
Gli amministratori possono configurare la funzionalitĂ di ricerca web utilizzando le variabili d'ambiente. La configurazione YAML consente di specificare nomi di variabili d'ambiente personalizzati per ciascun componente.
â ď¸ Importante: Non inserire mai chiavi API reali o valori nel file YAML (non funzionerebbero); utilizza solo i nomi delle variabili d'ambiente.
webSearch:
# Search Provider Configuration
serperApiKey: "${CUSTOM_SERPER_API_KEY}" # â
Correct: Using environment variable name
# serperApiKey: "sk-123..." # â Wrong: Never put actual API keys here
# or
searxngInstanceUrl: "${CUSTOM_SEARXNG_INSTANCE_URL}" # â
Correct: Using environment variable name
searxngApiKey: "${CUSTOM_SEARXNG_API_KEY}" # â
Correct: Using environment variable name
# searxngInstanceUrl: "http://..." # â Wrong: Never put actual URLs here
# searxngApiKey: "sk-123..." # â Wrong: Never put actual API keys here
# Tavily Configuration (search and/or scraper)
tavilyApiKey: "${CUSTOM_TAVILY_API_KEY}"
tavilySearchUrl: "${CUSTOM_TAVILY_SEARCH_URL}"
tavilyExtractUrl: "${CUSTOM_TAVILY_EXTRACT_URL}"
# Scraper Configuration
firecrawlApiKey: "${CUSTOM_FIRECRAWL_API_KEY}"
firecrawlApiUrl: "${CUSTOM_FIRECRAWL_API_URL}"
# firecrawlApiKey: "fc-123..." # â Wrong: Never put actual API keys here
# firecrawlApiUrl: "https://..." # â Wrong: Never put actual URLs here
# Reranker Configuration
jinaApiKey: "${CUSTOM_JINA_API_KEY}"
jinaApiUrl: "${CUSTOM_JINA_API_URL}"
cohereApiKey: "${CUSTOM_COHERE_API_KEY}"
# jinaApiKey: "jn-123..." # â Wrong: Never put actual API keys here
# jinaApiUrl: "https://..." # â Wrong: Never put actual URLs here
# cohereApiKey: "ch-123..." # â Wrong: Never put actual API keys here
# General Settings
safeSearch: 1 # Options: 0 (OFF), 1 (MODERATE - default), 2 (STRICT)Nota: La configurazione YAML dovrebbe contenere solo nomi di variabili d'ambiente (nel formato ${VARIABLE_NAME}). Questa flessibilitĂ consente:
- Utilizzo di nomi di variabili diversi in ambienti diversi
- Supporto di configurazioni multiple per diversi gruppi di utenti
- Integrazione futura con configurazioni basate sui ruoli
Se desideri limitare il sistema all'utilizzo di soli servizi specifici, puoi specificare i tipi di servizio:
webSearch:
# ... variable configurations ...
searchProvider: "serper" # Only use Serper for search
# searchProvider: "searxng" # Only use SearXNG for search
# searchProvider: "tavily" # Only use Tavily for search
scraperProvider: "firecrawl" # Only use Firecrawl for scraping
# scraperProvider: "tavily" # Only use Tavily for scraping
rerankerType: "jina" # Options: "jina", "cohere", "none"Configurazione Utente
Se l'amministratore non ha configurato tutte le chiavi API necessarie, agli utenti verrĂ richiesto di fornirle tramite l'interfaccia utente. L'interfaccia consente agli utenti di:
- Scegli il loro reranker preferito (Jina, Cohere o nessuno)
- Inserisci le chiavi API per i servizi richiesti
- Configura l'URL dell'API di Firecrawl se necessario (opzionale)
- Configura l'URL dell'API Jina se necessario (opzionale)
- Configura gli URL delle API Tavily Search o Extract se necessario (opzionale)
Utilizzo
Una volta configurata, puoi utilizzare la ricerca web in due modi:
- Interfaccia di chat: Fai clic sul pulsante di ricerca web nell'interfaccia di chat per abilitare la ricerca web per la tua conversazione
- Agenti: Utilizza la funzionalitĂ
web_searchnegli agenti per consentire loro di effettuare ricerche sul web
Note
- La configurazione del provider di ricerca e dello scraper è obbligatoria; il reranking può essere disabilitato con
rerankerType: "none" - L'URL dell'API Firecrawl è facoltativo e utilizza come impostazione predefinita il loro servizio ospitato.
- L'URL dell'API Jina è facoltativo e utilizza come impostazione predefinita il loro servizio ospitato.
- Gli URL delle API Tavily Search and Extract sono facoltativi e utilizzano come impostazione predefinita i servizi ospitati da Tavily.
- Safe search fornisce tre livelli di filtraggio dei contenuti: OFF (0), MODERATE (1 - predefinito) e STRICT (2)
- Tavily non eredita l'impostazione globale
safeSearchper impostazione predefinita; utilizzatavilySearchOptions.safeSearchsolo se il tuo account Tavily supportasafe_search - Il timeout dello scraper è impostato su 7,5 secondi (7500ms) per impostazione predefinita
- Le API keys possono essere revocate in qualsiasi momento tramite l'interfaccia utente.
- I futuri aggiornamenti includeranno piĂš opzioni open-source e self-hosted per tutti i componenti
- Sono previste ulteriori opzioni di personalizzazione, tra cui:
- Controllo sul numero di link da analizzare
- Allowlist/blocklist di dominio per lo scraping
- Regole di scraping e filtri personalizzati
- Opzioni avanzate di filtraggio e classificazione dei risultati
- Controlli di limitazione della frequenza (rate limiting) e di throttling delle richieste
Comâè questa guida?