forked from innovacion/Mayacontigo
155 lines
3.8 KiB
Markdown
155 lines
3.8 KiB
Markdown
# 💬 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 <nombre-app>
|
|
|
|
# Creación interactiva
|
|
mise new
|
|
```
|
|
|
|
### 🖥️ Entorno de Desarrollo
|
|
|
|
```bash
|
|
# Inicia servidores de desarrollo (frontend + backend)
|
|
mise dev
|
|
mise dev --app <nombre-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 <nombre-app>
|
|
|
|
# Subir imágenes a Azure Container Registry
|
|
mise container:push
|
|
mise container:push <nombre-imagen>
|
|
```
|
|
|
|
---
|
|
|
|
## 🏗️ 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 <nombre-contenedor>
|
|
```
|
|
|
|
---
|
|
|
|
## 🤝 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* 🚀
|