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

Búsqueda web

La función de búsqueda web de LibreChat le permite buscar en internet y recuperar información relevante para mejorar sus conversaciones. La función consta de tres componentes principales que trabajan juntos para proporcionar resultados de búsqueda exhaustivos.

Inicio rápido

Para comenzar con la búsqueda web, necesitarás configurar las claves de API para un proveedor de búsqueda y un scraper. La reordenación (reranking) puede utilizar Jina o Cohere, o puede desactivarse con rerankerType: "none". Puedes hacerlo de dos maneras:

  1. Variables de entorno (Recomendado para administradores):

    # 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. Interfaz de usuario (Si las variables de entorno no están configuradas):

    • Se pedirá a los usuarios que ingresen las claves de API requeridas cuando utilicen la función de búsqueda web por primera vez.
    • Pueden elegir qué proveedor de búsqueda (Serper, SearXNG o Tavily) y qué servicio de reranker utilizar (Jina, Cohere o ninguno)

Obtención de API Keys

Cada servicio externo habilitado requiere su propia clave API. Aquí te explicamos cómo obtenerlas:

Proveedores de búsqueda

Serper

  1. Visita Serper.dev
  2. Regístrate para obtener una cuenta
  3. Navega a la sección de API Key
  4. Copia tu clave de API
  5. Configúralo en tus variables de entorno o proporciónalo a través de la interfaz de usuario

SearXNG

  1. Siga las instrucciones de configuración en la documentación de Web Search Configuration
  2. Establezca SEARXNG_INSTANCE_URL en la URL de su instancia
  3. Opcionalmente, configure SEARXNG_API_KEY si su instancia requiere autenticación

Tavily

  1. Visita Tavily
  2. Regístrate para obtener una cuenta
  3. Copia tu clave de API
  4. Configure TAVILY_API_KEY en sus variables de entorno o proporciónela a través de la interfaz de usuario
  5. Tavily puede utilizarse tanto como proveedor de búsqueda como proveedor de scraping.

Scraper: Firecrawl

  1. Visita Firecrawl.dev
  2. Regístrate para obtener una cuenta
  3. Navega a la sección de API Key
  4. Copia tu clave de API
  5. Configúralo en tus variables de entorno o proporciónalo a través de la interfaz de usuario
  6. (Opcional) Si está utilizando una instancia personalizada de Firecrawl, también deberá configurar la API URL

Rerankers

Jina

  1. Visita Jina.ai
  2. Regístrate para obtener una cuenta
  3. Navega al API Dashboard
  4. Copia tu clave de API
  5. Configúralo en tus variables de entorno o proporciónalo a través de la interfaz de usuario

Cohere

  1. Visita el Cohere Dashboard
  2. Regístrate para obtener una cuenta
  3. Navegue a la sección de API Keys
  4. Copia tu clave de API
  5. Configúralo en tus variables de entorno o proporciónalo a través de la interfaz de usuario

Componentes

1. Proveedores de búsqueda

Los proveedores de búsqueda son responsables de realizar la búsqueda web inicial y devolver resultados relevantes.

Proveedores disponibles:

  • Serper: Una API de búsqueda de Google que proporciona resultados de búsqueda de alta calidad
  • SearXNG: Motor de búsqueda meta de código abierto y autohospedado
    • Autohospeda tu propia instancia
    • Resultados de búsqueda centrados en la privacidad
  • Tavily: API de búsqueda optimizada para IA
    • Obtén tu clave de API desde Tavily
    • Admite profundidad de búsqueda configurable, filtrado de temas, filtrado de dominios y más
    • También puede servir como proveedor de scraper

2. Scrapers

Los scrapers extraen el contenido real de las páginas web devueltas por el proveedor de búsqueda.

Scrapers disponibles:

  • Firecrawl: Un potente servicio de web scraping que extrae contenido de páginas web

    • Obtén tu clave de API en Firecrawl.dev
    • La API URL es opcional (por defecto utiliza el servicio alojado de Firecrawl)
  • Tavily: Extracción por lotes de URL a través de la API de Tavily Extract

    • Utiliza la misma TAVILY_API_KEY que el proveedor de búsqueda
    • Admite profundidad de extracción configurable, extracción de imágenes y extracción de favicon.

