Modelos de Lenguaje en la Analítica Deportiva
Este trabajo presenta el diseño y desarrollo de Cl@ud-ia-data, un agente virtual privado basado en inteligencia artificial generativa, especializado en el análisis de datos deportivos. La finalidad del proyecto es ofrecer una herramienta de apoyo a la toma de decisiones mediante análisis avanzado de datos, garantizando la privacidad, el control de la información y un uso eficiente de los recursos computacionales.
🎓 Contexto Académico: Trabajo Final de Grado | Universitat Oberta de Catalunya (UOC) | Grado de Ciencia de Datos Aplicada| Autor: Pedro José García | Año: 2025
El sistema se despliega en un entorno completamente privado sobre una infraestructura local basada en una NVIDIA Jetson AGX Orin de 64 GB, una plataforma de computación acelerada de alto rendimiento y bajo consumo energético. Esta elección tecnológica contribuye a un enfoque de IA sostenible, reduciendo de forma significativa la huella energética frente a soluciones basadas en grandes centros de datos en la nube.
La metodología empleada se fundamenta en técnicas de Generación Aumentada por Recuperación (RAG), utilizando exclusivamente modelos de código abierto. Como resultado, se obtiene un agente funcional capaz de generar respuestas precisas y contextualizadas a partir de datos deportivos de la liga luxemburguesa.
| Componente | Tecnología | Versión | Propósito |
|---|---|---|---|
| LLM | Qwen2.5 | 32B (Q4_K_M) | Generación de respuestas y traducción |
| Embeddings | multilingual-e5-large | 1024 dims | Representación semántica |
| Vector DB | ChromaDB | 1.3.7 | Almacenamiento vectorial |
| Framework | Streamlit + LangChain | - | Interface y orquestación |
| Storage | MinIO | - | Arquitectura Medallion |
| Runtime | Ollama | 0.6+ | Servidor LLM local |
| Hardware | Jetson AGX Orin | 64GB | Plataforma de inferencia |
Raw Data
PDFs, HTMLCleaned Data
CSV/JSONEmbeddings
ChromaDB
✅ Ventajas del enfoque RAG: respuestas basadas en datos reales, trazabilidad de fuentes, actualización sin reentrenamiento y reducción de alucinaciones.
git clone https://github.com/claudyata/claudyata.github.io
cd claudyata.github.io
# Crear entorno conda
conda env create -f environment.yml
conda activate tfg
# Instalar Ollama
curl -fsSL https://ollama.com/install.sh | sh
# Descargar modelos
ollama pull qwen2.5:32b
ollama pull mxbai-embed-large
# Verificar
ollama list
docker run -d \
-p 9000:9000 \
-p 9001:9001 \
--name minio \
-v ~/minio/data:/data \
-e "MINIO_ROOT_USER=admin" \
-e "MINIO_ROOT_PASSWORD=admin123" \
quay.io/minio/minio server /data --console-address ":9001"
# Consola: http://localhost:9001 (admin / admin123)
# Crear archivo .env en artefactos/src/
cat > artefactos/src/.env << EOF
# MinIO
MINIO_ENDPOINT=localhost:9000
MINIO_ACCESS_KEY=admin
MINIO_SECRET_KEY=admin123
MINIO_SECURE=False
# Ollama
OLLAMA_HOST=http://localhost:11434
OLLAMA_MODEL=qwen2.5:32b
# ChromaDB
CHROMADB_PATH=../../chroma_db
EOF
cd artefactos/src
python -c "from core.rag_client import RAGClient; RAGClient()"
cd artefactos/src
streamlit run app.py
✅ La aplicación estará disponible en: http://localhost:8501
Nota: Las rutas pueden variar si reorganizas carpetas, pero el repositorio mantiene separación clara entre experiments, docs y el artefacto (Streamlit).
claudyata.github.io/
├── artefactos/
│ └── src/
│ ├── app.py
│ ├── core/
│ ├── tabs/
│ └── utils/
├── docs/
│ ├── 02-setup-jetson-orin.md
│ ├── 03-setup-docker.md
│ ├── 04-arquitectura-medallion.md
│ └── 09-benchmark_qwen_quantization.md
├── experiments/
│ ├── 01-comparativa-gpu.ipynb
│ ├── 05-comparativa-gestor-llm.ipynb
│ ├── 06-comparativa-embeddings.ipynb
│ ├── 07-comparativa-modelos-llm.ipynb
│ └── 08-etl-bronze-to-silver-to-gold.ipynb
├── environment.yml
├── Modelfile.claudiata
├── index.html
└── README.md
Consultas en lenguaje natural sobre partidos con recuperación semántica de eventos relevantes y respuestas contextualizadas por LLM.
Idiomas: Español, Francés, Luxemburgués, Alemán
Crónicas automáticas de partidos con análisis táctico y narrativa natural, adaptada al idioma.
Exportación: TXT, MD, PDF (según configuración)
Clasificación de equipos, top goleadores y métricas de rendimiento con visualizaciones en Streamlit.
Traducción automática preservando el contexto deportivo y terminología (especial foco en luxemburgués).
Consumo energético, temperatura y uso de RAM/VRAM en tiempo real (integración con tegrastats).
Despliegue local: datos y modelos permanecen dentro de infraestructura propia sin servicios cloud.
Importante: Los resultados detallados y reproducibles se encuentran en la carpeta experiments/.
| Opción | Enfoque | Objetivo | Resultado |
|---|---|---|---|
| Jetson AGX Orin ✅ | Edge / Local | Viabilidad (coste/consumo/privacidad) | Opción seleccionada |
| NVIDIA H100 NVL | Datacenter | Máximo rendimiento | Descartada por coste/consumo |
| RTX 5090 | Workstation | Alto rendimiento local | Alternativa evaluada |
✅ Conclusión: Jetson AGX Orin ofrece el mejor balance rendimiento/coste/consumo para el caso de uso (edge computing).
✅ Conclusión: intfloat/multilingual-e5-large es óptimo para búsqueda semántica multilingüe en el contexto del proyecto.
✅ Conclusión: Qwen2.5 32B (Q4) ofrece el mejor balance calidad/viabilidad en Jetson 64GB para traducción + RAG.
Texto completo de la licencia: https://creativecommons.org/licenses/by-nc-sa/4.0/legalcode
Si utilizas este proyecto en investigación académica, por favor cita:
@mastersthesis{perisperis,
author = {García, Pedro José},
title = {Cl@udiata: Modelos de Lenguaje en la Analítica Deportiva},
school = {Universitat Oberta de Catalunya},
year = {2025},
type = {Trabajo Final de Grado},
note = {Grado de Ciencia de Datos Aplicada},
url = {https://github.com/claudyata/claudyata.github.io}
}
Autor: Pedro José García
Institución: Universitat Oberta de Catalunya (UOC)
Email: perisperis@uoc.edu
GitHub: @claudyata
Universitat Oberta de Catalunya
Club de fútbol luxemburgués
Runtime LLM open-source
Plataforma Jetson