Skip to main content
LibreChat is joining ClickHouse to power the open-source Agentic Data Stack 🎉 Learn more
LibreChat

Websuche

Die Websuchfunktion von LibreChat ermöglicht es Ihnen, das Internet zu durchsuchen und relevante Informationen abzurufen, um Ihre Konversationen zu verbessern. Die Funktion besteht aus drei Hauptkomponenten, die zusammenarbeiten, um umfassende Suchergebnisse zu liefern.

Schnelleinstieg

Um mit der Websuche zu beginnen, müssen Sie API-Schlüssel für einen Suchanbieter und einen Scraper konfigurieren. Für das Reranking können Jina oder Cohere verwendet werden, oder es kann mit rerankerType: "none" deaktiviert werden. Sie können dies auf zwei Arten tun:

  1. Umgebungsvariablen (Empfohlen für Administratoren):

    # 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
  2. Benutzeroberfläche (Wenn Umgebungsvariablen nicht gesetzt sind):

    • Benutzer werden beim ersten Verwenden der Websuchfunktion dazu aufgefordert, die erforderlichen API-Schlüssel einzugeben.
    • Sie können wählen, welcher Suchanbieter (Serper, SearXNG oder Tavily) und welcher Reranker-Dienst (Jina, Cohere oder keiner) verwendet werden soll.

Abrufen von API-Keys

Jeder aktivierte externe Dienst erfordert seinen eigenen API-Schlüssel. So erhalten Sie diese:

Suchanbieter

Serper

  1. Besuchen Sie Serper.dev
  2. Registrieren Sie sich für ein Konto
  3. Navigieren Sie zum Abschnitt API Key
  4. Kopieren Sie Ihren API-Schlüssel
  5. Legen Sie es in Ihren Umgebungsvariablen fest oder stellen Sie es über die UI bereit

SearXNG

  1. Befolgen Sie die Einrichtungsanweisungen in der Dokumentation zur Web Search Configuration
  2. Setze SEARXNG_INSTANCE_URL auf die URL deiner Instanz
  3. Optional können Sie SEARXNG_API_KEY festlegen, falls Ihre Instanz eine Authentifizierung erfordert.

Tavily

  1. Besuchen Sie Tavily
  2. Registrieren Sie sich für ein Konto
  3. Kopieren Sie Ihren API-Schlüssel
  4. Setzen Sie TAVILY_API_KEY in Ihren Umgebungsvariablen oder geben Sie ihn über die Benutzeroberfläche ein.
  5. Tavily kann sowohl als Suchanbieter als auch als Scraper-Anbieter verwendet werden.

Scraper: Firecrawl

  1. Besuchen Sie Firecrawl.dev
  2. Registrieren Sie sich für ein Konto
  3. Navigieren Sie zum Abschnitt API Key
  4. Kopieren Sie Ihren API-Schlüssel
  5. Legen Sie es in Ihren Umgebungsvariablen fest oder stellen Sie es über die UI bereit
  6. (Optional) Falls Sie eine benutzerdefinierte Firecrawl-Instanz verwenden, müssen Sie auch die API-URL festlegen

Reranker

Jina

  1. Besuchen Sie Jina.ai
  2. Registrieren Sie sich für ein Konto
  3. Navigieren Sie zum API Dashboard
  4. Kopieren Sie Ihren API-Schlüssel
  5. Legen Sie es in Ihren Umgebungsvariablen fest oder stellen Sie es über die UI bereit

Cohere

  1. Besuchen Sie das Cohere Dashboard
  2. Registrieren Sie sich für ein Konto
  3. Navigieren Sie zum Abschnitt API Keys
  4. Kopieren Sie Ihren API-Schlüssel
  5. Legen Sie es in Ihren Umgebungsvariablen fest oder stellen Sie es über die UI bereit

Komponenten

1. Suchanbieter

Suchanbieter sind für die Durchführung der anfänglichen Websuche und die Rückgabe relevanter Ergebnisse verantwortlich.

Verfügbare Anbieter:

  • Serper: Eine Google Search API, die qualitativ hochwertige Suchergebnisse liefert
    • Holen Sie sich Ihren API-Schlüssel von Serper.dev
  • SearXNG: Open-Source, selbst gehostete Meta-Suchmaschine
    • Hoste deine eigene Instanz selbst
    • Datenschutzorientierte Suchergebnisse
  • Tavily: KI-optimierte Such-API
    • Holen Sie sich Ihren API-Schlüssel von Tavily
    • Unterstützt konfigurierbare Suchtiefe, Themenfilterung, Domainfilterung und mehr
    • Kann auch als Scraper-Anbieter dienen

2. Scraper

Scraper extrahieren den tatsächlichen Inhalt von Webseiten, die vom Suchanbieter zurückgegeben werden.

Verfügbare Scraper:

  • Firecrawl: Ein leistungsstarker Web-Scraping-Dienst, der Inhalte von Webseiten extrahiert

    • Holen Sie sich Ihren API-Schlüssel von Firecrawl.dev
    • Die API-URL ist optional (standardmäßig wird der gehostete Dienst von Firecrawl verwendet)
  • Tavily: Batch-URL-Extraktion über die Tavily Extract API

    • Verwendet denselben TAVILY_API_KEY wie der Suchanbieter
    • Unterstützt konfigurierbare Extraktionstiefe, Bildextraktion und Favicon-Extraktion

Geplante Scraper:

  • Local Firecrawl: Selbstgehostete Version von Firecrawl
  • Zusätzliche Scraping-Dienste von Drittanbietern

3. Reranker

Reranker analysieren die gescrapten Inhalte, um die relevantesten Teile zu bestimmen und sie für bessere Ergebnisse neu anzuordnen.

Verfügbare Reranker:

  • Jina: KI-gestützter Reranking-Dienst
    • Holen Sie sich Ihren API-Schlüssel von Jina.ai
    • Die API URL ist optional (standardmäßig wird der gehostete Dienst von Jina verwendet)
  • Cohere: Fortschrittlicher Reranking-Dienst
  • None: Überspringt das Reranking, wenn rerankerType auf "none" gesetzt ist.

Geplante Reranker:

  • RAG API: Open-Source-Reranking mittels RAG (Retrieval-Augmented Generation)
  • Zusätzliche Reranking-Dienste von Drittanbietern

Konfiguration

Admin-Konfiguration

Admins können die Websuchfunktion mithilfe von Umgebungsvariablen konfigurieren. Die YAML-Konfiguration ermöglicht es Ihnen, benutzerdefinierte Namen für Umgebungsvariablen für jede Komponente festzulegen.

⚠️ Wichtig: Geben Sie niemals tatsächliche API-Schlüssel oder Werte in die YAML-Datei ein (sie werden nicht funktionieren) – verwenden Sie nur die Namen der Umgebungsvariablen.

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)

Hinweis: Die YAML-Konfiguration sollte nur Umgebungsvariablennamen (im Format ${VARIABLE_NAME}) enthalten. Diese Flexibilität ermöglicht:

  • Verwendung unterschiedlicher Variablennamen in verschiedenen Umgebungen
  • Unterstützung mehrerer Konfigurationen für verschiedene Benutzergruppen
  • Zukünftige Integration mit rollenbasierten Konfigurationen

Wenn Sie das System darauf beschränken möchten, nur bestimmte Dienste zu verwenden, können Sie die Diensttypen angeben:

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"

Benutzerkonfiguration

Wenn der Administrator nicht alle erforderlichen API-Schlüssel konfiguriert hat, werden Benutzer dazu aufgefordert, diese über die Benutzeroberfläche einzugeben. Die Oberfläche ermöglicht es Benutzern:

  1. Wählen Sie ihren bevorzugten Reranker (Jina, Cohere oder keiner)
  2. Geben Sie die API-Schlüssel für die erforderlichen Dienste ein
  3. Konfigurieren Sie bei Bedarf die Firecrawl API-URL (optional)
  4. Konfigurieren Sie bei Bedarf die Jina API-URL (optional)
  5. Konfigurieren Sie bei Bedarf die Tavily Search- oder Extract-API-URLs (optional)

Verwendung

Sobald die Konfiguration abgeschlossen ist, können Sie die Websuche auf zwei Arten nutzen:

  1. Chat-Oberfläche: Klicken Sie auf die Websuch-Schaltfläche in der Chat-Oberfläche, um die Websuche für Ihre Unterhaltung zu aktivieren.
  2. Agents: Verwenden Sie die web_search-Funktion in Agents, um ihnen die Suche im Web zu ermöglichen

Hinweise

  • Die Konfiguration für Suchanbieter und Scraper ist erforderlich; das Reranking kann mit rerankerType: "none" deaktiviert werden.
  • Die Firecrawl API URL ist optional und verwendet standardmäßig deren gehosteten Dienst.
  • Die Jina API-URL ist optional und verwendet standardmäßig deren gehosteten Dienst.
  • Die Tavily Search and Extract API URLs sind optional und verwenden standardmäßig die gehosteten Dienste von Tavily.
  • Safe Search bietet drei Stufen der Inhaltsfilterung: OFF (0), MODERATE (1 - Standard) und STRICT (2)
  • Tavily übernimmt standardmäßig nicht die globale safeSearch-Einstellung; verwenden Sie tavilySearchOptions.safeSearch nur, wenn Ihr Tavily-Konto safe_search unterstützt.
  • Das Scraper-Timeout ist standardmäßig auf 7,5 Sekunden (7500ms) eingestellt.
  • API-Schlüssel können jederzeit über die Benutzeroberfläche widerrufen werden.
  • Zukünftige Updates werden weitere Open-Source- und selbst gehostete Optionen für alle Komponenten enthalten.
  • Weitere Anpassungsoptionen sind geplant, darunter:
    • Kontrolle über die Anzahl der zu scrappenden Links
    • Domain-Allowlist/Blocklist für Scraping
    • Benutzerdefinierte Scraping-Regeln und Filter
    • Erweiterte Optionen für Ergebnisfilterung und Ranking
    • Steuerung von Ratenbegrenzung und Anforderungsdrosselung

Wie finden Sie diese Anleitung?