En este tutorial vamos a aprender cómo aplicar el método “LLM Arena-as-a-Judge” para evaluar las respuestas generadas por modelos de lenguaje grandes. En lugar de asignar un puntaje aislado a cada respuesta, esta técnica compara directamente dos respuestas para decidir cuál es mejor, basándose en criterios que tú mismo defines, como empatía, claridad o tono.
Para este ejemplo usaremos los modelos GPT-4.1 y Gemini 2.5 Pro para generar respuestas, y usaremos GPT-5 como juez para evaluar cuál respuesta es superior. El escenario elegido es el siguiente: un cliente se comunica con soporte porque pidió un mouse inalámbrico pero recibió un teclado por error.
El mensaje del cliente es:
--- Estimado soporte, La semana pasada pedí un mouse inalámbrico, pero recibí un teclado. ¿Podrían solucionarlo lo antes posible? Gracias, John ---
Primero, instalamos las librerías necesarias con:
``` pip install deepeval google-genai openai ```
Para usar las APIs de OpenAI y Google necesitaremos sus claves de acceso. Puedes obtener la clave de Google en https://aistudio.google.com/apikey y la de OpenAI en https://platform.openai.com/settings/organization/api-keys. Es posible que, si eres nuevo, tengas que configurar facturación y hacer un pago mínimo para activar el acceso.
Luego configuramos las variables de entorno para las claves de esta forma:
```python import os from getpass import getpass os.environ["OPENAI_API_KEY"] = getpass('Ingresa tu clave OpenAI: ') os.environ['GOOGLE_API_KEY'] = getpass('Ingresa tu clave Google: ') ```
A continuación, definimos el contexto con el mensaje original del cliente y creamos un prompt para que los modelos generen una respuesta adecuada:
```python context_email = """ Estimado soporte, La semana pasada pedí un mouse inalámbrico, pero recibí un teclado. ¿Podrían solucionarlo lo antes posible? Gracias, John """
prompt = f""" {context_email} --------
Pregunta: Redacta una respuesta para el correo del cliente. """ ```
Para obtener la respuesta de GPT-4.1 usamos:
```python from openai import OpenAI client = OpenAI()
def get_openai_response(prompt: str, model: str = "gpt-4.1") -> str: response = client.chat.completions.create( model=model, messages=[{"role": "user", "content": prompt}] ) return response.choices[0].message.content
openAI_response = get_openai_response(prompt) ```
Y para Gemini 2.5 Pro hacemos algo similar:
```python from google import genai client = genai.Client()
def get_gemini_response(prompt, model="gemini-2.5-pro"): response = client.models.generate_content(model=model, contents=prompt) return response.text
gemini_response = get_gemini_response(prompt) ```
Creamos un caso de prueba donde ambos modelos generan respuesta sobre el mismo contexto y prompt, para luego compararlas:
```python from deepeval.test_case import ArenaTestCase, LLMTestCase
a_test_case = ArenaTestCase( contestants={ "GPT-4": LLMTestCase( input="Redacta una respuesta para el correo del cliente.", context=[context_email], actual_output=openAI_response, ), "Gemini": LLMTestCase( input="Redacta una respuesta para el correo del cliente.", context=[context_email], actual_output=gemini_response, ), }, ) ```
Para evaluar las respuestas definimos un criterio llamado “Calidad del correo de soporte”, que prioriza la empatía, profesionalismo y claridad. Usamos GPT-5 como juez y activamos el modo detallado para entender mejor la evaluación:
```python from deepeval.metrics import ArenaGEval from deepeval.test_case import LLMTestCaseParams
metric = ArenaGEval( name="Calidad del correo de soporte", criteria=( "Selecciona la respuesta que mejor combine empatía, profesionalismo y claridad. " "Debe sonar comprensiva, cortés y concisa." ), evaluation_params=[ LLMTestCaseParams.CONTEXT, LLMTestCaseParams.INPUT, LLMTestCaseParams.ACTUAL_OUTPUT, ], model="gpt-5", verbose_mode=True ) ```
Finalmente, ejecutamos la evaluación:
```python metric.measure(a_test_case) ```
El resultado mostró que GPT-4 ganó la comparación. Su respuesta fue una única respuesta concisa, profesional, que reconocía el error de forma empática, pedía disculpas y explicaba claramente los siguientes pasos: enviar el mouse correcto e indicar cómo devolver el teclado recibido. Además, pidió una foto para verificar el problema, lo que aportó un toque de cortesía y precisión.
Por otro lado, Gemini ofreció varias opciones de respuesta con comentarios adicionales, lo que dispersó la atención y redujo la claridad. Aunque mostró empatía y ofreció etiquetas prepagadas para la devolución, la forma en que afirmó haber ubicado el pedido con seguridad y la presentación múltiple disminuyeron su profesionalismo y concisión en comparación con GPT-4.
En resumen, GPT-4 destacó por brindar una comunicación clara, empática y enfocada, ideal para atención al cliente. Este método “Arena-as-a-Judge” permite evaluar respuestas de modelos de lenguaje de forma más precisa y humana, comparando directamente alternativas bajo criterios definidos.
Así, puedes implementar y adaptar esta metodología en tus proyectos para elegir la mejor respuesta generada por distintos modelos en cualquier escenario.



