Shandu: una herramienta de automatización de la investigación con IA para recopilar y analizar información en múltiples rondas

Introducción general

Shandu es un sistema de investigación basado en IA de código abierto alojado en GitHub y creado por el desarrollador jolovicdev. Utiliza LangChain y LangGraph diseñada para ofrecer a los usuarios una capacidad de investigación automatizada, exhaustiva y eficaz. A diferencia de las herramientas tradicionales de búsqueda única, Shandu es capaz de profundizar en la información mediante la exploración recursiva y el procesamiento paralelo, y admite operaciones de línea de comandos (CLI) e interfaz Python. Ya sea para investigación académica, descubrimiento de tecnologías o análisis de mercado, Shandu puede utilizarse para organizar rápidamente datos complejos, y tiene incorporada la función de rastreo web para garantizar el acceso ético a una amplia gama de fuentes. El proyecto es una alternativa a OpenAI DeepResearch, con especial énfasis en la ligereza, la gratuidad y la gestión local para desarrolladores e investigadores.

Shandu:多轮收集分析信息的AI研究自动化工具

 

Lista de funciones

  • Estudio en profundidad de la automatizaciónEl sistema: a partir de las consultas introducidas por el usuario, el sistema realiza automáticamente una extracción de información a varios niveles para generar informes de investigación exhaustivos.
  • Exploración recursiva: Amplíe progresivamente el estudio mediante la búsqueda y el análisis iterativos para descubrir información de correlación oculta.
  • procesamiento paralelo: Admite operaciones multihilo para obtener datos de varias fuentes al mismo tiempo y mejorar así la eficacia.
  • rastreador webRastreador integrado que extrae el contenido de las páginas y admite sitios web con JavaScript dinámico.
  • Búsqueda multimotorIntegra Google, DuckDuckGo y otros motores de búsqueda para obtener diversos resultados.
  • Búsqueda con IA: Proporciona una función de búsqueda AI ligera (aisearch) para responder rápidamente a preguntas sencillas.
  • Generación de informesOrganiza los resultados de la investigación en archivos con formato Markdown para facilitar la lectura y el intercambio.
  • Configuración flexibleSoporte para ajustar la profundidad de búsqueda, la amplitud y el número de resultados para satisfacer diferentes necesidades.

 

Utilizar la ayuda

Proceso de instalación

Shandu es un proyecto de código abierto basado en Python que necesita ser instalado y configurado en el entorno local para ser utilizado. A continuación se detallan los pasos de instalación:

  1. Preparación medioambiental
    • Asegúrate de que tienes Python 3.8 o superior instalado en tu dispositivo. Esto se puede hacer con el comando python --version Comprueba la versión.
    • Instale la herramienta Git para clonar el código del proyecto desde GitHub, que puede descargarse del sitio web de Git para los usuarios de Windows, o instalarse a través del gestor de paquetes para los usuarios de Linux/Mac (p. ej. sudo apt install git).
  2. proyecto de clonación
    • Abra un terminal (CMD o PowerShell para Windows, Terminal para Mac/Linux).
    • Introduzca el siguiente comando para clonar el repositorio Shandu:
      git clone https://github.com/jolovicdev/shandu.git
      
    • Vaya al catálogo de proyectos:
      cd shandu
      
  3. Instalación de dependencias
    • Utilice pip para instalar las bibliotecas Python necesarias para el proyecto:
      pip install -e .
      
    • Si encuentra problemas de dependencia, intente actualizar pip (pip install --upgrade pip) o utilizar un entorno virtual:
      python -m venv venv  
      source venv/bin/activate  # Linux/Mac  
      venv\Scripts\activate     # Windows  
      pip install -e .
      
  4. Configuración de la API
    • Shandu necesita configurar una clave API para llamar a servicios externos (como un motor de búsqueda). Ejecute el siguiente comando para entrar en el modo de configuración:
      shandu configure
      
    • Introduce la clave API (por ejemplo, Google API, DuckDuckGo API) cuando se te solicite. Los desarrolladores pueden consultar laEstudio NebiusObtenga una clave gratuita para realizar pruebas.
  5. Verificar la instalación
    • importación shandu --helpsi se devuelve el mensaje de ayuda del comando, la instalación se ha realizado correctamente.

