Skip to content

Latest commit

 

History

10 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Gendocs Agent Header

🧠 Gendocs Agent: Inteligencia Documental y Razonamiento Avanzado

Gendocs Agent es un asistente de IA en etapa de desarrollo por hobby, diseñado para el análisis profundo, la triangulación de información y la generación automatizada de informes técnicos. Optimizado para entornos que requieren soberanía de datos, el agente ejecuta modelos de lenguaje locales para garantizar la privacidad total.


🌟 Características Destacadas

1. 📂 Análisis Multifuente (Triangulación)

El agente no solo responde preguntas; razona comparando tres niveles de información:

  • Contexto del Usuario: Análisis en tiempo real de PDFs subidos (con soporte OCR).
  • Biblioteca Institucional (RAG): Consulta una base de datos vectorial persistente (ChromaDB) con tus manuales y normativas.
  • Investigación Abierta: Búsqueda web privada vía SearXNG y Wikipedia con re-rankeo semántico.

2. 🏗️ Generación Inteligente de Documentos

  • Microsoft Word (.docx): Informes estructurados con prosa técnica, tablas automáticas y soporte nativo para fórmulas en LaTeX ($E=mc^2$).
  • PowerPoint (.pptx): Presentaciones profesionales con síntesis de puntos clave y diseño limpio.
  • Gráficos Dinámicos: Generación de visualizaciones de datos usando Matplotlib a partir de tendencias detectadas en el texto.

3. ⚖️ Scoring Semántico y Re-rankeo

Utiliza modelos CrossEncoder (BAAI/bge-reranker-base) para evaluar la relevancia técnica de los resultados web, descartando información ruidosa y priorizando fuentes veraces.

4. 🤖 Modelos de Lenguaje Locales

Optimizado para la familia de modelos Gemma (Google) en formato GGUF, permitiendo ejecución eficiente en hardware comercial con soporte para ventanas de contexto de hasta 8192 tokens.

5. 🧠 Orquestación Agéntica

Implementa un orquestador inteligente (orchestrator.py) que analiza dinámicamente la petición del usuario, crea un plan de acción y ejecuta herramientas especializadas (Búsqueda Institucional, Investigación Abierta, Generación de Gráficos) en paralelo para una resolución eficiente y unificada.


🛠️ Requisitos del Sistema

  • SO: Linux (Recomendado) / Windows (vía WSL2).
  • Python: 3.10 o superior.
  • Docker & Docker-Compose: Para la infraestructura de búsqueda y sandboxing.
  • Tesseract OCR: Para lectura de documentos escaneados (sudo apt install tesseract-ocr tesseract-ocr-spa).
  • RAM: 16GB mínimo (32GB recomendado para modelos de 4B+ parámetros).

🚀 Instalación y Configuración Rápida

Hemos simplificado el proceso mediante un gestor centralizado. Sigue estos pasos:

  1. Clonar y Acceder:

    git clone https://github.com/KennethRayo/gendocs.git
    cd gendocs
  2. Iniciar el Gestor: Dale permisos de ejecución al script de configuración:

    chmod +x setup.sh
    ./setup.sh
  3. Flujo de Configuración: Dentro del menú de setup.sh, selecciona:

    • Opción 1: Para descargar automáticamente los modelos GGUF necesarios.
    • Opción 2: Para construir los contenedores Docker e instalar dependencias.
    • Opción 3: Para indexar los PDFs que hayas colocado en la carpeta library/.

📖 Guía de Uso

Interfaz de Usuario

Lanza la aplicación con Streamlit:

streamlit run main.py

Comandos de Ejemplo

  • "Genera un informe detallado sobre la normativa de seguridad eléctrica basándote en mi PDF y busca actualizaciones recientes en la web."
  • "Haz una presentación de 5 diapositivas sobre la historia de El Salvador, incluye una tabla comparativa de hitos históricos."
  • "¿Qué dice el manual de procedimientos (Biblioteca) sobre el mantenimiento de transformadores?"

📂 Estructura del Proyecto

  • main.py: Interfaz de usuario (Streamlit) y punto de entrada de la aplicación.
  • orchestrator.py: Orquestador agéntico que planifica y ejecuta en paralelo las herramientas necesarias según el prompt del usuario.
  • engine.py: Contiene los motores base (LLM, búsqueda vectorial, scraper web, generación de docs).
  • tools_base.py, tools_library.py, tools_research.py, app_tools.py: Sistema de herramientas y habilidades extensibles (RAG, Web Search, Generación de Gráficos).
  • setup.sh: Script de automatización para descarga de modelos, despliegue y mantenimiento.
  • ingest_knowledge.py: Procesador de RAG para indexar la biblioteca institucional.
  • sandbox_worker.py: Servicio aislado para la ejecución segura de código Python (ej. generación de gráficos).
  • Dockerfile, Dockerfile.sandbox: Definición de los contenedores principales y del entorno aislado de ejecución.
  • db_docs/: Almacén persistente de la base de datos vectorial (ChromaDB).
  • models/: Directorio para almacenar los archivos .gguf de los modelos locales.
  • searxng/: Configuración del motor de búsqueda meta-privado.

🛠️ Tecnologías Principales

  • LLM Engine: llama-cpp-python
  • Orquestación: LangChain
  • Base de Datos: ChromaDB
  • UI: Streamlit
  • OCR: PyMuPDF + Pytesseract
  • Web: SearXNG + Wikipedia-API
  • Data Viz: Matplotlib + Numpy

Un desarrollo de Hobby para la gestión eficiente de información técnica y documental.

About

No description, website, or topics provided.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages