RouteLLM: Framework Optimizing LLM Routing para Rendimiento y Costos

RouteLLM optimiza LLM routing combinando modelos potentes y económicos con enrutadores preentrenados, reduciendo costos hasta 85% manteniendo 95% del rendimiento GPT-4. Soporta calibración automática y personalización para balance costo-calidad. https://tinyurl.com/y6wpw2fd

M
MIIA
editorial
10 de agosto de 2025·4 min de lectura
RouteLLM: Framework Optimizing LLM Routing para Rendimiento y Costos

RouteLLM es un marco flexible diseñado para gestionar y evaluar enrutadores de modelos de lenguaje grandes (LLM), con el objetivo de maximizar el rendimiento y reducir costos.

Entre sus características principales destacan:

- Integración sencilla: funciona como un reemplazo directo del cliente de OpenAI o puede operar como un servidor compatible, dirigiendo de forma inteligente las consultas más simples a modelos más económicos. - Enrutadores preentrenados listos para usar: han demostrado reducir costos hasta en un 85%, manteniendo un 95% del desempeño de GPT-4 en benchmarks populares como MT-Bench. - Excelente relación costo-beneficio: logra rendimientos similares a los mejores servicios comerciales, pero con un ahorro superior al 40%. - Altamente personalizable: permite añadir nuevos enrutadores, ajustar umbrales y comparar resultados en diferentes métricas.

A continuación, te explicamos cómo utilizar RouteLLM para optimizar el uso de modelos:

1. Instalación de dependencias: Para comenzar, instala el paquete con sus módulos de servicio y evaluación usando: ```bash pip install "routellm[serve,eval]" ```

2. Configurar la clave API de OpenAI: Genera tu clave desde la plataforma oficial de OpenAI. Ten en cuenta que si eres usuario nuevo, es necesario añadir datos de facturación y realizar un pago mínimo para activar el acceso a la API.

3. Configuración inicial: RouteLLM utiliza un archivo de configuración para ubicar los puntos de control de los enrutadores preentrenados y los datasets en los que fueron entrenados. Por lo general, no es necesario modificar esta configuración, a menos que quieras entrenar un enrutador propio o cambiar completamente la lógica de enrutamiento.

Puedes descargar un ejemplo de configuración con: ```bash wget https://raw.githubusercontent.com/lm-sys/RouteLLM/main/config.example.yaml ```

4. Inicializar el controlador de RouteLLM: Aquí creamos una instancia del controlador que administra el enrutamiento de las consultas. En este tutorial, usamos el enrutador Matrix Factorization ("mf"), que decide si enviar una pregunta al modelo "fuerte" (gpt-5) o al "débil" (o4-mini), buscando un balance entre costo y calidad.

```python from routellm.controller import Controller

client = Controller( routers=["mf"], strong_model="gpt-5", weak_model="o4-mini" ) ```

5. Calibrar el umbral de enrutamiento: Se realiza una calibración para definir el punto en que una consulta se redirige al modelo fuerte. Por ejemplo, para que aproximadamente el 10% de las peticiones usen el modelo costoso, el umbral óptimo encontrado fue 0.24034.

```bash python -m routellm.calibrate_threshold --routers mf --strong-model-pct 0.1 --config config.example.yaml ```

6. Prueba con diferentes tipos de consultas: Se crean ejemplos que van desde preguntas muy simples (que irán al modelo débil) hasta tareas complejas o creativas que requieren el modelo fuerte. También se incluyen consultas de generación de código.

```python threshold = 0.24034

prompts = [ "Who wrote the novel 'Pride and Prejudice'?", "What is the largest planet in our solar system?", "If a train leaves at 3 PM and travels 60 km/h, how far will it travel by 6:30 PM?", "Explain why the sky appears blue during the day and red/orange during sunset.", "Write a 6-line rap verse about climate change using internal rhyme.", "Summarize the differences between supervised, unsupervised, and reinforcement learning with examples.", "Write a Python function to check if a given string is a palindrome, ignoring punctuation and spaces.", "Generate SQL to find the top 3 highest-paying customers from a 'sales' table." ] ```

7. Evaluar las tasas de acierto: Se calcula la probabilidad de que el modelo fuerte supere al débil en cada consulta. Por ejemplo, dos prompts sobre cálculo de distancia y función en Python obtuvieron valores mayores al umbral, por lo que se dirigen al modelo fuerte.

8. Enviar consultas usando el umbral calibrado: Se hace un recorrido por los prompts y, según el umbral, el enrutador decide qué modelo utilizar. Se almacena la respuesta junto con el modelo que la generó para análisis posteriores.

```python results = [] for prompt in prompts: response = client.chat.completions.create( model=f"router-mf-{threshold}", messages=[{"role": "user", "content": prompt}] ) message = response.choices[0].message["content"] model_used = response.model results.append({ "Prompt": prompt, "Model Used": model_used, "Output": message })

import pandas as pd df = pd.DataFrame(results) ```

En resumen, RouteLLM permite optimizar el uso de modelos de lenguaje, enviando consultas simples a modelos más económicos y reservando los potentes para tareas complejas, equilibrando calidad y costos de forma automatizada.

fuente original
https://www.marktechpost.com/2025/08/10/using-routellm-to-optimize-llm-usage/
Prueba MIIA

Agentes de IA para WhatsApp, Instagram y Messenger. Configurados en 10 minutos.

Seguir leyendo

relacionado con #gestión de modelos de lenguaje · #optimización de costos · #enrutamiento de consultas
Prueba MIIA gratis →
WhatsApp