Spaces:
Runtime error
A newer version of the Gradio SDK is available: 6.18.0
title: Llama Dev Suite PRO v5
emoji: 🦙
colorFrom: blue
colorTo: purple
sdk: gradio
sdk_version: 4.20.0
app_file: app.py
pinned: false
Llama Dev Suite PRO v5
Entorno conversacional para desarrollo asistido por IA inspirado en la filosofía visual de Apple: claridad, deferencia y profundidad. El proyecto conserva la experiencia original sobre Gradio (Fase 1) y suma una arquitectura desacoplada con React + FastAPI (Fase 2).
Visión General
- Claridad: tres columnas (Navegador · Lienzo · Inspector) con jerarquía visual limpia.
- Deferencia: la interfaz se retira; la conversación y el código son el protagonista.
- Profundidad: vidrio esmerilado, sombras suaves, animaciones y streaming token a token.
- Paridad funcional: persistencia de chats, carga de archivos, diff, exportación y control de Ollama.
Fase 1 · Experiencia Gradio Refinada
La app clásica sigue disponible con un rediseño completo (layout de tres columnas, barra flotante de prompt, burbujas estilizadas, toolbar en bloques de código, drag & drop, etc.).
# 1) Crear/activar entorno
python3 -m venv .venv
source .venv/bin/activate
# 2) Instalar dependencias backend (Gradio + FastAPI + requests)
pip install -r requirements.txt
# 3) Lanzar interfaz Gradio rediseñada
python app.py
La aplicación quedará disponible en http://127.0.0.1:7860 (con enlace público opcional provisto por Gradio).
Fase 2 · Frontend React + API FastAPI
La versión desacoplada (FastAPI + React) ahora se arranca con un solo comando:
./start_full.sh
El script:
- Crea/actualiza
.venvy ejecutapip install -r requirements.txt. - Instala dependencias del frontend (sólo la primera vez que no exista
node_modules/). - Levanta
uvicorn backend.main:appenhttp://127.0.0.1:8000. - Inicia
npm run devenhttp://127.0.0.1:5173(con proxy hacia el backend).
Requisito: tener Node.js + npm instalados. Si no lo tenés, descárgalo desde nodejs.org o usa tu gestor de paquetes (
sudo apt install nodejs npm,brew install node, etc.).
Mantén la terminal abierta; usa Ctrl+C para cerrar ambos servicios.
Si prefieres control manual, los comandos individuales siguen siendo:
- Backend:
source .venv/bin/activate && uvicorn backend.main:app --reload --port 8000 - Frontend:
cd frontend && npm run dev
Características principales:
- Tres columnas con efecto vidrio, atajos (Cmd/Ctrl + Enter y Cmd/Ctrl + K).
- Prompt bar flotante con iconos integrados y estado “pensando”.
- Streaming token a token, highlight.js en código y toolbar contextual.
- Inspector con sliders, drag & drop y exportación/diff instantáneos.
Persistencia y Archivos
- Los chats se guardan en
saved_chats/como JSON (mismo formato para Gradio y React). file_processing.pysoporta código, ZIPs, imágenes (OCR opcional) y PDFs.- El preview muestra las píldoras de archivo y puedes excluirlos por nombre.
Scripts Útiles
setup_ollama_and_app.sh· instala/actualiza Ollama y dependencias.run.sh· mantiene compatibilidad con el arranque Gradio clásico.backend/main.py· API centralizada para el frontend moderno.frontend/package.json· scriptsdev,buildypreview.
Próximos Pasos Sugeridos
- Configurar Docker Compose (Ollama + FastAPI + React) para despliegues reproducibles.
- Añadir autenticación ligera si abres la demo públicamente.
- Integrar pruebas E2E (Playwright) que validen flujo chat → código → diff → export.
- Automatizar CI/CD para construir la imagen e invocar los tests antes de cada release.
🚀 Uso en Hugging Face Spaces
Esta aplicación está optimizada para correr en HF Spaces y soporta modelos GGUF directamente desde el Hub.
Modelos Disponibles
Puedes usar cualquier modelo GGUF de Hugging Face con el formato:
hf.co/usuario/repositorio
hf.co/usuario/repositorio:cuantización
Ejemplos de Uso
- Iniciar la app: El Space se inicia automáticamente
- Seleccionar modelo: Usa el dropdown o pega un modelo HF
- Descargar: Click en "Descargar modelo" (primera vez)
- Chatear: ¡Listo para usar!
Modelos Recomendados
- Rápido:
hf.co/bartowski/Llama-3.2-1B-Instruct-GGUF - Balanceado:
hf.co/bartowski/Qwen2.5-Coder-7B-Instruct-GGUF:Q4_K_M - Potente:
hf.co/mlabonne/Meta-Llama-3.1-8B-Instruct-abliterated-GGUF
Cuantizaciones Disponibles
Q4_K_M: Balance óptimo (recomendado)Q8_0: Máxima calidad, más lentoIQ3_M: Mínimo tamaño, menor calidad
🔍 Debugging
Si Ollama no arranca, verifica en los logs del Space:
- "✅ Ollama está corriendo"
- Errores en /tmp/ollama.log
- Puerto 11434 disponible
Si el modelo no descarga, verifica el formato:
- ✅
hf.co/bartowski/Llama-3.2-1B-Instruct-GGUF - ❌
bartowski/Llama-3.2-1B-Instruct-GGUF(falta hf.co/)
Despliegue con Docker en HF Spaces
- Crea el Space con la opción Docker (Blank) y apunta el repositorio. El
Dockerfileya instala Python, Node y Ollama mediantestart.sh. - Durante el arranque,
start.shlanzaollama serve, espera hastaOLLAMA_WAIT_TIMEOUTsegundos a que responda enLLAMA_DEV_OLLAMA_URL(por defectohttp://127.0.0.1:11434) y luego inicia Gradio. - Si quieres precargar un modelo para evitar descargas manuales, añade la variable
OLLAMA_AUTO_PULL=hf.co/usuario/modelo[:quant]en los secrets del Space. - Usa
LLAMA_DEV_OLLAMA_URLsi expones un Ollama externo yOLLAMA_WAIT_TIMEOUTsi necesitas ampliar el timeout en hardware lento. - Cuando algo falle, revisa
/tmp/ollama.logen los logs del Space: el entrypoint lo imprime antes de salir. - En el runtime “Gradio” clásico tampoco tenés que instalar nada:
app.pydescarga automáticamente un binario portátil de Ollama (se guarda en~/.local/ollama-lite) si no detecta uno en el sistema y lo levanta antes de iniciar la UI.
🚨 Notas Importantes
- Primera ejecución: El primer modelo tardará en descargarse
- Espacio en disco: Los modelos se cachean en el Space
- Timeout: Modelos grandes pueden necesitar más tiempo
- Reinicio del Space: Los modelos descargados se pierden (Spaces efímeros)
¡Disfruta del nuevo Llama Dev Suite PRO v5! Cualquier feedback de diseño o UX es más que bienvenido. 🦙✨