Pesquisa na Web
O recurso de pesquisa na web do LibreChat permite que você pesquise na internet e recupere informações relevantes para aprimorar suas conversas. O recurso consiste em três componentes principais que trabalham juntos para fornecer resultados de pesquisa abrangentes.
Início Rápido
Para começar com a pesquisa na web, você precisará configurar chaves de API para um provedor de pesquisa e um scraper. O reranking pode usar Jina ou Cohere, ou ser desativado com rerankerType: "none". Você pode fazer isso de duas maneiras:
-
Variáveis de Ambiente (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 -
Interface do Usuário (Se as variáveis de ambiente não estiverem definidas):
- Os usuários serão solicitados a inserir as chaves de API necessárias quando utilizarem o recurso de pesquisa na web pela primeira vez.
- Eles podem escolher qual provedor de pesquisa (Serper, SearXNG ou Tavily) e qual serviço de reranker usar (Jina, Cohere ou nenhum)
Obtendo Chaves de API
Cada serviço externo habilitado requer sua própria chave de API. Veja como obtê-las:
Provedores de Pesquisa
Serper
- Visite o Serper.dev
- Crie uma conta
- Navegue até a seção API Key
- Copie sua chave de API
- Defina-o em suas variáveis de ambiente ou forneça-o através da UI
SearXNG
- Siga as instruções de configuração na documentação de Configuração de Pesquisa na Web
- Defina
SEARXNG_INSTANCE_URLpara a URL da sua instância - Opcionalmente, defina
SEARXNG_API_KEYse sua instância exigir autenticação
Tavily
- Visite o Tavily
- Crie uma conta
- Copie sua chave de API
- Defina
TAVILY_API_KEYem suas variáveis de ambiente ou forneça-a através da UI - O Tavily pode ser usado tanto como um provedor de pesquisa quanto como um provedor de scraper.
Scraper: Firecrawl
- Visite Firecrawl.dev
- Crie uma conta
- Navegue até a seção API Key
- Copie sua chave de API
- Defina-o em suas variáveis de ambiente ou forneça-o através da UI
- (Opcional) Se você estiver usando uma instância personalizada do Firecrawl, você também precisará definir a API URL
Rerankers
Jina
- Visite a Jina.ai
- Crie uma conta
- Navegue até o API Dashboard
- Copie sua chave de API
- Defina-o em suas variáveis de ambiente ou forneça-o através da UI
Cohere
- Visite o Cohere Dashboard
- Crie uma conta
- Navegue até a seção API Keys
- Copie sua chave de API
- Defina-o em suas variáveis de ambiente ou forneça-o através da UI
Componentes
1. Provedores de Pesquisa
Os provedores de pesquisa são responsáveis por realizar a pesquisa inicial na web e retornar resultados relevantes.
Provedores Disponíveis:
- Serper: Uma API de pesquisa do Google que fornece resultados de busca de alta qualidade
- Obtenha sua chave de API em Serper.dev
- SearXNG: Mecanismo de meta-pesquisa de código aberto e auto-hospedado
- Auto-hospede sua própria instância
- Resultados de pesquisa com foco em privacidade
- Tavily: API de busca otimizada para IA
- Obtenha sua chave de API no Tavily
- Suporta profundidade de pesquisa configurável, filtragem de tópicos, filtragem de domínios e muito mais
- Também pode servir como um provedor de scraper
2. Scrapers
Scrapers extraem o conteúdo real de páginas da web retornadas pelo provedor de pesquisa.
Scrapers Disponíveis:
-
Firecrawl: Um serviço de web scraping poderoso que extrai conteúdo de páginas da web
- Obtenha sua chave de API em Firecrawl.dev
- A API URL é opcional (o padrão é o serviço hospedado do Firecrawl)
-
Tavily: Extração em lote de URLs via Tavily Extract API
- Usa a mesma
TAVILY_API_KEYque o provedor de busca - Suporta profundidade de extração configurável, extração de imagens e extração de favicon
- Usa a mesma
Scrapers planejados:
- Local Firecrawl: Versão auto-hospedada do Firecrawl
- Serviços adicionais de scraping de terceiros
3. Rerankers
Rerankers analisam o conteúdo extraído para determinar as partes mais relevantes e reordená-las para obter melhores resultados.
Rerankers Disponíveis:
- Jina: Serviço de reranking baseado em IA
- Obtenha sua chave de API em Jina.ai
- A API URL é opcional (o padrão é o serviço hospedado da Jina)
- Cohere: Serviço avançado de reranking
- Obtenha sua chave de API no Cohere Dashboard
- None: Pula o reranking quando
rerankerTypeestá definido como"none"
Rerankers Planejados:
- RAG API: Reranking de código aberto usando RAG (Retrieval-Augmented Generation)
- Serviços adicionais de reranking de terceiros
Configuração
Configuração de Administrador
Admins podem configurar o recurso de pesquisa na web usando variáveis de ambiente. A configuração YAML permite que você especifique nomes personalizados de variáveis de ambiente para cada componente.
⚠️ Importante: Nunca coloque chaves de API ou valores reais no arquivo YAML (eles não funcionarão) - use apenas nomes de variáveis de 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: A configuração YAML deve conter apenas nomes de variáveis de ambiente (no formato ${VARIABLE_NAME}). Essa flexibilidade permite:
- Usando nomes de variáveis diferentes em ambientes diferentes
- Suporte a múltiplas configurações para diferentes grupos de usuários
- Integração futura com configurações baseadas em funções
Se você deseja restringir o sistema para usar apenas serviços específicos, você pode especificar os tipos de serviço:
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"Configuração do Usuário
Se o administrador não tiver configurado todas as chaves de API necessárias, os usuários serão solicitados a fornecê-las através da interface. A interface permite que os usuários:
- Escolha o reranker preferido deles (Jina, Cohere ou nenhum)
- Insira as chaves de API para os serviços necessários
- Configure a URL da API do Firecrawl se necessário (opcional)
- Configure a URL da API Jina, se necessário (opcional)
- Configure as URLs da Tavily Search ou Extract API, se necessário (opcional)
Uso
Uma vez configurado, você pode usar a pesquisa na web de duas maneiras:
- Interface de Chat: Clique no botão de pesquisa na web na interface de chat para habilitar a pesquisa na web para sua conversa
- Agents: Use a capacidade
web_searchem agentes para permitir que eles pesquisem na web
Notas
- A configuração do provedor de busca e do scraper é necessária; o reranking pode ser desativado com
rerankerType: "none" - A URL da API do Firecrawl é opcional e utiliza o serviço hospedado deles por padrão.
- A URL da API Jina é opcional e utiliza o serviço hospedado deles por padrão.
- As URLs da API Tavily Search and Extract são opcionais e usam como padrão os serviços hospedados da Tavily
- O Safe search oferece três níveis de filtragem de conteúdo: OFF (0), MODERATE (1 - padrão) e STRICT (2)
- O Tavily não herda a configuração global
safeSearchpor padrão; usetavilySearchOptions.safeSearchapenas se a sua conta Tavily oferecer suporte asafe_search - O tempo limite do scraper é definido como 7,5 segundos (7500ms) por padrão
- As chaves de API podem ser revogadas a qualquer momento através da UI
- Atualizações futuras incluirão mais opções de código aberto e auto-hospedadas para todos os componentes
- Opções adicionais de personalização estão planejadas, incluindo:
- Controle sobre o número de links a serem extraídos
- Lista de permissões/lista de bloqueio de domínios para scraping
- Regras e filtros de scraping personalizados
- Opções avançadas de filtragem e classificação de resultados
- Controles de limitação de taxa (rate limiting) e estrangulamento de requisições (request throttling)
Como está este guia?