# 💬 ChatEgresos ChatEgresos es un proyecto del equipo de Innovación en **Banorte** diseñado para acelerar la creación de aplicaciones **RAG (Retrieval-Augmented Generation)** enfocadas en la gestión, consulta y análisis de información de egresos. Este repositorio no solo contiene la aplicación principal, sino también una librería de componentes reutilizables y notebooks para el procesamiento de documentos, evaluación de modelos y generación de datos sintéticos. --- ## 🚀 Inicio Rápido ```bash # Instala dependencias del monorepo mise setup # Crea una nueva aplicación RAG (ejemplo de prueba) mise new prueba # Levanta un entorno de desarrollo mise dev --app prueba ``` --- ## ✅ Prerrequisitos Si estás en el entorno de desarrollo oficial, ya deberías contar con estas herramientas. De lo contrario, instálalas previamente: - **Mise** → [Documentación](https://mise.jdx.dev/) - **Docker** → [Documentación](https://www.docker.com/) - **Vault** → [Documentación](https://developer.hashicorp.com/vault/) --- ## 📂 Estructura del Proyecto ``` chategresos/ ├── apps/ # Aplicaciones individuales de ChatEgresos ├── packages/ # Paquetes compartidos ├── notebooks/ # Notebooks para procesamiento y evaluación ├── .templates/ # Plantillas de aplicaciones ├── .containers/ # Configuraciones de Docker └── compose.yaml # Servicios de Docker Compose ``` --- ## 🛠️ Comandos de Desarrollo ### 📌 Crear Nuevos Proyectos ```bash # Crea una nueva aplicación RAG mise new # Creación interactiva mise new ``` ### 🖥️ Entorno de Desarrollo ```bash # Inicia servidores de desarrollo (frontend + backend) mise dev mise dev --app # App específica mise dev --no-dashboard # Sin dashboard en vivo mise dev --check-deps # Verifica dependencias mise dev --list-apps # Lista apps disponibles ``` ### 📦 Gestión de Contenedores ```bash # Inicia contenedores localmente mise container:start mise container:start # Subir imágenes a Azure Container Registry mise container:push mise container:push ``` --- ## 🏗️ Stack Tecnológico ### Tecnologías Principales - **Frontend** → React / Next.js + TypeScript - **Backend** → Python + FastAPI / Uvicorn - **Paquetería** → pnpm (Node.js), uv (Python) - **Contenedores** → Docker & Docker Compose ### Infraestructura - **Gestión de Secretos** → HashiCorp Vault - **Registro de Contenedores** → Azure Container Registry - **Observabilidad** → OpenTelemetry - **Proxy Inverso** → Traefik --- ## 🎯 Tu Primera App en ChatEgresos 1. **Genera desde plantilla** ```bash mise new mi-app-chategresos ``` 2. **Inicia el entorno** ```bash mise dev --app mi-app-chategresos ``` 3. **Accede a tu aplicación** - 🌐 Frontend: [http://localhost:3000](http://localhost:3000) - ⚙️ API Backend: [http://localhost:8000](http://localhost:8000) --- ## 🔧 Configuración ### Desarrollo Local - Frontend → Puerto `3000` - Backend APIs → Puerto `8000` - Contenedores → Puertos auto-asignados (8001+) ### Depuración - Usa `--no-dashboard` para un log más limpio - Ejecuta `mise dev --check-deps` para verificar dependencias - Logs de contenedores: ```bash docker logs ``` --- ## 🤝 Contribuyendo 1. Crea nuevas aplicaciones usando las plantillas disponibles 2. Respeta la estructura del monorepo 3. Usa los comandos de desarrollo recomendados 4. Verifica dependencias y realiza pruebas antes de hacer PRs --- ## 📖 Recursos Adicionales - 📁 **Plantillas** → `.templates/` - 🐳 **Docker Config** → `.containers/` - ⚡ **Tareas Automáticas** → `.mise/tasks/` --- ✨ *ChatEgresos: Innovación con IA para la gestión de egresos* 🚀