MCP Resume Server
Obtiene datos de currículum desde un gist de GitHub para proporcionar contexto profesional a los LLMs.
Documentación
🤖 AI Resume - Interfaz de Chat Interactiva
Chatea con el currículum impulsado por IA de Michael Wybraniec usando LLMs de código abierto - ¡Despliega GRATIS!
✨ Construido con una arquitectura limpia y modular para máxima mantenibilidad y escalabilidad.
📋 Tabla de Contenidos
- 🚀 Características
- 🎯 Inicio Rápido
- 🌟 Despliegue en Streamlit Cloud
- 🤖 Configuración del Proveedor LLM
- 🏗️ Arquitectura
- ⚖️ Cumplimiento de la Ley de IA
- 💡 Ejemplos de Uso
- 🔧 Características y Funcionalidad
- 🌐 Opciones de Despliegue
- 📁 Estructura del Proyecto
- 🎨 Personalización
- 🛠️ Desarrollo
- ❓ Solución de Problemas
- 📞 Contacto y Soporte
- 📄 Licencia
🚀 Características
🎯 Funcionalidad Principal
- 📄 Chat Interactivo de Currículum - Haz cualquier pregunta sobre la experiencia y el historial de Michael
- 🎯 Recuperación Inteligente de Contexto - Selección inteligente de contexto basada en las preguntas del usuario
- 📄 Descarga de PDF - Genera y descarga un CV profesional bajo demanda
- 🎯 Coincidencia Inteligente - Análisis de descripciones de trabajo para información para reclutadores
🤖 Integración de IA y LLM
- 🤖 Múltiples Proveedores LLM - OpenRouter (modelos gratuitos), OpenAI, Ollama (local)
- ⚡ Respuestas en Tiempo Real - Respuestas instantáneas con recuperación inteligente de contexto
- 🆓 Modelos Gratuitos Disponibles - Usa potentes modelos de código abierto sin costo
- 🔧 Configuración Flexible - Cambio fácil entre diferentes proveedores de IA
🎨 Experiencia de Usuario
- 💬 Interfaz de Chat Moderna - Hermosa interfaz de Streamlit con botones de acción rápida
- 📱 Responsive Móvil - Funciona perfectamente en todos los dispositivos y tamaños de pantalla
- ✅ Estado del Sistema - Indicador de estado en tiempo real muestra cuando todos los sistemas están listos
- 🔧 Auto-Configuración - Flujo de configuración inteligente con ayuda contextual
- ⚡ Acciones Rápidas - Acceso con un clic a tareas comunes e información
🏗️ Excelencia Técnica
- 🏗️ Arquitectura Basada en Propósitos - Organización profesional del proyecto con agrupación lógica de archivos
- 🆓 Despliegue Gratuito - Despliega en Streamlit Cloud gratis
- 📦 Diseño Modular - Separación limpia de responsabilidades para mantenibilidad
- 🔧 Personalización Fácil - Simple de adaptar para tu propio currículum y marca
⚖️ Cumplimiento de la Ley de IA
- ✅ Cumplimiento Total de la Ley de IA de la UE - Implementación completa de todos los requisitos para sistemas de IA de alto riesgo
- 🔍 Monitoreo Avanzado - Monitoreo de cumplimiento en tiempo real con alertas automatizadas
- 📋 Procedimientos de Auditoría - Marco de auditoría integral con listas de verificación estandarizadas
- 📊 Analíticas de Rendimiento - Analíticas avanzadas con análisis de tendencias e información
- 🔍 Evaluación de Conformidad - Procedimientos de evaluación sistemática para preparación de certificación
- 📋 Preparación para Certificación - Gestión completa de documentos para presentación regulatoria
- ✅ Validación de Cumplimiento - Validación automatizada y manual con elegibilidad de certificación
🎬 Demo en Vivo
🚀 ¡Pruébalo ahora! Despliega tu propia instancia en Streamlit Cloud o ejecútalo localmente.
📱 Capturas de Pantalla
Próximamente: Capturas de pantalla interactivas y GIFs de demostración
🎯 Lo Que Puedes Hacer
- 💬 Chatea con la IA - Haz preguntas sobre experiencia, habilidades y proyectos
- 📄 Descarga el CV - Genera currículums PDF profesionales
- 🎯 Coincidencia Inteligente - Analiza descripciones de trabajo para compatibilidad
- ⚡ Acciones Rápidas - Obtén información instantánea con botones de un clic
🎯 Inicio Rápido (Local)
Requisitos Previos
- Python 3.11 o superior
- Git
Pasos de Instalación
# 1. Clone the repository
git clone https://github.com/michaelwybraniec/mcp-resume.git
cd mcp-resume
# 2. Create virtual environment (recommended)
python -m venv venv
source venv/bin/activate # On Windows: venv\Scripts\activate
# 3. Install dependencies
pip install -r requirements.txt
# 4. Run the application
streamlit run app.py
🚀 Primera Ejecución
- Abre tu navegador en
http://localhost:8501 - Obtén una clave API gratuita de OpenRouter.ai
- Agrega tu clave API en la barra lateral
- Busca el estado "✅ ¡Todos los Sistemas Listos!"
- ¡Comienza a chatear! 🎉
💡 Consejo Profesional: ¡Usa el modelo gratuito
meta-llama/llama-3.1-8b-instruct:freepara probar!
🌟 Despliegue en Streamlit Cloud (¡GRATIS!)
1. Sube a GitHub
git add .
git commit -m "Deploy AI Resume to Streamlit Cloud"
git push origin main
2. Despliega en Streamlit Cloud
- Ve a share.streamlit.io
- Conecta tu cuenta de GitHub
- Selecciona tu repositorio
- Establece la ruta del archivo principal:
app.py - ¡Haz clic en "Deploy"!
3. Configura Secretos (Opcional)
Para proveedores LLM mejorados, agrega secretos en el panel de Streamlit Cloud:
[secrets]
OPENROUTER_API_KEY = "your_openrouter_api_key_here"
OPENAI_API_KEY = "your_openai_api_key_here"
4. ¡Tu aplicación está en vivo! 🎉
Obtendrás una URL como: https://your-username-mcp-resume-app-xyz.streamlit.app
🤖 Configuración del Proveedor LLM
Opción 1: OpenRouter (Recomendado)
- ¡Modelos gratuitos disponibles!
- Regístrate en OpenRouter
- Obtén la clave API y agrégala a través de la barra lateral o los secretos de Streamlit
- Usa modelos gratuitos como
meta-llama/llama-3.1-8b-instruct:free
Opción 2: Ollama (Desarrollo Local)
# Install Ollama
brew install ollama # macOS
# or visit https://ollama.ai for other platforms
# Start Ollama
ollama serve
# Install models
ollama pull llama3.2
ollama pull llama3.1
Opción 3: OpenAI (Pago)
- Obtén la clave API de OpenAI
- Agrégala a los secretos de Streamlit o ingrésala en la aplicación
🏗️ Arquitectura
Organización Basada en Propósitos:
mcp-resume/
├── 🏠 app.py # Main entry point (Streamlit-ready)
├── 📋 requirements.txt # Dependencies
│
├── 🔧 core/ # Foundation & Configuration
│ ├── config.py # Settings & constants
│ └── models.py # Data models & types
│
├── ⚙️ services/ # Business Logic & Integrations
│ ├── resume_service.py # Resume data handling
│ ├── llm_providers.py # AI/LLM integrations
│ ├── document_generator.py # PDF generation
│ └── fallback_resume.py # Data fallback service
│
├── 🎨 ui/ # User Interface Layer
│ ├── ui_components.py # UI components & styling
│ └── session_manager.py # Session state management
│
├── 📊 data/ # Data Files
│ ├── resume.json
│ ├── michael_wybraniec_resume.json
│ └── CV_Michael_Wybraniec_15_Jun_2025.pdf
│
└── 🔨 utils/ # Utility Scripts
└── create_gist.py # GitHub Gist utilities
Diagrama de Arquitectura del Sistema:
┌─────────────────────────────────────────────────────────────────┐
│ 🌐 Streamlit App │
├─────────────────────────────────────────────────────────────────┤
│ 🎨 UI Layer (ui/) │
│ ├── ui_components.py # Chat interface, modals, styling │
│ └── session_manager.py # State management & initialization │
├─────────────────────────────────────────────────────────────────┤
│ ⚙️ Services Layer (services/) │
│ ├── resume_service.py # Data retrieval & context │
│ ├── llm_providers.py # AI/LLM integrations │
│ ├── document_generator.py # PDF generation │
│ └── fallback_resume.py # Data fallback service │
├─────────────────────────────────────────────────────────────────┤
│ 🔧 Core Layer (core/) │
│ ├── config.py # Settings & constants │
│ └── models.py # Data models & types │
├─────────────────────────────────────────────────────────────────┤
│ 📊 Data Layer (data/) │
│ ├── resume.json # Primary resume data │
│ ├── michael_wybraniec_resume.json # Backup data │
│ └── CV_Michael_Wybraniec_15_Jun_2025.pdf # Professional CV │
└─────────────────────────────────────────────────────────────────┘
│
▼
┌─────────────────────────────────────────────────────────────────┐
│ 🤖 External LLM Providers │
├─────────────────────────────────────────────────────────────────┤
│ 🌐 OpenRouter API │ 🏠 Ollama Local │ 🔑 OpenAI API │
│ • Free models │ • llama3.2 │ • GPT models │
│ • Paid models │ • llama3.1 │ • Advanced AI │
│ • Rate limiting │ • Local processing │ • High quality │
└─────────────────────────────────────────────────────────────────┘
Flujo de Datos:
User Input → UI Components → Session Manager → Resume Service
↓ ↓ ↓ ↓
LLM Providers ← Message Processing ← Context Generation ← JSON Data
↓
AI Response → UI Components → User Interface
⚖️ Cumplimiento de la Ley de IA
🎯 Resumen
Este sistema de Currículum con IA es totalmente compatible con las regulaciones de la Ley de IA de la UE para sistemas de IA de alto riesgo. El sistema ha sido diseñado e implementado con medidas de cumplimiento integrales en todas las áreas requeridas.
📊 Estado de Cumplimiento
| Área de Cumplimiento | Estado | Implementación |
|---|---|---|
| Artículo 9: Gestión de Riesgos | ✅ CUMPLE | Sistema integral de gestión de riesgos con evaluación automatizada |
| Artículo 10: Gobernanza de Datos | ✅ CUMPLE | Gestión de calidad de datos y sistemas de registro de procesamiento |
| Artículo 11: Documentación Técnica | ✅ CUMPLE | Documentación completa de arquitectura del sistema y algoritmos |
| Artículo 12: Mantenimiento de Registros | ✅ CUMPLE | Trazabilidad de auditoría integral y registro de operaciones |
| Artículo 13: Transparencia | ✅ CUMPLE | Avisos de transparencia de IA y provisión de información al usuario |
| Artículo 14: Supervisión Humana | ✅ CUMPLE | Mecanismos de supervisión humana y marcado de respuestas |
| Artículo 15: Precisión y Ciberseguridad | ✅ CUMPLE | Monitoreo de precisión del sistema y medidas de seguridad |
🔍 Características de Cumplimiento
Fase 1: Medidas de Cumplimiento Inmediatas
- ✅ Avisos de Transparencia de IA - Avisos claros sobre el uso y las limitaciones del sistema de IA
- ✅ Panel de Supervisión Humana - Monitoreo en tiempo real de respuestas marcadas
- ✅ Sistema de Marcado de Respuestas - Los usuarios pueden marcar respuestas de IA para revisión humana
- ✅ Información de Derechos del Usuario - Información integral sobre derechos del usuario y capacidades del sistema
Fase 2: Implementación de Cumplimiento Principal
- ✅ Sistema de Gestión de Riesgos - Identificación, evaluación y mitigación automatizada de riesgos
- ✅ Marco de Gobernanza de Datos - Evaluación de calidad de datos y gestión de registros de procesamiento
- ✅ Documentación Técnica - Documentación completa de arquitectura del sistema y cumplimiento
- ✅ Sistema de Mantenimiento de Registros - Registro integral de interacciones de usuario y trazabilidad de auditoría
Fase 3: Cumplimiento Avanzado
- ✅ Monitoreo Avanzado - Monitoreo de cumplimiento en tiempo real con alertas automatizadas
- ✅ Procedimientos de Auditoría - Marco de auditoría integral con listas de verificación estandarizadas
- ✅ Analíticas de Rendimiento - Analíticas avanzadas con análisis de tendencias e información
- ✅ Alertas de Cumplimiento - Sistema de alertas inteligente con notificaciones basadas en umbrales
Fase 4: Evaluación de Conformidad y Certificación
- ✅ Marco de Evaluación de Conformidad - Procedimientos de evaluación sistemática con criterios estandarizados
- ✅ Preparación para Certificación - Gestión completa de documentos y procedimientos de solicitud
- ✅ Validación de Cumplimiento - Validación automatizada y manual con preparación para certificación
- ✅ Documentación Regulatoria - Documentación preparada para presentación regulatoria
📋 Panel de Cumplimiento
El sistema incluye un panel de cumplimiento integral accesible a través de la barra lateral que proporciona:
- Estado de Cumplimiento en Tiempo Real - Monitoreo en vivo de todos los sistemas de cumplimiento
- Métricas de Gestión de Riesgos - Niveles de riesgo, estado de mitigación y análisis de tendencias
- Estado de Gobernanza de Datos - Puntuaciones de calidad de datos y cumplimiento de procesamiento
- Monitoreo de Trazabilidad de Auditoría - Registros de operación del sistema e integridad de la trazabilidad
- Analíticas de Rendimiento - KPIs de cumplimiento y análisis de tendencias
- Preparación para Certificación - Evaluación en tiempo real de elegibilidad de certificación
🔧 Arquitectura de Cumplimiento
┌─────────────────────────────────────────────────────────────────┐
│ ⚖️ AI Act Compliance Layer │
├─────────────────────────────────────────────────────────────────┤
│ 🔍 Advanced Monitoring │ 📋 Audit Procedures │
│ • Real-time monitoring │ • Standardized checklists │
│ • Automated alerting │ • Comprehensive reporting │
│ • Performance analytics │ • Compliance verification │
├─────────────────────────────────────────────────────────────────┤
│ 🔍 Conformity Assessment │ 📋 Certification Preparation │
│ • Systematic procedures │ • Document management │
│ • Standardized criteria │ • Application workflows │
│ • Certification readiness │ • Regulatory submission │
├─────────────────────────────────────────────────────────────────┤
│ ⚠️ Risk Management │ 📊 Data Governance │
│ • Risk identification │ • Data quality management │
│ • Assessment procedures │ • Processing records │
│ • Mitigation strategies │ • Compliance monitoring │
├─────────────────────────────────────────────────────────────────┤
│ 📝 Record Keeping │ ✅ Compliance Validation │
│ • System operation logs │ • Automated validation rules │
│ • Audit trails │ • Manual validation procedures │
│ • Retention management │ • Certification eligibility │
└─────────────────────────────────────────────────────────────────┘
📄 Documentación de Cumplimiento
AI_ACT_COMPLIANCE.md- Documentación integral de cumplimientoservices/risk_management.py- Implementación del sistema de gestión de riesgosservices/data_governance.py- Gobernanza de datos y gestión de calidadservices/record_keeping.py- Sistema de mantenimiento de registros y trazabilidad de auditoríaservices/compliance_monitoring.py- Monitoreo avanzado y alertasservices/audit_procedures.py- Procedimientos y protocolos de auditoríaservices/performance_analytics.py- Analíticas de rendimiento e informaciónservices/conformity_assessment.py- Marco de evaluación de conformidadservices/certification_preparation.py- Sistema de preparación para certificaciónservices/compliance_validation.py- Procedimientos de validación de cumplimiento
🎯 Beneficios de Cumplimiento
- ✅ Cumplimiento Regulatorio - Adherencia total a los requisitos de la Ley de IA de la UE
- ✅ Mitigación de Riesgos - Gestión y monitoreo integral de riesgos
- ✅ Transparencia - Información clara del sistema de IA y derechos del usuario
- ✅ Supervisión Humana - Mecanismos efectivos de control y revisión humana
- ✅ Preparación para Auditoría - Documentación completa y trazabilidad de auditoría
- ✅ Listo para Certificación - Preparado para certificación oficial de cumplimiento
Responsabilidades de los Módulos:
🔧 Capa Principal
core/config.py- Configuración, constantes y ajustescore/models.py- Modelos de datos y definiciones de tipos
🎨 Capa de UI
ui/ui_components.py- Componentes de UI, estilos y modalesui/session_manager.py- Gestión del estado de sesión e inicialización
⚙️ Capa de Servicios
services/resume_service.py- Recuperación de datos del currículum y generación de contextoservices/llm_providers.py- Implementaciones de proveedores LLM e interfaz de chat unificadaservices/document_generator.py- Generación de PDF y funcionalidad de exportaciónservices/fallback_resume.py- Servicio de datos del currículum y gestión de contexto
📊 Capa de Datos
data/- Archivos JSON del currículum y recursos PDFutils/- Scripts de utilidad y funciones auxiliares
💡 Ejemplos de Uso
💬 Ejemplos de Chat:
- "Cuéntame sobre la experiencia laboral de Michael"
- "¿Cuáles son sus habilidades técnicas?"
- "Resume su historial para un reclutador"
- "Encuentra proyectos que involucren JavaScript"
- "¿Cuál es su experiencia con IA y aprendizaje automático?"
- "¿Cuántos años de experiencia en Python tiene?"
- "¿Ha trabajado con tecnologías de IA/ML?"
- "¿En qué industrias ha trabajado?"
⚡ Acciones Rápidas:
- 👤 Resumir Perfil - Obtén una visión general integral del candidato
- 📅 Años de Experiencia - Ve la línea de tiempo de progresión profesional
- 🛠️ Habilidades Técnicas - Analiza competencias técnicas
- 🎯 Coincidencia Inteligente - Análisis de compatibilidad laboral con puntuaciones
- 📄 Descargar CV - Currículum PDF profesional
🎯 Para Reclutadores y RRHH:
- "¿Es este candidato adecuado para un rol de desarrollador senior?"
- "¿Cuál es su experiencia en liderazgo?"
- "¿Tiene experiencia con plataformas en la nube?"
- "Evalúa sus habilidades de frontend vs backend"
- "Analiza la compatibilidad para esta descripción de trabajo..." (pega la descripción del trabajo)
🔧 Características y Funcionalidad
📱 Interfaz de Chat Moderna
- Diseño limpio y profesional con barra lateral expandida
- Botones de acción rápida para información instantánea
- Indicador de estado del sistema en tiempo real
- Marcas de tiempo de mensajes e indicadores de procesamiento
- Diseño responsive móvil
🎯 Recuperación Inteligente de Contexto
- Selección inteligente de contexto basada en las preguntas del usuario
- Respuestas enfocadas con secciones relevantes del currículum
- Coincidencia de experiencia, habilidades, proyectos y logros
- Capacidades de análisis de descripciones de puestos
📄 Generación Profesional de CV
- Genera un CV en PDF bajo demanda
- Formato limpio y profesional
- Descarga directamente desde la interfaz
🔧 Experiencia de Usuario Mejorada
- Estado del Sistema: Indicador en tiempo real que muestra "¡Todos los Sistemas Listos!" cuando está configurado
- Ayuda y Consejos: Guía de configuración completa y preguntas de ejemplo
- Acciones Rápidas: Panel organizado y expandible para tareas comunes
- Configuración Automática: Flujo de configuración inteligente con orientación contextual
🌐 Opciones de Despliegue
1. Streamlit Cloud (Recomendado - Gratis) ⭐
- Alojamiento gratuito para repositorios públicos
- Despliegues automáticos desde GitHub
- Gestión de secretos integrada
- Perfecto para demos y portafolios
2. Desarrollo Local
pip install -r requirements.txt
streamlit run app.py
3. Otras Plataformas en la Nube
- Railway, Render, Heroku
- Usa los
requirements.txtyruntime.txtproporcionados - Establece el comando de inicio:
streamlit run app.py --server.port $PORT
📁 Estructura del Proyecto
mcp-resume/
├── 🏠 app.py # Main entry point (Streamlit-ready)
├── 📋 requirements.txt # Python dependencies
├── 🐍 runtime.txt # Python version for deployment
├── 📖 README.md # Documentation
├── 🚀 DEPLOYMENT.md # Deployment guide
├── 🔧 secrets.toml.example # Example secrets configuration
├── ⚖️ AI_ACT_COMPLIANCE.md # AI Act compliance documentation
├── 📋 agentic-sdlc/ # Agentic SDLC project management
│ ├── tasks/ # Task management and tracking
│ └── project-backlog.md # Project backlog and progress
│
├── 🔧 core/ # Foundation & Configuration
│ ├── __init__.py
│ ├── config.py # Settings & constants
│ └── models.py # Data models & types
│
├── ⚙️ services/ # Business Logic & Integrations
│ ├── __init__.py
│ ├── resume_service.py # Resume data handling
│ ├── llm_providers.py # AI/LLM integrations
│ ├── document_generator.py # PDF generation
│ ├── fallback_resume.py # Data fallback service
│ ├── risk_management.py # AI Act risk management system
│ ├── data_governance.py # Data governance and quality management
│ ├── record_keeping.py # Record keeping and audit trails
│ ├── compliance_monitoring.py # Advanced compliance monitoring
│ ├── audit_procedures.py # Audit procedures and protocols
│ ├── performance_analytics.py # Performance analytics and insights
│ ├── conformity_assessment.py # Conformity assessment framework
│ ├── certification_preparation.py # Certification preparation system
│ └── compliance_validation.py # Compliance validation procedures
│
├── 🎨 ui/ # User Interface Layer
│ ├── __init__.py
│ ├── ui_components.py # UI components & styling
│ └── session_manager.py # Session state management
│
├── 📊 data/ # Data Files
│ ├── resume.json # Primary resume data
│ ├── michael_wybraniec_resume.json # Backup resume data
│ ├── CV_Michael_Wybraniec_15_Jun_2025.pdf # Professional CV
│ ├── risk_management_log.json # Risk management data
│ ├── data_governance_log.json # Data governance records
│ ├── system_records.json # System operation logs
│ ├── audit_trails.json # Audit trail data
│ ├── compliance_monitoring.json # Compliance monitoring data
│ ├── audit_procedures.json # Audit procedures data
│ ├── performance_analytics.json # Performance analytics data
│ ├── conformity_assessment.json # Conformity assessment data
│ ├── certification_preparation.json # Certification preparation data
│ └── compliance_validation.json # Compliance validation data
│
├── 🔨 utils/ # Utility Scripts
│ ├── __init__.py
│ └── create_gist.py # GitHub Gist utilities
│
└── 🐍 venv/ # Virtual environment
🏗️ Beneficios de la Arquitectura Basada en Propósitos
🔧 Para Desarrolladores:
- Navegación Fácil: Encuentra archivos por propósito (UI, servicios, datos, etc.)
- Mantenible: Separación clara de responsabilidades entre directorios
- Escalable: Añade nuevas funciones sin tocar módulos existentes
- Comprobable: Cada capa puede probarse de forma independiente
- Profesional: Organización de proyectos según estándares de la industria
🚀 Para Funciones:
- Nuevos Proveedores de LLM: Extiende
services/llm_providers.py - Cambios de UI: Modifica
ui/ui_components.py - Formatos de Exportación: Añade a
services/document_generator.py - Fuentes de Datos: Extiende
services/resume_service.py - Configuración: Actualiza
core/config.py
📁 Aspectos Destacados de la Organización:
- Compatible con Streamlit:
app.pypermanece en la raíz para el despliegue - Agrupación Lógica: Archivos organizados por funcionalidad, no arbitrariamente
- Raíz Limpia: Sin desorden—solo archivos esenciales visibles
- Paquetes de Python: Archivos
__init__.pyadecuados para importaciones limpias
Aspectos Destacados de la Arquitectura:
- Reducción del 88% en la complejidad del archivo principal (1,500 → 180 líneas)
- 8 módulos enfocados en lugar de una estructura monolítica
- Dependencias claras y relaciones de importación
- Principio de responsabilidad única en todo el proyecto
🚀 Primeros Pasos
-
Clona e Instala
git clone <your-repo> cd mcp-resume pip install -r requirements.txt -
Ejecuta Localmente
streamlit run app.py -
Configura y Chatea
- Navega a
http://localhost:8501 - Obtén una clave API gratuita en OpenRouter.ai
- Añade tu clave API en la barra lateral
- Cuando veas "✅ ¡Todos los Sistemas Listos!" ¡estás listo!
- Comienza a chatear con el currículum de IA
- Navega a
🎨 Personalización
🏠 Añadiendo Tu Propio Currículum
Paso 1: Prepara Tus Datos del Currículum
{
"personal_info": {
"name": "Your Name",
"title": "Your Professional Title",
"email": "your.email@example.com",
"phone": "+1-234-567-8900",
"location": "Your City, Country",
"linkedin": "https://linkedin.com/in/yourprofile",
"github": "https://github.com/yourusername",
"website": "https://yourwebsite.com"
},
"summary": "Your professional summary...",
"experience": [
{
"company": "Company Name",
"position": "Your Position",
"duration": "2020 - Present",
"description": "Your role description...",
"achievements": ["Achievement 1", "Achievement 2"]
}
],
"skills": {
"technical": ["Python", "JavaScript", "React"],
"soft": ["Leadership", "Communication", "Problem Solving"]
},
"education": [
{
"institution": "University Name",
"degree": "Bachelor of Science",
"field": "Computer Science",
"year": "2020"
}
]
}
Paso 2: Actualiza los Archivos
- Reemplaza los datos del currículum: Actualiza
data/michael_wybraniec_resume.jsoncon tus datos - Actualiza la marca: Modifica el encabezado en
ui/ui_components.py - Reemplaza el CV: Añade tu PDF a la carpeta
data/ - Actualiza la configuración: Modifica las constantes en
core/config.py
🤖 Configuración del LLM
Añadiendo Nuevos Proveedores
# In services/llm_providers.py
class CustomProvider(LLMProvider):
def __init__(self):
super().__init__("custom_provider")
def chat_completion(self, messages, model, api_key):
# Your custom implementation
response = your_api_call(messages, model, api_key)
return response.choices[0].message.content
Personalizando los Prompts del Sistema
# In services/llm_providers.py
SYSTEM_PROMPT = """
You are an AI assistant helping with resume analysis.
Customize this prompt for your specific needs.
"""
🎨 Personalización de la UI
Marca y Colores
# In ui/ui_components.py
def render_header():
st.markdown("""
<div style="background: linear-gradient(90deg, #your-color-1, #your-color-2);">
<h1>Your Name - AI Resume</h1>
</div>
""", unsafe_allow_html=True)
Acciones Rápidas Personalizadas
# In ui/ui_components.py
def render_quick_actions():
col1, col2 = st.columns(2)
with col1:
if st.button("🎯 Your Custom Action"):
# Your custom logic
pass
Estilos Personalizados
# In ui/ui_components.py
def apply_custom_css():
st.markdown("""
<style>
.custom-chat-message {
background-color: #your-color;
border-radius: 10px;
padding: 10px;
}
</style>
""", unsafe_allow_html=True)
📄 Personalización de Exportación
Plantillas PDF Personalizadas
# In services/document_generator.py
def generate_custom_cv(resume_data):
# Custom PDF generation logic
# Add your company logo, custom fonts, etc.
pass
Múltiples Formatos de Exportación
# Add new export methods
def export_to_docx(resume_data):
# DOCX export implementation
pass
def export_to_html(resume_data):
# HTML export implementation
pass
🔧 Personalización Avanzada
Fuentes de Datos Personalizadas
# In services/resume_service.py
def get_custom_context(query):
# Add integration with external APIs
# LinkedIn API, GitHub API, etc.
pass
Integración de Analíticas
# Add usage tracking
def track_interaction(user_query, response_time):
# Google Analytics, Mixpanel, etc.
pass
Soporte Multilingüe
# In core/config.py
SUPPORTED_LANGUAGES = {
'en': 'English',
'es': 'Español',
'fr': 'Français',
'de': 'Deutsch'
}
🚀 Personalización del Despliegue
Variables de Entorno
# .env file
RESUME_OWNER_NAME="Your Name"
RESUME_OWNER_TITLE="Your Title"
CUSTOM_BRAND_COLOR="#your-color"
ENABLE_ANALYTICS=true
Configuración de Streamlit
# .streamlit/config.toml
[theme]
primaryColor = "#your-color"
backgroundColor = "#ffffff"
secondaryBackgroundColor = "#f0f2f6"
textColor = "#262730"
📚 Ejemplos de Personalización
Ejemplo 1: Currículum de Desarrollador de Software
- Énfasis en habilidades técnicas
- Integración con GitHub
- Muestra de portafolio de proyectos
- Ejemplos de fragmentos de código
Ejemplo 2: Currículum de Profesional de Marketing
- Enfoque en métricas de campañas
- Integración con redes sociales
- Métricas de conocimiento de marca
- Enlaces a portafolio creativo
Ejemplo 3: Currículum de Científico de Datos
- Muestra de modelos de ML
- Publicaciones de investigación
- Ejemplos de visualización de datos
- Integración con blog técnico
🔧 Añadiendo Nuevas Funciones
Lista de Verificación para el Desarrollo de Funciones
- Planifica la función - Define requisitos y alcance
- Elige la capa adecuada - UI, Servicios, Núcleo o Datos
- Implementa de forma incremental - Comienza con la funcionalidad principal
- Añade configuración - Hazla personalizable
- Actualiza la documentación - Documenta las nuevas funciones
- Prueba a fondo - Asegúrate de que funcione con las funciones existentes
- Considera el despliegue - Actualiza las configuraciones de despliegue si es necesario
Puntos de Extensión Comunes
- Nuevo Formato de Exportación: Extiende
document_generator.py - Fuentes de Datos Adicionales: Modifica
resume_service.py - Nuevos Componentes de UI: Añade a
ui_components.py - Lógica de Sesión Personalizada: Extiende
session_manager.py - Nuevos Proveedores de LLM: Añade a
llm_providers.py - Opciones de Configuración: Actualiza
core/config.py
🛠️ Desarrollo
Configuración de Desarrollo
# Clone and setup
git clone https://github.com/michaelwybraniec/mcp-resume.git
cd mcp-resume
# Create virtual environment
python -m venv venv
source venv/bin/activate
# Install development dependencies
pip install -r requirements.txt
# Run in development mode
streamlit run app.py --server.runOnSave true
Resumen de la Estructura del Proyecto
mcp-resume/
├── 🏠 app.py # Main Streamlit application
├── 🔧 core/ # Configuration and data models
├── ⚙️ services/ # Business logic and integrations
├── 🎨 ui/ # User interface components
├── 📊 data/ # Resume data files
└── 🔨 utils/ # Utility scripts
Archivos Clave de Desarrollo
| Archivo | Propósito | Funciones Clave |
|---|---|---|
app.py | Punto de entrada principal | Inicialización de la aplicación, procesamiento de mensajes |
core/config.py | Configuración | Ajustes de la aplicación, constantes, configuraciones de modelos |
services/llm_providers.py | Integración de IA | Implementaciones de proveedores de LLM |
services/resume_service.py | Manejo de datos | Generación de contexto del currículum |
ui/ui_components.py | Componentes de UI | Interfaz de chat, modales, estilos |
ui/session_manager.py | Gestión de estado | Inicialización y gestión de sesiones |
Añadiendo Nuevos Proveedores de LLM
- Extiende la clase del proveedor en
services/llm_providers.py:
class NewProvider(LLMProvider):
def __init__(self):
super().__init__("new_provider")
def chat_completion(self, messages, model, api_key):
# Implementation here
pass
- Añade al registro de proveedores en el mismo archivo
- Actualiza la configuración en
core/config.py
Pruebas
# Run the application
streamlit run app.py
# Test different providers
# - OpenRouter: Use free models
# - Ollama: Run locally with `ollama serve`
# - OpenAI: Use your API key
Estilo de Código
- Sigue las pautas de PEP 8
- Usa sugerencias de tipo cuando sea posible
- Añade docstrings para funciones y clases
- Mantén las funciones enfocadas y de un solo propósito
❓ Solución de Problemas
Problemas Comunes
🔑 Problemas con la Clave API
# Issue: "API Key Required" error
# Solution:
1. Get free API key from https://openrouter.ai
2. Add key in sidebar or Streamlit secrets
3. Ensure no extra spaces in the key
🐍 Problemas de Versión de Python
# Issue: Import errors or compatibility issues
# Solution:
python --version # Should be 3.11+
python -m venv venv
source venv/bin/activate
pip install -r requirements.txt
🌐 Problemas de Conexión con Streamlit
# Issue: App won't start or connection refused
# Solution:
streamlit run app.py --server.port 8501
# Check if port 8501 is available
# Try different port: --server.port 8502
🤖 Problemas con el Proveedor de LLM
OpenRouter:
- Asegúrate de que la clave API sea válida y tenga créditos
- Prueba diferentes modelos gratuitos
- Revisa los límites de velocidad
Ollama:
# Ensure Ollama is running
ollama serve
# Install required models
ollama pull llama3.2
ollama pull llama3.1
OpenAI:
- Verifica que la clave API sea válida
- Revisa la facturación y los límites de uso
- Asegúrate de que el modelo esté disponible
📱 Problemas de UI
- Limpia la caché del navegador
- Prueba con un navegador diferente
- Revisa la consola para errores de JavaScript
- Asegúrate de tener una conexión a internet estable
Obteniendo Ayuda
- Revisa los registros en Streamlit para mensajes de error
- Verifica la configuración en la barra lateral
- Prueba con diferentes proveedores para aislar problemas
- Revisa el indicador de estado del sistema en la aplicación
📞 Contacto y Soporte
- Desarrollador: Michael Wybraniec
- Sitio Web: One-Front.com
- LinkedIn: Conecta con Michael
- Soluciones de IA Personalizadas: Contacta a través de One-Front para implementaciones empresariales
📄 Licencia
Este proyecto está licenciado bajo la Licencia MIT—consulta el archivo LICENSE para más detalles.
Qué significa esto:
- ✅ Gratis para usar en proyectos personales y comerciales
- ✅ Modificar y distribuir según sea necesario
- ✅ Uso privado permitido
- ✅ Atribución apreciada pero no requerida
Pautas de Uso:
- Siéntete libre de hacer un fork y personalizarlo para tu propio currículum
- Se permite el uso comercial
- Considera dar crédito si te resulta útil
- Reporta problemas o contribuye con mejoras a través de GitHub
🛠️ Actualizaciones Recientes
- ✅ Arquitectura Modular: Refactorizado en 8 módulos enfocados para mejor mantenibilidad
- 🎯 Reducción del 88% en Código: La aplicación principal ahora tiene solo 180 líneas frente a las 1,500 originales
- 📚 Documentación Mejorada: Responsabilidades claras de los módulos y resumen de la arquitectura
- 🔧 Comprobabilidad Mejorada: Cada módulo puede probarse de forma independiente
- 🚀 Mejor Escalabilidad: Fácil añadir funciones sin tocar el código existente
- 📱 Todas las Funciones Mantenidas: Funcionalidad completa preservada en una estructura más limpia
- 🆕 README Mejorado: Documentación moderna con guías completas
- ⚖️ Cumplimiento de la Ley de IA: Implementación completa del marco de cumplimiento de la Ley de IA de la UE
- 🔍 Monitoreo Avanzado: Monitoreo de cumplimiento en tiempo real con alertas automatizadas
- 📋 Procedimientos de Auditoría: Marco de auditoría integral con listas de verificación estandarizadas
- 📊 Analíticas de Rendimiento: Analíticas avanzadas con análisis de tendencias e información
- 🔍 Evaluación de Conformidad: Procedimientos sistemáticos de evaluación para la preparación de certificaciones
- 📋 Preparación para Certificación: Gestión completa de documentos para el envío regulatorio
- ✅ Validación de Cumplimiento: Validación automatizada y manual con elegibilidad de certificación
🎯 Hoja de Ruta
Funciones Planificadas
- Soporte Multilingüe - Soporte para diferentes idiomas
- Analíticas Avanzadas - Estadísticas de uso e información
- Temas Personalizados - Múltiples temas de UI y opciones de marca
- Endpoints de API - API REST para acceso programático
- Exportación Mejorada - Múltiples formatos de documentos (DOCX, HTML, etc.)
- Interfaz de Voz - Capacidades de voz a texto y texto a voz
- Fase 5: Cumplimiento Continuo - Mantenimiento y monitoreo continuo del cumplimiento
- Informes de Cumplimiento - Informes y paneles de cumplimiento automatizados
- Actualizaciones Regulatorias - Actualizaciones automáticas para cambios regulatorios
- Integraciones de Terceros - Integración con plataformas de gestión de cumplimiento
Contribuciones
¡Agradecemos las contribuciones! Consulta nuestras Pautas de Contribución para más detalles.
🚀 ¿Listo para revolucionar las interacciones con currículums?
¡Despliega tu currículum impulsado por IA hoy con arquitectura de nivel profesional y cumplimiento completo de la Ley de IA de la UE!
🎯 ¿Por Qué Elegir Este Currículum de IA?
- ✅ Totalmente Cumplidor - Implementación completa del cumplimiento de la Ley de IA de la UE
- 🏗️ Arquitectura Profesional - Diseño modular de nivel empresarial
- 🔍 Monitoreo Avanzado - Monitoreo de cumplimiento y rendimiento en tiempo real
- 📋 Listo para Auditoría - Documentación completa y rastros de auditoría
- 🚀 Despliegue Fácil - Despliega en Streamlit Cloud en minutos
- 🆓 Gratis para Usar - Código abierto con licencia MIT
Construido con ❤️ por Michael Wybraniec