DeepResearcher: IA motriz basada en el aprendizaje por refuerzo para estudiar problemas complejos

Introducción general

DeepResearcher es un proyecto de código abierto desarrollado por el equipo GAIR-NLP de la Universidad Jiao Tong de Shanghai. Se trata de una herramienta de investigación inteligente basada en grandes modelos lingüísticos (LLM), entrenados de principio a fin en un entorno de red real mediante aprendizaje por refuerzo (RL). El objetivo del proyecto es ayudar a los usuarios a realizar con eficacia tareas de investigación complejas. DeepResearcher es compatible con 7B modelos paramétricos y se ha desarrollado en código abierto en Hugging Face. El código está disponible en GitHub y es apto para investigadores, estudiantes y entusiastas de la tecnología.

DeepResearcher:基于强化学习驱动AI研究复杂问题DeepResearcher:基于强化学习驱动AI研究复杂问题

 

Lista de funciones

  • Investigación sobre automatizaciónCuando se introduce una pregunta, se busca automáticamente en Internet y se recopila la información pertinente.
  • autenticación entre fuentesComprobación de datos de múltiples fuentes (por ejemplo, Google, Bing) para garantizar la fiabilidad de los resultados.
  • Ajustes autorreflexivosAutoevaluación basada en los resultados de la búsqueda y reorientación de la investigación para mejorar la precisión.
  • Desarrollo de un programa de investigación: Genere automáticamente pasos de investigación cuando se trate de problemas complejos.
  • Sé honesto.: Las limitaciones se indican directamente cuando no se encuentra una respuesta clara.
  • Compatibilidad con modelos de código abiertoModelo paramétrico 7B: Se proporciona un modelo paramétrico 7B que el usuario puede descargar y personalizar.

 

Utilizar la ayuda

La instalación y el uso de DeepResearcher requieren un cierto nivel de conocimientos técnicos, pero la documentación oficial proporciona directrices claras. A continuación se detallan los pasos para ayudar a los usuarios a empezar rápidamente.

Proceso de instalación

  1. Repositorio de código clonado
    Ejecute el siguiente comando en el terminal para descargar el proyecto localmente:
git clone https://github.com/GAIR-NLP/DeepResearcher.git

Vaya al catálogo de proyectos:

cd DeepResearcher
  1. Creación de un entorno virtual
    Utiliza conda para crear un entorno Python independiente y evitar conflictos de dependencias:
conda create -n deepresearcher python=3.10

Activar el entorno:

conda activate deepresearcher
  1. Instalación de dependencias básicas
    Instala PyTorch y otras librerías necesarias ejecutando los siguientes comandos en secuencia desde el directorio raíz del proyecto:
pip3 install torch==2.4.0 --index-url https://download.pytorch.org/whl/cu124
pip3 install flash-attn --no-build-isolation
cd verl
pip3 install -e .
cd ../
pip3 install -r requirements.txt

Estos pasos garantizan que se dispone del entorno de base necesario para que el modelo funcione.

  1. Verificar la instalación
    Introduzca el siguiente comando para comprobar si PyTorch está instalado correctamente:
python -c "import torch; print(torch.__version__)"

Si aparece el número de versión (por ejemplo, 2.4.0), la instalación se ha realizado correctamente.

Configuración y puesta en marcha

DeepResearcher utiliza el marco Ray para el entrenamiento y la inferencia, y también requiere la configuración del servicio de búsqueda. He aquí cómo hacerlo.

Iniciar el servicio Ray

  1. Establecer la clasificación de los nodos
    Introduzca el siguiente comando en el terminal para establecer el número de nodo (esto es necesario incluso si sólo hay una máquina):
export PET_NODE_RANK=0
ray start --head
  1. Configuración de los servicios de búsqueda
  • espectáculo (una entrada) ./scrl/handler/config.yamlSi desea modificar la clave API de búsqueda, puede hacerlo pulsando el botón "Clave API de búsqueda":
    • Utilizando la API Serper: rellene los campos serper_api_key.
    • Utilizar Azure Bing: rellenar azure_bing_search_subscription_key y establece search_engine para Bing.
  • compilador ./scrl/handler/server_handler.pySi quieres añadir una clave API de Qwen-Plus, añade la clave API de Qwen-Plus:
    client = OpenAI(
    api_key="sk-xxx",
    base_url="xxxx"
    )
    
  1. Puesta en marcha del procesador de servicios
    Se ejecuta en el terminal:
