Sobre o projeto

O Local Deep Researcher é um assistente de pesquisa na web e redação de relatórios de código aberto e totalmente local, construído sobre o LangGraph. Ele é executado inteiramente na sua máquina usando qualquer LLM hospedado pelo Ollama ou LMStudio, sem exigir serviços de IA baseados na nuvem. **Como Funciona** O assistente segue um ciclo de pesquisa iterativo inspirado no artigo IterDRAG: 1. **Geração de Consulta**: Dado um tópico fornecido pelo usuário, um LLM local gera uma consulta de pesquisa na web. 2. **Pesquisa na Web**: Um mecanismo de busca configurável (DuckDuckGo por padrão, ou SearXNG, Tavily ou Perplexity) recupera fontes relevantes. 3. **Sumarização**: O LLM resume os resultados da pesquisa em relação ao tópico de pesquisa. 4. **Análise de Lacunas**: O LLM reflete sobre o resumo para identificar lacunas de conhecimento. 5. **Nova Consulta**: Uma nova consulta de pesquisa é gerada para abordar as lacunas identificadas. 6. **Iteração**: As etapas 2 a 5 se repetem por um número de ciclos definido pelo usuário (padrão: 3). O resultado final é um arquivo markdown contendo o resumo da pesquisa com citações de todas as fontes utilizadas. **Suporte a Modelos** - **Ollama**: Suporta qualquer modelo disponível na biblioteca do Ollama (por exemplo, DeepSeek R1, Llama 3.2). Configuração via variáveis de ambiente `OLLAMA_BASE_URL` e `LOCAL_LLM`. - **LMStudio**: Suporta modelos carregados no LMStudio com um servidor de API compatível com OpenAI. Configuração via `LMSTUDIO_BASE_URL` e `LOCAL_LLM`. - **Chamada de Ferramentas**: A partir de agosto de 2025, suporta chamada de ferramentas para modelos como gpt-oss que não suportam o modo JSON no Ollama. **Opções de Mecanismo de Busca** - **DuckDuckGo** (padrão): Não requer chave de API. - **SearXNG**: Mecanismo de metabusca auto-hospedado. - **Tavily**: Requer chave de API. - **Perplexity**: Requer chave de API. **Implantação** - **LangGraph Studio**: Inicie localmente com `langgraph dev` para uma interface interativa onde você pode configurar ajustes e visualizar o processo de pesquisa passo a passo. - **Docker**: Um Dockerfile é fornecido, mas o Ollama deve ser executado separadamente como um serviço dependente. - **Prioridade de Configuração**: Variáveis de ambiente > configuração da interface do LangGraph > valores padrão na classe Configuration. **Detalhes Técnicos** - Construído com LangGraph para fluxos de trabalho de agentes com estado e múltiplas etapas. - Usa `python-dotenv` para gerenciamento de variáveis de ambiente. - Inclui mecanismos de fallback para modelos que têm dificuldade com saída JSON estruturada (por exemplo, DeepSeek R1 7B e 1.5B). - Um port em TypeScript está disponível em um repositório separado. - Compatibilidade com navegadores: Firefox recomendado; o Safari pode encontrar avisos de conteúdo misto. **Casos de Uso** - Pesquisa aprofundada sobre qualquer tópico sem enviar dados para serviços de IA na nuvem. - Geração de relatórios de pesquisa com citações para uso pessoal ou profissional. - Exploração de tópicos iterativamente com estratégias de busca cientes de lacunas. - Aprender como funcionam os fluxos de trabalho de pesquisa com IA agêntica.