Zoeken op het web
De webzoekfunctie van LibreChat stelt je in staat om het internet te doorzoeken en relevante informatie op te halen om je gesprekken te verbeteren. De functie bestaat uit drie hoofdcomponenten die samenwerken om uitgebreide zoekresultaten te bieden.
Quick Start
Om aan de slag te gaan met webzoekopdrachten, moet je API-sleutels configureren voor een zoekprovider en een scraper. Voor reranking kun je Jina of Cohere gebruiken, of het uitschakelen met rerankerType: "none". Je kunt dit op twee manieren doen:
-
Omgevingsvariabelen (Aanbevolen voor beheerders):
# 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 -
Gebruikersinterface (Indien omgevingsvariabelen niet zijn ingesteld):
- Gebruikers worden gevraagd om de vereiste API-sleutels in te voeren wanneer ze de webzoekfunctie voor het eerst gebruiken.
- Ze kunnen kiezen welke zoekprovider (Serper, SearXNG of Tavily) en welke reranker-service ze willen gebruiken (Jina, Cohere of geen).
API-sleutels verkrijgen
Elke ingeschakelde externe service vereist zijn eigen API-sleutel. Hier lees je hoe je deze kunt verkrijgen:
Zoekproviders
Serper
- Bezoek Serper.dev
- Meld je aan voor een account
- Navigeer naar de API Key sectie
- Kopieer je API-sleutel
- Stel dit in via je omgevingsvariabelen of geef het op via de UI
SearXNG
- Volg de installatie-instructies in de Web Search Configuration documentatie.
- Stel
SEARXNG_INSTANCE_URLin op de URL van jouw instance - Stel optioneel
SEARXNG_API_KEYin als jouw instantie authenticatie vereist.
Tavily
- Bezoek Tavily
- Meld je aan voor een account
- Kopieer je API-sleutel
- Stel
TAVILY_API_KEYin via je omgevingsvariabelen of voer deze in via de UI - Tavily kan worden gebruikt als zowel een zoekprovider als een scraper-provider
Scraper: Firecrawl
- Bezoek Firecrawl.dev
- Meld je aan voor een account
- Navigeer naar de API Key sectie
- Kopieer je API-sleutel
- Stel dit in via je omgevingsvariabelen of geef het op via de UI
- (Optioneel) Als je een aangepaste Firecrawl-instantie gebruikt, moet je ook de API URL instellen
Rerankers
Jina
- Bezoek Jina.ai
- Meld je aan voor een account
- Navigeer naar het API Dashboard
- Kopieer je API-sleutel
- Stel dit in via je omgevingsvariabelen of geef het op via de UI
Cohere
- Bezoek het Cohere Dashboard
- Meld je aan voor een account
- Navigeer naar de API Keys sectie
- Kopieer je API-sleutel
- Stel dit in via je omgevingsvariabelen of geef het op via de UI
Componenten
1. Zoekproviders
Zoekproviders zijn verantwoordelijk voor het uitvoeren van de initiële zoekopdracht op het web en het retourneren van relevante resultaten.
Beschikbare providers:
- Serper: Een Google Search API die zoekresultaten van hoge kwaliteit levert
- Haal je API-sleutel op bij Serper.dev
- SearXNG: Open-source, zelf-gehoste meta-zoekmachine
- Host je eigen LibreChat-instantie zelf
- Privacygerichte zoekresultaten
- Tavily: AI-geoptimaliseerde zoek-API
- Haal je API-sleutel op bij Tavily
- Ondersteunt configureerbare zoekdiepte, onderwerpsfiltering, domeinfiltering en meer
- Kan ook dienen als scraper-provider
2. Scrapers
Scrapers extraheren de daadwerkelijke inhoud van webpagina's die door de zoekprovider worden geretourneerd.
Beschikbare scrapers:
-
Firecrawl: Een krachtige web scraping-service die inhoud van webpagina's extraheert
- Haal je API-sleutel op via Firecrawl.dev
- API URL is optioneel (standaard is de gehoste service van Firecrawl)
-
Tavily: Batch URL-extractie via Tavily Extract API
- Gebruikt dezelfde
TAVILY_API_KEYals de zoekprovider - Ondersteunt configureerbare extractiediepte, extractie van afbeeldingen en extractie van favicons
- Gebruikt dezelfde
Geplande Scrapers:
- Local Firecrawl: Zelf-gehoste versie van Firecrawl
- Aanvullende scraping-services van derden
3. Rerankers
Rerankers analyseren de gescrapte inhoud om de meest relevante delen te bepalen en deze opnieuw te rangschikken voor betere resultaten.
Beschikbare Rerankers:
- Jina: AI-aangedreven reranking-service
- Haal je API-sleutel op bij Jina.ai
- API URL is optioneel (standaard is de gehoste service van Jina)
- Cohere: Geavanceerde reranking-service
- Haal je API-sleutel op via het Cohere Dashboard
- None: Slaat reranking over wanneer
rerankerTypeis ingesteld op"none"
Geplande Rerankers:
- RAG API: Open-source reranking met behulp van RAG (Retrieval-Augmented Generation)
- Aanvullende third-party reranking-services
Configuratie
Admin-configuratie
Beheerders kunnen de webzoekfunctie configureren met behulp van omgevingsvariabelen. De YAML-configuratie stelt je in staat om aangepaste namen voor omgevingsvariabelen op te geven voor elk onderdeel.
⚠️ Belangrijk: Plaats nooit echte API-sleutels of waarden in het YAML-bestand (deze zullen niet werken) - gebruik alleen omgevingsvariabelenamen.
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)Let op: De YAML-configuratie mag alleen omgevingsvariabelen bevatten (in het formaat ${VARIABLE_NAME}). Deze flexibiliteit maakt het volgende mogelijk:
- Verschillende variabelenamen gebruiken in verschillende omgevingen
- Ondersteuning van meerdere configuraties voor verschillende gebruikersgroepen
- Toekomstige integratie met op rollen gebaseerde configuraties
Als je het systeem wilt beperken tot het gebruik van alleen specifieke services, kun je de servicetypen opgeven:
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"Gebruikersconfiguratie
Als de beheerder niet alle benodigde API-sleutels heeft geconfigureerd, worden gebruikers gevraagd deze via de UI in te voeren. De interface stelt gebruikers in staat om:
- Kies hun voorkeurs-reranker (Jina, Cohere, of geen)
- Voer API-sleutels in voor de vereiste services
- Configureer indien nodig de Firecrawl API URL (optioneel)
- Configureer indien nodig de Jina API URL (optioneel)
- Configureer Tavily Search of Extract API-URL's indien nodig (optioneel)
Gebruik
Zodra dit is geconfigureerd, kun je op twee manieren gebruikmaken van webzoekopdrachten:
- Chat-interface: Klik op de webzoekknop in de chat-interface om webzoeken voor je gesprek in te schakelen
- Agents: Gebruik de
web_searchfunctionaliteit in agents om ze in staat te stellen het internet te doorzoeken
Opmerkingen
- Zoekprovider- en scraperconfiguratie zijn vereist; reranking kan worden uitgeschakeld met
rerankerType: "none" - De Firecrawl API URL is optioneel en gebruikt standaard hun gehoste service
- De Jina API URL is optioneel en gebruikt standaard hun gehoste service
- De Tavily Search en Extract API-URL's zijn optioneel en gebruiken standaard de gehoste services van Tavily.
- Safe search biedt drie niveaus van inhoudsfiltering: OFF (0), MODERATE (1 - standaard) en STRICT (2)
- Tavily neemt de globale
safeSearchinstelling standaard niet over; gebruiktavilySearchOptions.safeSearchalleen als jouw Tavily-accountsafe_searchondersteunt. - De scraper-timeout is standaard ingesteld op 7,5 seconden (7500ms)
- API keys kunnen op elk gewenst moment worden ingetrokken via de UI
- Toekomstige updates zullen meer open-source, self-hosted opties bevatten voor alle componenten
- Aanvullende aanpassingsopties zijn gepland, waaronder:
- Controle over het aantal links dat moet worden gescraped
- Domein-toestemmingslijst/blokkeerlijst voor scraping
- Aangepaste scraping-regels en filters
- Geavanceerde opties voor resultaatfiltering en -rangschikking
- Rate limiting en request throttling controls
Hoe is deze gids?