forked from innovacion/Mayacontigo
cccf0a47843f74ab19ff034557ebf9ebd31e3101
Update the release workflow to build and tag the new images. The images are now tagged with the image name and the latest tag. The build cache has been removed as it is not needed.
MayaContigo Monorepo
Bonjour, Este monorepo contiene todas las applicaciones RAG del equipo de Innovacion en Banorte. Su proposito es poder acelerar la creacion de nuevos RAGs, e ir construyendo una libreria de componentes reutilizables. Adicionalmente, tambien contiene una serie de notebooks para procesar documentos, evaluar RAGs, generar preguntas sinteticas, etc/
🚀 Inicio Rápido
# Instala el monorepo
mise setup
# Crea una nueva aplicación RAG
mise new prueba
# Creación interactiva
mise dev --app prueba
Prerrequisitos
Si estas en el ambiente de desarrollo oficial, tu maquina virtual ya cuenta con estos programas.
📁 Estructura del Proyecto
mayacontigo/
├── apps/ # Aplicaciones individuales
├── packages/ # Paquetes compartidos
├── notebooks/ # Marimo notebooks
├── .templates/ # Plantillas de proyecto
├── .containers/ # Configuraciones de Docker
└── compose.yaml # Servicios de Docker Compose
🛠️ Comandos de Desarrollo
Crear Nuevos Proyectos
# Crea una nueva aplicación RAG
mise new <nombre-app>
# Creación interactiva
mise new
Entorno de Desarrollo
# Inicia servidores de desarrollo (frontend + backend)
mise dev # Selección interactiva de aplicación
mise dev --app <nombre-app> # Inicia aplicación específica
mise dev --no-dashboard # Deshabilita el dashboard en vivo
mise dev --check-deps # Solo verifica dependencias
mise dev --list-apps # Lista aplicaciones disponibles
Gestión de Contenedores
# Inicia contenedores localmente
mise container:start # Selección interactiva
mise container:start <nombre-app> # Inicia aplicación específica
mise container:start --list # Lista contenedores disponibles
# Sube a Azure Container Registry
mise container:push # Selección interactiva
mise container:push <nombre-imagen> # Sube imagen específica
mise container:push --list # Lista imágenes disponibles
🏗️ Stack Tecnológico
Tecnologías Centrales
- Frontend: React/Next.js con TypeScript
- Backend: Python con FastAPI/Uvicorn
- Gestión de Paquetes: pnpm (Node.js), uv (Python)
- Contenedorización: Docker & Docker Compose
Infraestructura
- Gestión de Secretos: HashiCorp Vault
- Registro de Contenedores: Azure Container Registry
- Observabilidad: OpenTelemetry
- Proxy Inverso: Traefik
🎯 Creando tu Primera Aplicación
-
Genera desde plantilla
mise new mi-app-rag -
Inicia desarrollo
mise dev --app mi-app-rag -
Accede a tu aplicación
- Frontend: http://localhost:3000
- API Backend: http://localhost:8000
🔧 Configuración
Desarrollo Local
- Frontend corre en puerto 3000
- APIs Backend corren en puerto 8000
- Servicios Docker usan puertos auto-asignados (8001+)
Depuración
- Usa
--no-dashboardpara salida más simple - Verifica
mise dev --check-depspara problemas de dependencias - Ve logs de contenedores con
docker logs <nombre-contenedor>
🤝 Contribuyendo
- Crea nuevas aplicaciones usando el sistema de plantillas
- Sigue la estructura del monorepo
- Usa los comandos de desarrollo proporcionados
- Asegúrate de que todas las dependencias estén correctamente configuradas
📖 Recursos Adicionales
- Plantillas: Revisa
.templates/para plantillas de proyecto disponibles - Docker: Ve
.containers/para configuraciones de contenedorización - Tareas: Explora
.mise/tasks/para scripts de automatización disponibles
¡Feliz programación! 🚀
Description
Languages
Python
70.7%
TypeScript
23.8%
JavaScript
2.2%
Jinja
1.1%
HTML
0.8%
Other
1.4%