Pular para o conteúdo principal

Pesquisa na web

O Libre WebUI pode pesquisar na web e entregar os resultados aos seus modelos sem exigir uma conta de fornecedor do Libre WebUI nem a integração de uma API comercial de pesquisa. A pesquisa passa por uma instância do SearXNG escolhida pelo administrador. O SearXNG envia as consultas aos mecanismos públicos que agrega; esses mecanismos podem observar a solicitação proveniente da implantação do SearXNG e aplicar suas próprias políticas de logging, retenção e rede.

Como todos os recursos de uso duplo do Libre WebUI, ele é distribuído desativado. Um administrador o ativa uma vez; até então, nenhuma interface de pesquisa existe em parte alguma.

Como funciona

Há quatro componentes, e cada um fica invisível até que o anterior exista:

  1. Uma instância do SearXNG acessível pelo backend. A pilha integrada de implantação privada inclui uma; qualquer instância com a API JSON habilitada funciona.
  2. A configuração do administrador — Configurações > Conexões > Pesquisa (a aba é exclusiva para administradores). Defina a URL do SearXNG, ative Habilitar pesquisa na web e use Testar conexão para comprovar a configuração com uma consulta ao vivo.
  3. Quem pode usá-la — o cartão Pesquisa na web em Configurações → Gerenciamento de Usuários, ao lado dos controles de acesso ao Work e download de modelos. Desativado (o padrão) mantém a pesquisa exclusiva para administradores mesmo quando ela está habilitada; ativado permite o uso a todos os usuários ativos. O backend aplica essa regra a cada solicitação.
  4. Os controles por uso exibidos para usuários autorizados:
    • Recuperação no chat: um botão de globo no campo de composição. Quando ativado, o modelo da sessão planeja consultas direcionadas por palavras-chave com indicações opcionais de atualidade e categoria. Se o planejamento falhar, o Libre usa a mensagem original. Os resultados entram no prompt como contexto, e a resposta mostra etiquetas de fonte numeradas. Isso funciona com modelos sem suporte a chamadas de ferramentas.
    • Ferramentas de chat: modelos autorizados e compatíveis com ferramentas podem chamar a ferramenta integrada web_search quando as ferramentas estiverem habilitadas naquele turno.
    • Work: tarefas com acesso à rede habilitado recebem uma ferramenta web_search no ciclo do agente. O modelo decide quando chamá-la, como qualquer outra ferramenta. Tarefas offline (rede desabilitada) nunca veem a ferramenta, embora a solicitação de pesquisa saia do backend, não do sandbox.

Uma falha de pesquisa nunca faz o turno falhar: o modelo responde sem o contexto e a execução continua.

Configuração com a pilha integrada

deploy/private/docker-compose.yml já contém o serviço searxng: somente interno (nunca publicado no host), reforçado e previamente conectado ao aplicativo por meio de SEARXNG_URL=http://searxng:8080.

  1. Adicione um segredo a .env:

    SEARXNG_SECRET=any-long-random-value
  2. docker compose up -d.

  3. Como administrador: Configurações > Conexões > Pesquisa — a URL é preenchida previamente a partir do ambiente —, habilite a pesquisa e selecione Testar conexão.

Configuração com seu próprio SearXNG

Qualquer instância SearXNG acessível funciona, com um requisito: o formato JSON deve estar habilitado no arquivo settings.yml (a maioria das instâncias públicas o desabilita):

search:
formats:
- html
- json

Depois, cole sua URL base (por exemplo, http://127.0.0.1:8888 ou https://search.example.com) em Configurações > Conexões > Pesquisa.

Variáveis de ambiente

VariávelPadrãoFinalidade
SEARXNG_URLnão definidoPreenche previamente a URL nas configurações de Pesquisa; a habilitação ainda é uma ação administrativa

A própria configuração (habilitação + URL) é persistida no banco de dados, portanto sobrevive às reinicializações e entra em vigor imediatamente, sem nova implantação.

Privacidade e escopo

  • As pesquisas são executadas no servidor. Os navegadores nunca entram em contato direto com o SearXNG. O próprio Libre WebUI não precisa de uma conta de provedor de pesquisa, embora uma implantação SearXNG personalizada possa configurar mecanismos com credenciais próprias.
  • Os termos da pesquisa saem do processo do Libre WebUI para o SearXNG e depois para os mecanismos upstream selecionados. Auto-hospedar o gateway controla esse salto; por si só, isso não torna a pesquisa pública na web local nem anônima.
  • O texto dos resultados é limitado antes de chegar ao contexto do modelo (500 caracteres por resultado). Administradores escolhem um limite entre 1 e 100 resultados; o padrão é 6. Somente URLs de resultado http(s) são mantidas.
  • A instância integrada só pode ser acessada na rede interna da pilha. Seu limitador de taxa fica desativado por esse motivo; não a publique.

Solução de problemas

Não há globo no campo de composição / não há ferramenta web_search no Work. A pesquisa não está habilitada (Configurações > Conexões > Pesquisa) ou a conta não tem permissão: usuários comuns precisam que a opção Pesquisa na web esteja ativada em Configurações → Gerenciamento de Usuários.

O teste de conexão falha com HTTP 403. A instância não permite o formato JSON. Adicione json a search.formats no arquivo settings.yml (veja acima) e reinicie-a.

O teste de conexão não consegue acessar o serviço. A URL deve estar acessível pelo backend, não pelo navegador. Dentro da pilha integrada, ela é http://searxng:8080; localhost dentro de um contêiner é o próprio contêiner.

As respostas ignoram os resultados. O modelo ainda decide o que usar. Modelos pequenos seguem melhor o contexto injetado quando a pergunta é concreta; as fontes abaixo da resposta sempre mostram o que foi recuperado.