python ./scrl/handler/server_handler.py

Una vez iniciado el servicio, registre la dirección del servicio y actualice el ./scrl/handler/config.yaml ha dado en el clavo server_url_list.

  1. Funcionamiento del procesador principal
    Se ejecuta en el host de formación:
python ./scrl/handler/handler.py

Modelos de formación

  1. Ejecución de guiones de formación
    Ejecútelo en el directorio raíz del proyecto:
bash train_grpo.sh

El proceso de entrenamiento optimizará el modelo basándose en el aprendizaje por refuerzo y requiere paciencia.

Uso y razonamiento

  1. Generar resultados de investigación
    Ejecute el script de evaluación:
bash evaluate.sh

El archivo de salida se guarda en la carpeta ./outputs/{project_name}/{experiment_name}/rollout/rollout_step_0.json.

  1. Ver resultados
    Cambie el nombre del archivo de salida a {experiment_name}_result.jsonMover a ./evaluate/ y ejecútelo:
python ./evaluate/cacluate_metrics.py {experiment_name}

La puntuación se guarda en el ./evaluate/{experiment_name}_score.json.

Función destacada Operación

  • Investigación automatizada y validación cruzada de fuentes
    Después de que el usuario introduzca una pregunta, DeepResearcher recopila datos de los motores de búsqueda configurados (por ejemplo, Google, Bing) y valida los resultados de forma cruzada. Archivos de registro ./outputs/research_log.txt El proceso de validación se documentará.
  • Ajustes autorreflexivos
    Si los resultados iniciales no son satisfactorios, el sistema ajustará automáticamente las palabras clave o la estrategia de búsqueda. Por ejemplo, si se teclea "IA en sanidad", puede cambiar a "IA última tecnología médica", y los resultados serán más precisos.
  • Sé honesto.
    Cuando no hay una respuesta clara a una pregunta, devuelve algo como "No hay suficiente información para dar una conclusión definitiva" en lugar de adivinar.

advertencia

  • Asegúrese de que su conexión a Internet es estable y de que la función de búsqueda se basa en datos en tiempo real.
  • El entrenamiento y la inferencia requieren grandes recursos computacionales, por lo que se recomiendan las GPU.
  • El proyecto sigue en desarrollo, por lo que recomendamos seguir las actualizaciones en GitHub.

Con estos pasos, los usuarios pueden instalar y utilizar fácilmente DeepResearcher para experimentar sus capacidades de investigación inteligente.

 

escenario de aplicación

  1. investigación académica
    Los investigadores pueden utilizarlo para buscar material en papel, verificar fuentes y generar primeros borradores de informes de investigación.
  2. Aprendizaje de los estudiantes
    Los estudiantes pueden utilizarlo para organizar los conocimientos relacionados con el curso y completar rápidamente las tareas o la investigación de proyectos.
  3. desarrollo tecnológico
    Los desarrolladores pueden utilizarla para explorar las tendencias tecnológicas y obtener actualizaciones y soluciones del sector.

 

CONTROL DE CALIDAD

  1. ¿Es DeepResearcher compatible con el chino?
    Soporte. Los usuarios pueden introducir preguntas en chino y el sistema dará prioridad a la búsqueda de recursos en chino, aunque también puede manejar datos en inglés.
  2. ¿Necesita una GPU?
    No es obligatorio, pero la GPU puede acelerar el entrenamiento y la inferencia. la CPU también puede ejecutarlo, sólo que más lentamente.
  3. ¿Cómo puedo obtener la última versión?
    Ejecutar en el directorio del proyecto git pully, a continuación, vuelva a instalar las dependencias que desea actualizar.
© declaración de copyright

Artículos relacionados

Sin comentarios

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