Loading repository data…
Loading repository data…
bladealex9848 / repository
MALLO (MultiAgent LLM Orchestrator) es un sistema avanzado de orquestación de múltiples agentes de Modelos de Lenguaje de Gran Escala (LLMs). Diseñado para manejar consultas complejas, MALLO utiliza una variedad de agentes, desde modelos locales hasta asistentes especializados y APIs de terceros.

MALLO (MultiAgent LLM Orchestrator) es una plataforma avanzada de orquestación de modelos de lenguaje que implementa una arquitectura distribuida basada en agentes. Diseñada específicamente para el procesamiento de consultas complejas, MALLO utiliza un sistema de selección dinámica de agentes que combina:
La arquitectura del sistema se basa en principios de diseño modular y extensible, permitiendo la integración seamless de nuevos modelos y servicios. El núcleo del sistema implementa algoritmos avanzados de evaluación de complejidad y selección de agentes, optimizando la relación entre precisión, latencia y consumo de recursos.
Procesamiento Distribuido:
Integración de Modelos:
Análisis de Complejidad:
Optimización de Recursos:
Motor de Búsqueda Multi-Fuente:
Procesamiento de Contexto:
Sistema de Evaluación Ética:
Mecanismos de Feedback:
UI Moderna y Responsive:
Logging y Observabilidad:
Sistema de Configuración Robusto:
Arquitectura Extensible:
Protección de Datos:
Auditoría y Compliance:
Sistema de Caché Avanzado:
Gestión de Recursos:
MALLO/
│
├── agents.py # Implementación de la clase AgentManager y lógica de agentes
├── config.yaml # Configuración general del sistema
├── config_streamlit.py # Configuración de la interfaz de Streamlit
├── custom_config.json # Configuración personalizada guardada por el usuario
├── document_processor.py # Procesamiento de documentos y OCR
├── error_recovery.json # Registro de errores para recuperación
├── load_secrets.py # Carga de secretos y claves API
├── main.py # Punto de entrada principal y UI de Streamlit
├── model_loader.py # Carga de modelos desde diferentes fuentes (OpenRouter, Groq, Ollama)
├── model_speeds.json # Índice de velocidad de modelos locales y en la nube
├── README.md # Documentación del proyecto (este archivo)
├── utilities.py # Funciones de utilidad y helpers
├── CHANGELOG.md # Registro de cambios y versiones
│
├── .streamlit/ # Configuración de Streamlit
│ └── secrets.toml # Almacenamiento seguro de claves API (no incluido en el repositorio)
│
├── assets/ # Directorio para recursos estáticos (imágenes, estilos, etc.)
│
├── docs/ # Documentación adicional
│ ├── informes/ # Informes técnicos, de investigación y otros documentos
│ │
│ └── ejemplos_consultas/ # Ejemplos de consultas y respuestas para demostración
│
├── legacy_code/ # Código histórico y no esencial
│ ├── cache_manager.py # Sistema de caché (versión anterior)
│ ├── cached_init.py # Inicialización en caché (versión anterior)
│ ├── compatibility_check.py # Verificación de compatibilidad
│ ├── groq_model_speeds.json # Velocidades de modelos Groq
│ ├── mallo.log # Archivo de registro
│ └── mallo_enhancer.py # Lógica experimental para mejorar respuestas
│
├── static/ # Archivos estáticos para la interfaz
│
├── temp/ # Directorio para archivos temporales
│
├── tools/ # Utilidades externas
│ ├── test_groq_model_speed.py # Script para medir velocidad de modelos Groq
│ ├── test_model_speeds.py # Script para medir velocidad de modelos
│ └── test_replicate_model_speed.py # Script para medir velocidad de modelos Replicate
│
├── packages.txt # Dependencias del sistema
└── requirements.txt # Dependencias de Python
Clona el repositorio:
git clone https://github.com/bladealex9848/MALLO.git
cd MALLO
Crea y activa un entorno virtual:
python3 -m venv venv
source venv/bin/activate # En Windows usa `venv\Scripts\activate`
Instala las dependencias:
pip install -r requirements.txt
Configura tus claves API:
Crea un archivo .streamlit/secrets.toml y añade tus claves API:
OPENAI_API_KEY = "tu_clave_openai_aqui"
GROQ_API_KEY = "tu_clave_groq_aqui"
TOGETHER_API_KEY = "tu_clave_together_aqui"
DEEPINFRA_API_KEY="tu_clave_deepinfra_aqui"
ANTHROPIC_API_KEY="tu_clave_anthropic_aqui"
DEEPSEEK_API_KEY="tu_clave_deepseek_aqui"
MISTRAL_API_KEY="tu_clave_mistral_aqui"
COHERE_API_KEY="tu_clave_cohere_aqui"
REPLICATE_API_TOKEN= "tu_clave_replicate_aqui"
OPENROUTER_API_KEY= "tu_clave_openrouter_aqui"
# Añade otras claves API según sea necesario
El archivo config.yaml contiene la configuración principal del sistema. Aquí puedes ajustar:
Ejemplo de configuración:
ollama:
base_url: "http://localhost:11434"
default_model: "gemma2:2b"
models:
- "gemma2:2b"
- "llava:latest"
openai:
default_model: "gpt-5-nano"
models:
- "gpt-5-nano"
# ... (otras co