Agente de IA "Pesquisa no Fórum": configuração de busca semântica e embeddings

O que foi feito

Criado o agente AI “Pesquisa no Fórum” (ID=5) para busca semântica de materiais do fórum discuss.rabkesov.ru, com capacidade de enriquecimento de resultados via internet.

Agente

Ferramentas

Ferramenta Finalidade Parâmetros
Search Busca semântica + por palavras-chave max_results=20, search_private=true
Read Leitura do conteúdo completo dos tópicos read_private=true
Researcher Análise profunda/síntese por múltiplos tópicos max_results=10, LLM=qwen3-VL-8b
WebBrowser Visualização de páginas web (para enriquecimento web) -

Comportamento

  1. Para cada consulta, busca apenas dentro do fórum (Search + Read + Researcher).
  2. Cada fato é citado com link para o tópico/post.
  3. No final da resposta, pergunta: “Deseja enriquecer os resultados com informações da internet?”
  4. Ao confirmar, utiliza WebBrowser para navegar em sites prioritários:
  5. Responde na língua da pergunta.

Como usar

  • Mencionar @Pesquisa_no_Forum_bot em qualquer tópico.
  • Enviar mensagem privada para o bot.
  • Através de Conversas do Bot AI

Substituição da modelo de embeddings: nomic v1.5 → v2-moe

Problema

A modelo nomic-embed-text-v1.5 agrupa textos por idioma, e não por significado. Teste:

Par Similaridade cosseno
RU “configuração vLLM” ←→ EN “vLLM config” (mesma temática) 0.634
RU “configuração vLLM” ←→ RU “receita de borscht” (temáticas diferentes) 0.650
Gap (separação por significado) -0.016

O texto em russo sobre vLLM está mais próximo do texto em russo sobre receita de borscht do que do texto em inglês sobre vLLM. A busca semântica em fórum russo com essa modelo funcionava incorretamente.

Solução

Substituído por nomic-embed-text-v2-moe (MoE, 8x277M, 512 MB Q8_0, 100+ idiomas). Resultado:

Par v1.5 v2-moe
RU “vLLM” ←→ EN “vLLM” (mesma temática) 0.634 0.924
RU “vLLM” ←→ RU “borscht” (temáticas diferentes) 0.650 0.163
Gap -0.016 +0.761

Configurações de embeddings (finais)

Parâmetro Valor
ai_embeddings_enabled true
ai_embeddings_selected_model 12 (nomic-embed-text-v2-moe)
ai_embeddings_semantic_search_enabled true
ai_embeddings_semantic_search_use_hyde true
ai_embeddings_semantic_search_hyde_agent -32 (“Autor do conteúdo”)
ai_embeddings_semantic_quick_search_enabled true

A modelo nomic-embed-text-v2-moe deve ser carregada constantemente no LM Studio (~488 MB VRAM). O backfill de embeddings é iniciado automaticamente pelo Sidekiq após a mudança de modelo.

Limitação: pesquisa na web

A ferramenta Google (pesquisa web completa) não está disponível — ai_google_custom_search_api_key não está configurado. O agente utiliza WebBrowser para navegar em URLs específicas. Para pesquisa completa na internet, é necessário:

Logs do servidor LLM

Caminho: ~/.lmstudio/server-logs/YYYY-MM/YYYY-MM-DD.N.log

  • Rotação mensal em pastas, dentro por dias
  • N - número da rotação do dia
  • Exemplo: ~/.lmstudio/server-logs/2026-03/2026-03-30.1.log