Una aplicación web de inteligencia artificial para subir documentos y chatear con ellos usando la API de Google Gemini. Inspirada en el estilo sofisticado del café premium 23°.
✅ Búsqueda RAG Avanzada - Sistema completo de Retrieval Augmented Generation ✅ Estilo Premium 23° - Diseño elegante con paleta de colores café ✅ Persistencia de Estado - Los documentos sobreviven a reinicios del servidor ✅ Markdown Formateado - Respuestas con formato profesional ✅ Indicadores de Carga - Animaciones suaves mientras procesa ✅ Documentación API - Ejemplos listos para usar en cURL ✅ Gestión de API Key - Actualiza tu clave desde la interfaz ✅ Todo en Español - Interfaz completamente en español
- Backend: Flask (Python 3.13+)
- Frontend: HTML5, CSS3, JavaScript Vanilla
- IA: Google Gemini API (gemini-2.5-flash)
- Estilo: Diseño inspirado en 23° Coffee Style
- Markdown: marked.js para formateo de respuestas
# Crear entorno virtual
python3 -m venv venv
# Activar entorno virtual
# Windows:
venv\Scripts\activate
# macOS/Linux:
source venv/bin/activatepip install -r requirements.txtEdita el archivo .env y reemplaza your_actual_api_key_here con tu API key de Google Gemini:
GEMINI_API_KEY=tu_api_key_aqui
python app.pyAbre tu navegador en http://localhost:5001
- Haz clic en el área de upload o arrastra archivos
- Soporta: PDF, TXT, DOC, DOCX, JSON, MD, PY, JS, HTML, CSS, XML, CSV
- Espera el procesamiento (verás indicador de carga)
- Los documentos persisten incluso si reinicias el servidor
- Una vez subido un archivo, el chat se activa
- Haz preguntas en español sobre tus documentos
- Las respuestas incluyen citas y referencias
- El chat mantiene contexto de conversación
- Cambia a la pestaña "Documentación API"
- Copia los comandos cURL listos para usar
- Actualiza tu API key directamente desde la interfaz
- Integra con n8n, Postman, o cualquier cliente HTTP
gemini-rag/
├── app.py # Backend Flask
├── templates/
│ └── index.html # Frontend con estilo 23°
├── uploads/ # Archivos temporales
├── store_state.json # Estado persistente
├── requirements.txt # Dependencias Python
├── .env # Variables de entorno
├── .gitignore # Exclusiones Git
└── README.md # Esta documentación
- Azul Elegante:
rgb(19, 50, 80)- Fondo principal - Crema Cálido:
rgb(234, 216, 201)- Texto principal - Dorado Premium:
#d4af37- Acentos y botones - Azul Oscuro:
#0a1f2e- Elementos profundos
- Headers: Cormorant SC (serif elegante)
- Body: Open Sans (clean moderno)
- Código: Space Mono (monospace técnico)
- Tamaño máximo de archivo: 100MB
- Tiempo de procesamiento: hasta 120 segundos
- Historial de conversación: últimos 7 mensajes
- Formatos soportados: ver lista arriba
- Asegúrate de tener el archivo
.envcon tu API key - Verifica que el archivo esté en el directorio raíz
- Archivos grandes pueden tardar hasta 2 minutos
- Intenta con archivos más pequeños primero
- La aplicación debería restaurar el estado automáticamente
- Verifica que
store_state.jsonexista y tenga datos
Este proyecto es para uso educativo y demostración. Respeta los términos de servicio de Google Gemini API.
23° RAG Assistant - Donde la elegancia del café premium se encuentra con la inteligencia artificial avanzada. ☕🤖