Introdução geral
O Shandu é um sistema de pesquisa de código aberto baseado em IA hospedado no GitHub e criado pelo desenvolvedor jolovicdev. Ele utiliza LangChain e LangGraph projetada para oferecer aos usuários recursos automatizados, abrangentes e eficientes de pesquisa de assuntos. Diferentemente das ferramentas tradicionais de pesquisa única, o Shandu é capaz de aprofundar as informações por meio de exploração recursiva e processamento paralelo, além de oferecer suporte a operações de linha de comando (CLI) e interface Python. Seja para pesquisa acadêmica, descoberta de tecnologia ou análise de mercado, o Shandu pode ser usado para organizar rapidamente dados complexos e possui funcionalidade integrada de rastreamento da Web para garantir o acesso ético a uma ampla variedade de fontes. O projeto serve como uma alternativa ao OpenAI DeepResearch, com ênfase em ser leve, gratuito e administrado localmente para desenvolvedores e pesquisadores.
Lista de funções
- Estudo aprofundado da automaçãoCom base nas consultas inseridas pelo usuário, o sistema executa automaticamente a mineração de informações em vários níveis para gerar relatórios de pesquisa abrangentes.
- Exploração recursivaAmpliar progressivamente o estudo por meio de pesquisa e análise iterativas para extrair informações de correlação ocultas.
- processamento paraleloSuporte a operações multi-threaded para obter dados de várias fontes ao mesmo tempo para aumentar a eficiência.
- rastreador da webRastreador integrado que extrai o conteúdo da página e oferece suporte a sites com muito JavaScript renderizados dinamicamente.
- Pesquisa em vários mecanismosIntegração do Google, do DuckDuckGo e de outros mecanismos de pesquisa para obter diversos resultados.
- Pesquisa com base em IAPesquisa de IA: fornece uma função de pesquisa de IA leve (aisearch) para responder rapidamente a perguntas simples.
- Geração de relatóriosOrganize os resultados da pesquisa em arquivos no formato Markdown para facilitar a leitura e o compartilhamento.
- Configuração flexívelSuporte para ajustar a profundidade, a amplitude e o número de resultados da pesquisa para atender a diferentes necessidades.
Usando a Ajuda
Processo de instalação
O Shandu é um projeto de código aberto baseado em Python que precisa ser instalado e configurado no ambiente local para ser usado. Veja a seguir as etapas detalhadas de instalação:
- Preparação ambiental
- Certifique-se de ter o Python 3.8 ou superior instalado em seu dispositivo. Isso pode ser feito com o comando
python --versão
Verifique a versão. - Instale a ferramenta Git para clonar o código do projeto do GitHub, que pode ser baixada do site do Git para usuários do Windows ou instalada por meio do gerenciador de pacotes para usuários do Linux/Mac (por exemplo
sudo apt install git
).
- Certifique-se de ter o Python 3.8 ou superior instalado em seu dispositivo. Isso pode ser feito com o comando
- projeto de clonagem
- Abra um terminal (CMD ou PowerShell para Windows, Terminal para Mac/Linux).
- Digite o seguinte comando para clonar o repositório Shandu:
git clone https://github.com/jolovicdev/shandu.git
- Vá para o catálogo de projetos:
cd shandu
- Instalação de dependências
- Use o pip para instalar as bibliotecas Python necessárias para o projeto:
pip install -e .
- Se você encontrar problemas de dependência, tente atualizar o pip (
pip install --upgrade pip
) ou usar um ambiente virtual:python -m venv venv source venv/bin/activate # Linux/Mac venv\Scripts\activate # Windows pip install -e .
- Use o pip para instalar as bibliotecas Python necessárias para o projeto:
- Configuração da API
- Shandu precisa configurar uma chave de API para chamar serviços externos (como um mecanismo de pesquisa). Execute o seguinte comando para entrar no modo de configuração:
shandu configure
- Digite a chave da API (por exemplo, API do Google, API do DuckDuckGo) quando solicitado. Os desenvolvedores podem consultar a seçãoEstúdio NebiusObtenha uma chave gratuita para teste.
- Shandu precisa configurar uma chave de API para chamar serviços externos (como um mecanismo de pesquisa). Execute o seguinte comando para entrar no modo de configuração:
- Verificar a instalação
- importação
shandu --help
Se a mensagem de ajuda do comando for retornada, a instalação foi bem-sucedida.
- importação
Função Fluxo de operação
1. realizar um estudo aprofundado (comando de pesquisa)
Esse é o principal recurso do Shandu para automatizar a pesquisa sobre tópicos complexos.
- procedimento::
- Digite o comando de pesquisa no terminal, por exemplo:
shandu research "Trends in Cloud Computing" --depth 2 --breadth 4 --output report.md
--Profundidade 2
Exploração recursiva: Defina a profundidade do estudo para 2 níveis (exploração recursiva 2 vezes).---Largura 4
Expandir 4 tópicos relacionados por exploração.--output report.md
Salvar o resultado como um arquivo Markdown.
- O sistema inicia automaticamente uma pesquisa e análise, um processo que pode levar alguns minutos (dependendo da complexidade da rede e do assunto).
3 Quando terminar, abra orelatório.md
Veja o relatório da pesquisa, que inclui uma visão geral do tópico, principais descobertas e links de referência.
- Digite o comando de pesquisa no terminal, por exemplo:
- Cenários de uso: Adequado para pesquisas acadêmicas ou estudos técnicos que exijam informações abrangentes, como "AI in Healthcare".
2. pesquisa rápida de IA (comando aisearch)
Use para responder a perguntas simples ou obter respostas instantâneas.
- procedimento::
- Digite um comando de pesquisa rápida, por exemplo:
shandu aisearch "Quem é o atual presidente dos Estados Unidos?" --detalhado
-detalhado
Resposta: Devolva respostas detalhadas em vez de respostas curtas.
- O sistema chamará o modelo de IA para retornar resultados como: "Em 3 de março de 2025, o presidente dos Estados Unidos é Donald Trump, que inicia seu segundo mandato em 20 de janeiro de 2025."
- Digite um comando de pesquisa rápida, por exemplo:
- Cenários de usoIdeal para acesso rápido a fatos, como eventos históricos, informações sobre pessoas, etc.
3. raspagem de páginas da Web (comando scrape)
Usado para extrair conteúdo de uma página da Web específica.
- procedimento::
- Digite o comando de captura, por exemplo:
shandu scrape "https://example.com" --dynamic
--dinâmico
Renderização dinâmica: habilita a renderização dinâmica para sites orientados por JavaScript.
- O sistema retorna o conteúdo do texto extraído, que pode ser salvo em um arquivo por meio de um pipe:
shandu scrape "https://example.com" --dynamic > output.txt
- Digite o comando de captura, por exemplo:
- Cenários de usoAnálise do conteúdo de páginas de notícias, blogs técnicos ou sites oficiais de produtos.
4. configurar o mecanismo de pesquisa
Os usuários podem personalizar as fontes de pesquisa para otimizar os resultados.
- procedimento::
- Digite o comando para especificar um mecanismo de pesquisa:
shandu search "artificial intelligence ethics" --engines "google,duckduckgo" --max-results 15
--motores
Especificar pesquisas do Google e do DuckDuckGo.--max-results 15
Limitar o número de resultados retornados a 15.
- Visualizar uma lista de resultados de pesquisa retornados que podem ser usados para pesquisas aprofundadas subsequentes.
- Digite o comando para especificar um mecanismo de pesquisa:
- Cenários de usoAcesso a diversas fontes de informação e prevenção de preconceitos de um único motor.
advertência
- requisito de redeShandu: O Shandu depende de uma conexão com a Internet para garantir uma rede estável em tempo de execução.
- Conformidade éticaCumpra as regras do robots.txt do site de destino ao rastrear páginas da Web para evitar solicitações frequentes que levem ao bloqueio de IP.
- otimização do desempenhoEstudos complexos podem ocupar mais memória e recomenda-se que sejam executados em dispositivos com configurações mais altas (por exemplo, mais de 8 GB de RAM).
- Problemas de depuraçãoSe encontrar um erro, você poderá visualizar o registro (salvo por padrão como
shandu.log
) ou enviar um problema no GitHub.