gpt-local / interface_demo.html
DRDELATV's picture
Upload interface_demo.html with huggingface_hub
9abcd12 verified
<!DOCTYPE html>
<html lang="es">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>GPT Local - Interfaces Disponibles</title>
<style>
body {
font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Oxygen, Ubuntu, Cantarell, sans-serif;
line-height: 1.6;
max-width: 1200px;
margin: 0 auto;
padding: 20px;
background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
color: #333;
min-height: 100vh;
}
.container {
background: white;
border-radius: 15px;
padding: 30px;
box-shadow: 0 20px 40px rgba(0,0,0,0.1);
}
h1 {
color: #2c3e50;
text-align: center;
font-size: 2.5em;
margin-bottom: 10px;
}
.subtitle {
text-align: center;
color: #7f8c8d;
font-size: 1.2em;
margin-bottom: 40px;
}
.interface-grid {
display: grid;
grid-template-columns: repeat(auto-fit, minmax(350px, 1fr));
gap: 30px;
margin: 40px 0;
}
.interface-card {
border: 2px solid #e3e9ee;
border-radius: 12px;
padding: 25px;
background: #fafbfc;
transition: all 0.3s ease;
}
.interface-card:hover {
border-color: #667eea;
transform: translateY(-5px);
box-shadow: 0 15px 30px rgba(0,0,0,0.1);
}
.interface-title {
font-size: 1.4em;
font-weight: bold;
color: #2c3e50;
margin-bottom: 15px;
display: flex;
align-items: center;
}
.icon {
font-size: 1.5em;
margin-right: 10px;
}
.interface-description {
color: #5a6c7d;
margin-bottom: 20px;
line-height: 1.5;
}
.features {
list-style: none;
padding: 0;
margin: 15px 0;
}
.features li {
padding: 5px 0;
color: #34495e;
}
.features li:before {
content: "✅ ";
margin-right: 8px;
}
.command {
background: #2c3e50;
color: #ecf0f1;
padding: 12px 15px;
border-radius: 8px;
font-family: 'Monaco', 'Menlo', 'Ubuntu Mono', monospace;
font-size: 0.9em;
margin: 15px 0;
word-break: break-all;
}
.status {
padding: 8px 15px;
border-radius: 6px;
font-weight: bold;
text-align: center;
margin: 10px 0;
}
.status.working {
background: #d4edda;
color: #155724;
border: 1px solid #c3e6cb;
}
.status.issue {
background: #f8d7da;
color: #721c24;
border: 1px solid #f5c6cb;
}
.links {
margin-top: 40px;
padding: 25px;
background: #f8f9fa;
border-radius: 10px;
}
.links h3 {
color: #2c3e50;
margin-bottom: 15px;
}
.link-grid {
display: grid;
grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
gap: 15px;
}
.link-item {
display: flex;
align-items: center;
padding: 10px;
background: white;
border-radius: 8px;
text-decoration: none;
color: #2c3e50;
border: 1px solid #dee2e6;
transition: all 0.3s ease;
}
.link-item:hover {
border-color: #667eea;
transform: translateX(5px);
}
.link-icon {
margin-right: 10px;
font-size: 1.2em;
}
.architecture {
margin-top: 40px;
padding: 25px;
background: #f8f9fa;
border-radius: 10px;
}
.component {
background: white;
padding: 15px;
margin: 10px 0;
border-radius: 8px;
border-left: 4px solid #667eea;
}
</style>
</head>
<body>
<div class="container">
<h1>🤖 GPT Local</h1>
<p class="subtitle">Sistema de chat GPT local con HuggingFace y múltiples interfaces</p>
<div class="interface-grid">
<!-- Chat Terminal -->
<div class="interface-card">
<div class="interface-title">
<span class="icon">💻</span>
Chat Terminal
</div>
<div class="interface-description">
Interfaz de línea de comandos optimizada para Apple Silicon (MPS).
Es la interfaz principal y más estable del sistema.
</div>
<div class="status working">✅ Funcionando Perfectamente</div>
<ul class="features">
<li>Optimizado para macOS MPS</li>
<li>Modelo DialoGPT-small</li>
<li>Chat conversacional</li>
<li>Reset de historial</li>
<li>Logging detallado</li>
</ul>
<div class="command">python3 chat_terminal.py</div>
</div>
<!-- Interfaz Web Gradio -->
<div class="interface-card">
<div class="interface-title">
<span class="icon">🌐</span>
Interfaz Web (Gradio)
</div>
<div class="interface-description">
Interfaz web moderna con pestañas para chat y configuración.
Actualmente tiene problemas de compatibilidad.
</div>
<div class="status issue">⚠️ Error de Compatibilidad</div>
<ul class="features">
<li>Interfaz gráfica web</li>
<li>Control de parámetros</li>
<li>Múltiples modelos</li>
<li>Chat persistente</li>
<li>Puerto 7860</li>
</ul>
<div class="command">python3 main.py</div>
</div>
<!-- Docker Container -->
<div class="interface-card">
<div class="interface-title">
<span class="icon">🐳</span>
Contenedor Docker
</div>
<div class="interface-description">
Imagen Alpine Linux securizada, lista para despliegue en producción.
Sin vulnerabilidades de seguridad.
</div>
<div class="status working">✅ Imagen Segura Lista</div>
<ul class="features">
<li>Base Alpine Linux</li>
<li>Usuario no privilegiado</li>
<li>Sin vulnerabilidades</li>
<li>2.2GB optimizado</li>
<li>Python 3.12</li>
</ul>
<div class="command">docker run -p 7860:7860 drtv/gpt-local</div>
</div>
<!-- Pruebas y Tests -->
<div class="interface-card">
<div class="interface-title">
<span class="icon">🧪</span>
Sistema de Pruebas
</div>
<div class="interface-description">
Script de pruebas automáticas para verificar el funcionamiento
del modelo y los componentes del sistema.
</div>
<div class="status working">✅ Pruebas Funcionales</div>
<ul class="features">
<li>Test de modelo</li>
<li>Verificación MPS</li>
<li>Test de generación</li>
<li>Logging de errores</li>
<li>Validación completa</li>
</ul>
<div class="command">python3 test_gpt.py</div>
</div>
</div>
<div class="architecture">
<h3>🏗️ Arquitectura del Sistema</h3>
<div class="component">
<strong>models/</strong> - Gestión de modelos HuggingFace
<br><small>model_loader.py, text_generator.py</small>
</div>
<div class="component">
<strong>ui/</strong> - Interfaces de usuario
<br><small>gradio_interface.py (web), chat_terminal.py (terminal)</small>
</div>
<div class="component">
<strong>config/</strong> - Configuración del sistema
<br><small>settings.py con parámetros por defecto</small>
</div>
<div class="component">
<strong>Docker</strong> - Contenedor securizado
<br><small>Alpine Linux, usuario no privilegiado, sin vulnerabilidades</small>
</div>
</div>
<div class="links">
<h3>🔗 Enlaces del Proyecto</h3>
<div class="link-grid">
<a href="https://github.com/panacea-icono/gpt-local" class="link-item">
<span class="link-icon">📁</span>
Repositorio GitHub
</a>
<a href="https://huggingface.co/DRDELATV/gpt-local" class="link-item">
<span class="link-icon">🤗</span>
HuggingFace Hub
</a>
<a href="https://hub.docker.com/r/drtv/gpt-local" class="link-item">
<span class="link-icon">🐳</span>
Docker Hub
</a>
<a href="http://localhost:7860" class="link-item">
<span class="link-icon">🌐</span>
Interfaz Local (cuando funcione)
</a>
</div>
</div>
</div>
</body>
</html>