- 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
-
- Impacto cultural e relevância social
-
- Evolução de personagens, humor e enredo
-
- Mudanças na animação e na parte técnica
-
- 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
Opiniões no Hacker News
Este sistema não usa um LLM local, então não é um sistema realmente local
Fico curioso sobre a comparação com a versão open source do HuggingFace
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
Gosto das várias abordagens para Deep Research
Há dois posts de blog relacionados
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
Eu estava procurando uma ferramenta de Deep Research que pudesse se conectar às minhas notas pessoais (Obsidian) e à web
De fato testei e encontrei alguns problemas, então precisei substituir os embeddings de texto da openAI por MilvusEmbedding
A verdadeira bala de prata é pesquisar no lib-gen e no sci-hub