15 pontos por GN⁺ 2025-02-28 | 1 comentários | Compartilhar no WhatsApp
  • Implementa um agente de pesquisa no estilo Deep Research usando modelos e ferramentas open source (como Milvus, LangChain etc.)
  • Têm aumentado os casos de implementação de uma arquitetura de agente que realiza pesquisa aprofundada automática sobre um tema ou pergunta por meio de buscas na web e em documentos, escolhendo ações (busca, organização etc.) em cada etapa intermediária
  • O texto apresenta o projeto open source DeepSearcher, que expande essa ideia. São apresentados roteamento de consultas, fluxo de execução condicional e uso de ferramentas de web crawling, entre outros
  • O DeepSearcher é oferecido como biblioteca Python e CLI, permitindo receber documentos de várias fontes e ajustar facilmente, por arquivo, o modelo de embeddings e as configurações do banco vetorial
  • Embora simples, é um exemplo que demonstra RAG baseado em agentes e pode servir como base para o desenvolvimento de aplicações reais de IA
  • Destaca-se especialmente o problema de velocidade e eficiência dos modelos de raciocínio, já que o processo de consulta e busca exige a geração de muitos tokens, fazendo dos recursos de inferência um gargalo
  • Ao usar o modelo de raciocínio DeepSeek-R1, executado no hardware personalizado da SambaNova, a velocidade de geração de tokens por segundo fica acima da de serviços concorrentes
  • Com esses serviços de inferência em nuvem, também se torna possível obter inferência eficiente para diversos modelos, como Llama 3.x, Qwen2.5 e QwQ

Definição e detalhamento das perguntas

  • A consulta inicial do usuário é decomposta em subconsultas detalhadas
  • Como no texto anterior, uma consulta como "How has The Simpsons changed over time?" é dividida em várias subconsultas, como abaixo
    • Ex.: impacto cultural e social da obra, mudanças por temporada em personagens, humor e narrativa, mudanças em animação e técnicas de produção, mudanças na reação do público etc.
  • Nas etapas seguintes, se necessário, as perguntas também podem ser redefinidas ou expandidas

Pesquisa e análise

  • Com base nas subconsultas, o processo passa por etapas de roteamento de consultas, busca vetorial, reflection e repetição condicional
  • Roteamento de consultas
    • O prompt é estruturado para que o LLM decida qual coleção usar entre várias coleções de banco de dados
    • Recebe-se uma resposta em formato JSON para gerar consultas de busca para cada coleção
  • Busca vetorial
    • Executa busca por similaridade usando embeddings armazenados no Milvus
    • Como no texto anterior, os dados de origem são previamente divididos e vetorizados
  • Reflection
    • O LLM verifica, com base nas consultas e respostas da etapa anterior, se são necessárias informações adicionais
    • Se houver lacunas, gera novas subconsultas e tenta pesquisar novamente
  • Repetição condicional
    • Se o resultado da reflection indicar necessidade de consultas adicionais, o processo acima é repetido
    • Se concluir que não é mais necessário coletar informações, passa para a etapa de geração do relatório final

Geração do relatório final

  • O relatório é gerado reunindo todas as subconsultas e resultados de busca em um único prompt
  • Em comparação com a demonstração anterior, obtém-se um relatório com maior consistência e coesão
  • Por exemplo, o relatório final sobre “How has The Simpsons changed over time?” fornece detalhes em uma estrutura como a abaixo
      1. Impacto cultural e relevância social
      1. Evolução de personagens, humor e enredo
      1. Mudanças na animação e na parte técnica
      1. Mudanças no perfil do público, nas reações e na audiência
    • Conclusão: o processo pelo qual a obra passou de uma sátira rebelde em seus primeiros anos a um ícone popular, entre outros pontos
  • É possível comparar a versão do relatório gerada com o modelo DeepSeek-R1 com a versão gerada pelo modelo GPT-4o mini

Direções futuras

  • O DeepSearcher ainda está em um nível simples, mas pode evoluir mais com composição adicional de agentes, estruturação de relatórios e expansão da repetição condicional, entre outros
  • Modelos de raciocínio em grande escala envolvem operações extremamente pesadas, então velocidade de inferência e custo se tornam questões centrais do serviço
  • Usando o modelo DeepSeek-R1 da SambaNova, foram feitas 65 chamadas de inferência, com cerca de 25k tokens de entrada e 22k tokens de saída, obtendo-se uma resposta suficientemente rápida a um custo de aproximadamente US$ 0,30
  • É possível experimentar o projeto diretamente no repositório do DeepSearcher, e há planos de continuar compartilhando novos recursos e casos de uso

1 comentários

 
GN⁺ 2025-02-28
Opiniões no Hacker News
  • Este sistema não usa um LLM local, então não é um sistema realmente local

    • Fico curioso se existe algum pesquisador profundo que possa usar LLMs locais hospedados por Ollama e LM Studio
  • Fico curioso sobre a comparação com a versão open source do HuggingFace

    • A versão da HF usa um LLM de raciocínio que navega na web, coleta os resultados, avalia e então sintetiza o resultado final
    • Esta versão parece mostrar um armazenamento vetorial dos documentos gerados pelo rastreamento da web
  • A mágica da implementação do Grok parece vir principalmente do fato de ele manter em cache a maior parte dos sites, então parece muito rápido

    • As buscas do Bing/Brave não parecem oferecer essa funcionalidade
    • Fico curioso se existe algum serviço assim
  • Gosto das várias abordagens para Deep Research

    • Estou usando Flow para experimentar novos fluxos de trabalho
  • Há dois posts de blog relacionados

    • Compartilham a experiência de construir Deep Research usando open source
  • Como as principais empresas de IA fizeram o mesmo produto de Deep Research, provavelmente faz sentido focar em uma plataforma open source compartilhada

  • Fico curioso sobre o significado prático da integração com rastreamento da web

    • Em teoria, isso poderia ser usado para ler artigos no Sci-Hub e gerar uma pesquisa válida em nível de pós-graduação
    • Pode ser útil para comparar relatórios escritos com DeepSeek R1, GPT-4o e outros modelos grandes
    • O código open source pode expor mais rapidamente os limites de vários LLMs e ajudar no desenvolvimento de loops de raciocínio melhores para necessidades específicas
  • Eu estava procurando uma ferramenta de Deep Research que pudesse se conectar às minhas notas pessoais (Obsidian) e à web

    • Parece que esta ferramenta tem essa funcionalidade
    • Agora só falta descobrir como exportar os resultados do Deep Research para o Obsidian
  • De fato testei e encontrei alguns problemas, então precisei substituir os embeddings de texto da openAI por MilvusEmbedding

    • A resposta do QuickStart foi boa
  • A verdadeira bala de prata é pesquisar no lib-gen e no sci-hub