Genera roadmaps interactivos de aprendizaje a partir de PDFs o texto usando IA local (Ollama).
Merq transforma documentos PDF o texto en roadmaps de aprendizaje visuales e interactivos. La IA analiza el contenido y genera:
- Roadmap visual con nodos conectados
- Tres niveles (Principiante → Intermedio → Avanzado)
- Contenido por nodo generado bajo demanda
- Conexiones que muestran prerequisitos
- IA Local: Usa Ollama con Gemma 2, sin APIs externas
- Grafo interactivo: Zoom, pan y navegación por nodos
- Generación bajo demanda: Contenido generado al hacer click
- Markdown: Formato rico con código, listas, negritas
📄 "Introducción a Machine Learning.pdf"
🤖 Análisis del contenido
→ Extracción de temas principales
→ Organización por niveles
→ Definición de prerequisitos
PRINCIPIANTE
├─ Nodo 1: ¿Qué es ML?
├─ Nodo 2: Tipos de aprendizaje
└─ Nodo 3: Datos y features
INTERMEDIO
├─ Nodo 4: Regresión lineal
├─ Nodo 5: Clasificación
└─ Nodo 6: Validación
AVANZADO
├─ Nodo 7: Redes neuronales
└─ Nodo 8: Deep learning
- Click en un nodo → Panel lateral con contenido
- Genera contenido detallado bajo demanda
- Markdown con formato profesional
- FastAPI - API REST
- PostgreSQL - Base de datos
- SQLAlchemy - ORM
- Ollama - IA local (Gemma 2)
- PyPDF2 - Extracción de texto
- Vue 3 - Framework
- Pinia - Estado global
- Tailwind CSS - Estilos
- Marked - Renderizado Markdown
- Docker Compose - Orquestación
- NVIDIA Container Toolkit - GPU para Ollama
- Docker y Docker Compose
- GPU NVIDIA (opcional, mejora rendimiento)
- Clonar el repositorio
git clone https://github.com/tu-usuario/merq.git
cd merq- Configurar variables de entorno
cp .env.example .env
# Editar .env si es necesario- Levantar servicios
docker compose up -d --build- Descargar modelo de IA
docker compose exec ollama ollama pull gemma2:2b- Acceder a la aplicación
- Frontend: http://localhost:5173
- API: http://localhost:8000/docs
- Registrarse en la plataforma
- Crear roadmap → Subir PDF o pegar texto
- Esperar generación (~1-2 minutos)
- Explorar el grafo interactivo
- Click en nodos para ver/generar contenido
merq/
├── backend/
│ ├── app/
│ │ ├── models/ # Modelos SQLAlchemy
│ │ ├── routers/ # Endpoints API
│ │ ├── services/ # Lógica de negocio
│ │ └── core/ # Configuración
│ └── requirements.txt
├── frontend/
│ ├── src/
│ │ ├── api/ # Clientes API
│ │ ├── components/ # Componentes Vue
│ │ ├── stores/ # Pinia stores
│ │ └── views/ # Vistas
│ └── package.json
└── docker-compose.yml
GET /roadmaps/- Listar roadmapsGET /roadmaps/{id}- Obtener roadmap con nodosPOST /roadmaps/- Crear roadmapDELETE /roadmaps/{id}- Eliminar roadmap
GET /roadmaps/{id}/nodes/- Listar nodosPATCH /roadmaps/{id}/nodes/{node_id}- Actualizar nodo
POST /ai/generate-roadmap- Generar roadmap desde archivoPOST /ai/nodes/{id}/generate-content- Generar contenido de nodo
Proyecto académico con fines educativos.