Scrapers planificados:

  • Local Firecrawl: Versión autohospedada de Firecrawl
  • Servicios de scraping de terceros adicionales

3. Rerankers

Los Rerankers analizan el contenido extraído para determinar las partes más relevantes y reordenarlas para obtener mejores resultados.

Rerankers disponibles:

  • Jina: Servicio de reranking impulsado por IA
    • Obtén tu clave de API en Jina.ai
    • La API URL es opcional (por defecto utiliza el servicio alojado de Jina)
  • Cohere: Servicio avanzado de reranking
  • None: Omite la reclasificación cuando rerankerType está configurado en "none"

Rerankers planificados:

  • RAG API: Reranking de código abierto utilizando RAG (Generación Aumentada por Recuperación)
  • Servicios de reordenamiento (reranking) de terceros adicionales

Configuración

Configuración de administrador

Los administradores pueden configurar la función de búsqueda web utilizando variables de entorno. La configuración YAML le permite especificar nombres de variables de entorno personalizados para cada componente.

⚠️ Importante: Nunca coloque claves de API reales o valores en el archivo YAML (no funcionarán); utilice únicamente nombres de variables de entorno.

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 configuración YAML solo debe contener nombres de variables de entorno (en el formato ${VARIABLE_NAME}). Esta flexibilidad permite:

  • Uso de diferentes nombres de variables en diferentes entornos
  • Admitir múltiples configuraciones para diferentes grupos de usuarios
  • Integración futura con configuraciones basadas en roles

Si desea restringir el sistema para que utilice solo servicios específicos, puede especificar los tipos de servicio:

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"

Configuración de usuario

Si el administrador no ha configurado todas las claves de API necesarias, se solicitará a los usuarios que las proporcionen a través de la interfaz de usuario. La interfaz permite a los usuarios:

  1. Elija su reranker preferido (Jina, Cohere o ninguno)
  2. Ingrese las API keys para los servicios requeridos
  3. Configure la URL de la API de Firecrawl si es necesario (opcional)
  4. Configure la URL de la API de Jina si es necesario (opcional)
  5. Configure las URLs de Tavily Search o Extract API si es necesario (opcional)

Uso

Una vez configurado, puedes usar la búsqueda web de dos maneras:

  1. Interfaz de chat: Haga clic en el botón de búsqueda web en la interfaz de chat para habilitar la búsqueda web para su conversación
  2. Agents: Utilice la capacidad web_search en los agents para permitirles realizar búsquedas en la web

Notas

  • La configuración del proveedor de búsqueda y del scraper es obligatoria; la reclasificación (reranking) puede desactivarse con rerankerType: "none"
  • La URL de la API de Firecrawl es opcional y utiliza el servicio alojado por defecto.
  • La URL de la API de Jina es opcional y utiliza el servicio alojado por defecto.
  • Las URLs de la API de búsqueda y extracción de Tavily son opcionales y utilizan por defecto los servicios alojados de Tavily.
  • La búsqueda segura ofrece tres niveles de filtrado de contenido: OFF (0), MODERATE (1 - predeterminado) y STRICT (2)
  • Tavily no hereda la configuración global safeSearch de forma predeterminada; utilice tavilySearchOptions.safeSearch solo si su cuenta de Tavily admite safe_search
  • El tiempo de espera del scraper está configurado en 7.5 segundos (7500ms) de forma predeterminada.
  • Las API keys pueden ser revocadas en cualquier momento a través de la UI
  • Las futuras actualizaciones incluirán más opciones de código abierto y autohospedadas para todos los componentes
  • Se planean opciones de personalización adicionales, incluyendo:
    • Control sobre el número de enlaces a extraer
    • Lista de permitidos/lista de bloqueados de dominios para scraping
    • Reglas y filtros de scraping personalizados
    • Opciones avanzadas de filtrado y clasificación de resultados
    • Controles de limitación de tasa y regulación de solicitudes

¿Qué te parece esta guía?