forked from innovacion/Mayacontigo
6d9686e3731e0fa17fdcc3fe42a34c5bee6406e9
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%