INGENIERIA2 es una plataforma completa y profesional que combina educación avanzada con herramientas de producción para Ingeniería de Software aplicada a sistemas de Inteligencia Artificial.
Este proyecto integra:
- 📚 Ruta de Aprendizaje Completa: Desde fundamentos hasta tecnologías avanzadas
- 🏗️ Infraestructura de Producción: Stack completo de MLOps y monitoreo
- 🔧 Herramientas Profesionales: APIs, dashboards, CI/CD, testing
- 📊 Monitoreo Avanzado: Métricas, alertas, dashboards en tiempo real
- 📖 Documentación Técnica: Guías completas de desarrollo y despliegue
Objetivo: Formar ingenieros de IA capaces de construir sistemas robustos, escalables y mantenibles para producción.
- Contenido Estructurado: 9 capítulos progresivos desde fundamentos hasta producción
- Código Ejecutable: Notebooks interactivos con ejemplos reales
- Proyectos Prácticos: Casos de uso reales de la industria
- Ruta de Aprendizaje: Progresión lógica y certificaciones
- 🐳 Contenerización: Docker y Docker Compose para desarrollo y producción
- ☁️ Cloud Ready: Configuraciones para AWS, GCP, Azure
- ⚙️ CI/CD: Pipelines automatizados con GitHub Actions
- 🔧 Orquestación: Kubernetes y Helm charts
- 📈 Métricas Avanzadas: Prometheus con métricas personalizadas de ML
- 📊 Dashboards Profesionales: Grafana con 8 dashboards especializados
- 🚨 Sistema de Alertas: 50+ reglas de alerta configurables
- 🔍 Logging Estructurado: Centralizado y searchable
- 🔌 API REST Completa: FastAPI con documentación automática
- 📱 Dashboards Interactivos: Streamlit y Gradio
- 🧪 Testing Completo: Unit, integration, performance tests
- 📖 Documentación Técnica: Guías de desarrollo, API y despliegue
- 📚 Recursos Adicionales: Libros, newsletters, comunidades
- 🤝 Contribución: Guías y templates para contribuidores
- 📞 Soporte: Canales de comunicación y documentación
| Área | Tecnologías | Nivel |
|---|---|---|
| Machine Learning | Scikit-learn, XGBoost, LightGBM, CatBoost | Avanzado |
| Deep Learning | PyTorch, TensorFlow, Keras, Transformers | Avanzado |
| NLP y LLMs | LangChain, OpenAI, BERT, ChromaDB, RAG | Avanzado |
| Visión por Computador | OpenCV, YOLO, CLIP, Albumentations | Intermedio |
| MLOps | MLflow, Prefect, Evidently, Prometheus | Avanzado |
| APIs y Web | FastAPI, Streamlit, Gradio, Flask | Avanzado |
| Cloud y Despliegue | Docker, Kubernetes, AWS, Azure, GCP | Avanzado |
| Bases de Datos | PostgreSQL, Redis, MongoDB, ChromaDB | Avanzado |
| Monitoreo | Prometheus, Grafana, AlertManager | Avanzado |
| Testing | pytest, unittest, locust | Avanzado |
| CI/CD | GitHub Actions, Jenkins, ArgoCD | Avanzado |
| Seguridad | JWT, OAuth2, Rate Limiting | Avanzado |
ingenieria2/
├── 📁 Cap1/ # Fundamentos Esenciales
│ ├── file0.ipynb # Introducción a Python
│ ├── file1.ipynb # Fundamentos de Programación
│ ├── file2.ipynb # Programación Orientada a Objetos
│ ├── file3.ipynb # Librerías Científicas
│ ├── file4.ipynb # Buenas Prácticas
│ ├── file5.ipynb # C++
│ ├── file6.ipynb # Estructuras de Datos
│ ├── file7.ipynb # Matemáticas para IA
│ ├── file8.ipynb # Proyecto de Matemáticas
│ └── file9.ipynb # Git y GitHub
├── 📁 Cap2/ # Machine Learning y Evaluación
│ ├── file10.ipynb # Regresión Lineal
│ ├── file11.ipynb # Regresión Lineal Múltiple
│ ├── file12.ipynb # Regresión Logística
│ ├── file13.ipynb # Árboles de Decisión
│ ├── file14.ipynb # SVM
│ ├── file15.ipynb # Random Forest
│ ├── file16.ipynb # Gradient Boosting
│ ├── 📁 KNN/ # K-Vecinos Más Cercanos
│ ├── 📁 Clasificador_NaiveBayes/
│ ├── 📁 Deep_Learning/ # PyTorch, TensorFlow, CNNs
│ ├── 📁 ML_No_Supervisado/ # Clustering, PCA, Reglas de Asociación
│ ├── 📁 Precision/ # Métricas de Evaluación
│ └── 📁 Tecnicas_Avanzadas/ # XGBoost, LightGBM
├── 📁 Cap3/ # LLMs y NLP Avanzado
│ ├── 📁 Analisis_Sentimiento_NaiveBayes/
│ ├── 📁 Autocodificadores/
│ ├── 📁 Modelos_Generativos/
│ ├── Attention.ipynb # Mecanismo de Atención
│ ├── Transformer.ipynb # Arquitectura Transformer
│ ├── Basic_LLM.ipynb # Introducción a LLMs
│ ├── chatbot.ipynb # Chatbot con LLMs
│ └── ... # Más notebooks de NLP
├── 📁 src/ # Código Fuente del Paquete
│ └── 📁 ingenieria2/
│ ├── cli.py # CLI principal
│ ├── config/ # Sistema de configuración
│ ├── models/ # Modelos de ML
│ ├── api/ # Endpoints de API
│ └── utils/ # Utilidades
├── 📁 apps/ # Aplicaciones
│ ├── api.py # API REST con FastAPI
│ └── streamlit_app.py # Dashboard con Streamlit
├── 📁 tests/ # Tests Unitarios
│ ├── unit/ # Tests unitarios
│ ├── integration/ # Tests de integración
│ └── fixtures/ # Datos de prueba
├── 📁 docs/ # Documentación Técnica
│ ├── api/ # Documentación de API
│ ├── deployment/ # Guías de despliegue
│ ├── development/ # Guías de desarrollo
│ └── architecture/ # Arquitectura del sistema
├── 📁 monitoring/ # Configuración de Monitoreo
│ ├── prometheus.yml # Configuración de Prometheus
│ ├── alert_rules.yml # Reglas de alerta
│ └── grafana-dashboards.yml # Dashboards de Grafana
├── 📁 config/ # Configuraciones
│ ├── base.py # Configuración base
│ ├── development.py # Configuración de desarrollo
│ ├── production.py # Configuración de producción
│ └── cli.py # CLI de configuración
├── 📁 data/ # Datasets (gitignored)
├── 📁 models/ # Modelos Entrenados (gitignored)
├── 📁 logs/ # Logs (gitignored)
├── 📁 notebooks/ # Jupyter notebooks adicionales
├── requirements.txt # Dependencias Principales
├── requirements-dev.txt # Dependencias de Desarrollo
├── pyproject.toml # Configuración Moderna de Python
├── setup.py # Configuración de Instalación
├── Dockerfile # Contenerización
├── docker-compose.yml # Orquestación de Servicios
├── .pre-commit-config.yaml # Hooks de Pre-commit
├── Makefile # Comandos de desarrollo
├── env.example # Variables de entorno de ejemplo
└── README.md # Este archivo
- Python 3.11+
- Docker y Docker Compose
- Git
- Make (opcional, para comandos simplificados)
- Clonar el repositorio
git clone https://github.com/tu-usuario/ingenieria2.git
cd ingenieria2
- Configurar el entorno
# Opción 1: Instalación local completa
python -m venv venv
source venv/bin/activate # En Windows: venv\Scripts\activate
pip install -r requirements.txt
pip install -r requirements-dev.txt
pre-commit install
# Opción 2: Con Docker (Recomendado)
docker-compose up -d
# Opción 3: Setup automático
make install
- Configurar variables de entorno
cp env.example .env
# Editar .env con tus configuraciones
- Verificar la instalación
# CLI del proyecto
python -m ingenieria2.cli --help
# O con Docker
docker-compose exec jupyter python -m ingenieria2.cli --help
# Verificar servicios
make health-check
# Comandos principales
make help # Ver todos los comandos disponibles
# Servicios de desarrollo
make dev-start # Iniciar todos los servicios
make dev-stop # Detener todos los servicios
make health-check # Verificar estado de servicios
# Desarrollo
make test # Ejecutar tests
make test-cov # Tests con coverage
make format # Formatear código
make lint # Linting
make type-check # Verificación de tipos
# CLI del proyecto
python -m ingenieria2.cli jupyter # Iniciar Jupyter Lab
python -m ingenieria2.cli api # Iniciar API REST
python -m ingenieria2.cli streamlit # Iniciar Dashboard
python -m ingenieria2.cli mlflow # Iniciar MLflow
python -m ingenieria2.cli docker # Iniciar con Docker
# Configuración
python -m ingenieria2.cli setup # Configurar entorno
python -m config.cli show # Mostrar configuración
python -m config.cli validate # Validar configuración
Una vez iniciado el proyecto, tendrás acceso a:
| Servicio | URL | Descripción | Credenciales |
|---|---|---|---|
| Jupyter Lab | http://localhost:8888 | Notebooks interactivos | Sin token |
| MLflow | http://localhost:5000 | Experiment tracking | - |
| Streamlit | http://localhost:8501 | Dashboard interactivo | - |
| FastAPI | http://localhost:8000 | API REST | - |
| API Docs | http://localhost:8000/docs | Documentación de la API | - |
| PostgreSQL | localhost:5432 | Base de datos | admin/password123 |
| Redis | localhost:6379 | Cache | - |
| Prometheus | http://localhost:9090 | Métricas | - |
| Grafana | http://localhost:3000 | Visualización | admin/admin123 |
- INGENIERIA2 Overview: Vista general del sistema
- ML Models Performance: Rendimiento de modelos de ML
- Infrastructure Monitoring: Monitoreo de infraestructura
- Database Monitoring: Monitoreo de base de datos
- Redis Monitoring: Monitoreo de Redis
- MLflow Monitoring: Monitoreo de MLflow
- Security Monitoring: Monitoreo de seguridad
- Business Metrics: Métricas de negocio
- Python Avanzado: POO, estructuras de datos, librerías científicas
- Matemáticas para IA: Álgebra lineal, cálculo, estadística
- Control de Versiones: Git, GitHub, buenas prácticas
- Aprendizaje Supervisado: Regresión, clasificación, ensambles
- Aprendizaje No Supervisado: Clustering, reducción de dimensionalidad
- Deep Learning: CNNs, RNNs, Transformers
- Evaluación: Métricas, validación cruzada, interpretabilidad
- Procesamiento de Lenguaje Natural: Tokenización, embeddings, BERT
- Large Language Models: GPT, Claude, Llama, Mistral
- Frameworks: LangChain, ChromaDB, RAG
- Aplicaciones: Chatbots, análisis de sentimientos, generación de texto
- MLflow: Experiment tracking, model registry
- RAG: Retrieval-Augmented Generation
- Fine-tuning: LoRA, QLoRA, adapters
- Bases de Datos Vectoriales: ChromaDB, Pinecone, FAISS
- APIs: FastAPI, Django, Flask
- Interfaces: Streamlit, Gradio, Dash
- Bases de Datos: SQL, NoSQL, vectoriales
- Multimodalidad: Texto, imágenes, audio, video
- Fundamentos: OpenCV, transformaciones, segmentación
- Deep Learning: ResNet, EfficientNet, YOLO
- Aplicaciones: Clasificación, detección, OCR
- Cloud Platforms: AWS, Azure, GCP
- Contenerización: Docker, Kubernetes
- Monitoreo: Prometheus, Grafana, MLflow
- Optimización: TorchScript, ONNX, TensorRT
- Sesgos Algorítmicos: Detección, mitigación, métricas de equidad
- Interpretabilidad: SHAP, LIME, GradCAM
- Gobernanza: AI Act, principios éticos, auditorías
- Proyectos Integradores: Sistemas completos de IA
- Casos de Uso Reales: Medicina, finanzas, retail, etc.
- Despliegue en Producción: Monitoreo, escalabilidad, mantenimiento
# Formatear código
make format
# Linting
make lint
# Type checking
make type-check
# Tests
make test
make test-cov
# Pre-commit hooks
pre-commit install
pre-commit run --all-files
El proyecto incluye pipelines automatizados con GitHub Actions:
- Tests: Ejecución automática de tests unitarios e integración
- Linting: Verificación de calidad de código con Black, Flake8, MyPy
- Security: Análisis de seguridad con Bandit
- Docker: Construcción y publicación de imágenes
- Deployment: Despliegue automático a múltiples entornos
- Prometheus: Recolección de métricas con 50+ reglas de alerta
- Grafana: 8 dashboards especializados para diferentes aspectos del sistema
- AlertManager: Sistema de notificaciones (Slack, Email, PagerDuty)
- MLflow: Tracking de experimentos y modelos
- Evidently: Monitoreo de drift y calidad de modelos
- Unit Tests: Cobertura completa de funcionalidades
- Integration Tests: Tests de integración entre servicios
- Performance Tests: Tests de rendimiento con Locust
- Security Tests: Tests de seguridad automatizados
- Predicción de Riesgo Médico - Clasificación con datos tabulares
- Análisis de Sentimientos - NLP clásico con TF-IDF
- Sistema de Scoring Crediticio - Modelos explicables con SHAP
- Predicción Agrícola - IoT y sensores con LightGBM
- Forecasting Energético - Series temporales con Prophet
- Detección de Células Cancerígenas - CNNs con PyTorch
- Predicción de Series Temporales - LSTM y Transformers
- Conversión Texto-a-Voz - Tacotron 2 + HiFi-GAN
- Reconocimiento Satelital - Swin Transformer
- Chatbot Legal - RAG + FastAPI + Pinecone
- Asistente de Contratos - LLMs + LangChain
- Extracción de Documentos - LayoutLMv3
- Agente Q&A Institucional - OpenAI + LlamaIndex
- Fundamentals of Data Engineering - Joe Reis & Matt Housley
- Designing Data-Intensive Applications - Martin Kleppmann
- Designing Machine Learning Systems - Chip Huyen
- The Hundred Page Machine Learning Book - Andriy Burkov
- Deep Learning - Ian Goodfellow, Yoshua Bengio, Aaron Courville
- DataExpert.io Community - Discord para Data Engineering
- Data Talks Club - Slack para ciencia de datos
- AdalFlow Discord - LLMs y NLP
- Chip Huyen MLOps - MLOps y producción
- Data Engineering Weekly - Noticias semanales
- Marvelous MLOps - MLOps y producción
- DataEngineer.io - Tutoriales y recursos
- Seattle Data Guy - Insights de la industria
- Fork el proyecto
- Crea una rama para tu feature (
git checkout -b feature/AmazingFeature) - Commit tus cambios (
git commit -m 'Add some AmazingFeature') - Push a la rama (
git push origin feature/AmazingFeature) - Abre un Pull Request
- Sigue las convenciones de código (Black, Flake8, MyPy)
- Escribe tests para nuevas funcionalidades
- Actualiza la documentación según sea necesario
- Usa commits semánticos
Este proyecto está bajo la Licencia MIT - ver el archivo LICENSE para detalles.
- Comunidad de Data Science por el conocimiento compartido
- Contribuidores que han ayudado a mejorar este proyecto
- Herramientas Open Source que hacen posible este proyecto
- Guía de Desarrollo: Configuración del entorno, estándares de código, testing
- Guía de Despliegue: Despliegue local, cloud, Kubernetes
- Documentación de API: Endpoints, autenticación, ejemplos de uso
- Arquitectura del Sistema: Diseño y componentes
- Variables de Entorno: Configuración de todos los servicios
- Docker Compose: Orquestación de servicios
- Prometheus: Configuración de métricas
- Alertas: Reglas de alerta configurables
- 📖 Documentación: docs/
- 🐛 Issues: GitHub Issues
- 💬 Discord: Comunidad INGENIERIA2
- 📧 Email: [email protected]
- 📋 Guía de Contribución: CONTRIBUTING.md
- 🔧 Setup de Desarrollo: docs/development/README.md
- 📝 Templates: Pull Request y Issue templates incluidos
- ✅ Funcionalidades: 100% implementadas
- 📊 Monitoreo: 8 dashboards + 50+ alertas
- 🧪 Testing: Cobertura completa
- 📖 Documentación: Guías completas
- 🚀 Producción: Ready para despliegue
⭐ Si este proyecto te ha ayudado, ¡dale una estrella en GitHub!
🎯 Objetivo: Convertirte en un Ingeniero de Software para IA de nivel profesional con todas las herramientas necesarias para construir sistemas robustos y escalables.