Función Flujo de operaciones

1. Realizar un estudio en profundidad (comando de investigación)

Esta es la función principal de Shandu para automatizar la investigación sobre temas complejos.

  • procedimiento::
    1. Introduzca el comando de investigación en el terminal, por ejemplo:
      shandu research "云计算的发展趋势" --depth 2 --breadth 4 --output report.md
      
      • --depth 2: Establezca la profundidad del estudio en 2 niveles (exploración recursiva 2 veces).
      • --breadth 4: Ampliar 4 temas relacionados por exploración.
      • --output report.md: Guarda el resultado como un archivo Markdown.
    2. El sistema inicia automáticamente una búsqueda y un análisis, un proceso que puede durar unos minutos (dependiendo de la red y de la complejidad del tema).
      3. Cuando haya terminado, abra elreport.mdConsulte el informe de investigación, que incluye una visión general del tema, las principales conclusiones y enlaces de referencia.
  • Escenarios de uso:: Adecuado para investigaciones académicas o estudios técnicos que requieran información exhaustiva, como "AI in Healthcare".

2. Búsqueda rápida de IA (comando aisearch)

Utilízalo para responder a preguntas sencillas u obtener respuestas instantáneas.

  • procedimiento::
    1. Introduzca un comando de búsqueda rápida, por ejemplo:
      shandu aisearch "当前美国的总统是谁?" --detailed
      
      • --detailedResponde con más detalle que con respuestas cortas.
    2. El sistema llamará al modelo de IA para que devuelva resultados como "A 3 de marzo de 2025, el Presidente de Estados Unidos es Donald Trump, que inicia su segundo mandato el 20 de enero de 2025".
  • Escenarios de uso: Ideal para acceder rápidamente a hechos, como acontecimientos históricos, información sobre personas, etc.

3. Raspado de páginas web (comando scrape)

Se utiliza para extraer el contenido de una página web específica.

  • procedimiento::
    1. Introduzca el comando de captura, por ejemplo:
      shandu scrape "https://example.com" --dynamic
      
      • --dynamicHabilita el renderizado dinámico para sitios web basados en JavaScript.
    2. El sistema devuelve el contenido del texto extraído, que puede guardarse en un archivo a través de una tubería:
      shandu scrape "https://example.com" --dynamic > output.txt
      
  • Escenarios de uso: Analice el contenido de páginas de noticias, blogs técnicos o sitios web oficiales de productos.

4. Configuración del motor de búsqueda

Los usuarios pueden personalizar las fuentes de búsqueda para optimizar los resultados.

  • procedimiento::
    1. Introduzca el comando para especificar un motor de búsqueda:
      shandu search "人工智能伦理" --engines "google,duckduckgo" --max-results 15
      
      • --enginesEspecificar búsquedas en Google y DuckDuckGo.
      • --max-results 15Limita el número de resultados a 15.
    2. Ver una lista de los resultados de la búsqueda que se pueden utilizar para una posterior investigación en profundidad.
  • Escenarios de uso: Acceso a diversas fuentes de información y evitación del sesgo monomotor.

advertencia

  • requisitos de la redShandu depende de una conexión a Internet para garantizar una red estable en tiempo de ejecución.
  • Cumplimiento éticoCumpla las reglas robots.txt del sitio de destino cuando rastree páginas web para evitar que las solicitudes frecuentes provoquen el bloqueo de la IP.
  • optimización del rendimientoLos estudios complejos pueden ocupar más memoria y se recomienda ejecutarlos en dispositivos con configuraciones superiores (por ejemplo, 8 GB+ RAM).
  • Problemas de depuraciónSi se encuentra con un error, puede ver el registro (guardado por defecto comoshandu.log) o envíe una incidencia a GitHub.
© declaración de copyright

Artículos relacionados

Sin comentarios

Debe iniciar sesión para participar en los comentarios.
Acceder ahora
ninguno
Sin comentarios...