Contenido del curso
Trazabilidad
Evaluación y Monitoreo
- 6

Qué hace LangSmith más allá del tracing
03:51 min - 7

Crea tu primer dataset de evaluación en LangSmith
Viendo ahora - 8

Evaluación automática vs LLM as a Judge
04:40 min - 9

Evaluación de Agentes con Python en PlatziStore Agent
12:26 min - 10

Evaluación y Mejora de Agentes Virtuales en Langsmith
12:00 min - 11

Evaluación de trayectoria en agentes de IA
11:36 min - 12

Evaluación de Feedback en Agentes Conversacionales
07:09 min - 13

Técnicas de Observabilidad para Optimizar Inventarios en eCommerce
08:28 min
Optimización
Crea tu primer dataset de evaluación en LangSmith
Resumen
Evaluar si un agente de IA responde como esperas requiere algo más que pruebas manuales. Necesitas un dataset estructurado en LangSmith con preguntas y respuestas de referencia que sirvan como criterio objetivo para medir su desempeño. Aquí verás cómo construir ese primer dataset paso a paso, usando Python, autenticación con API key y generación asistida con ChatGPT-4o.
¿Por qué necesitas un dataset para evaluar un agente?
Un agente puede responder bien una pregunta y fallar en la siguiente. Sin un punto de comparación, no sabrás si está siendo consistente.
El dataset funciona como tu vara de medición: una colección de preguntas con sus respuestas esperadas que defines tú, según el comportamiento que quieres del agente. Si esperas que use emojis, que aplique descuentos cuando existan o que sugiera alternativas cuando un producto no esté disponible, el dataset captura esa expectativa.
¿Qué es un dataset en LangSmith? Es una colección de pares input/output que representa el comportamiento esperado de tu agente. LangSmith lo usa como referencia para correr experimentos y comparar respuestas reales contra respuestas ideales.
¿Cómo configurar el cliente de LangSmith en Python?
El primer paso es crear una carpeta llamada dataset dentro del proyecto y un archivo dataset_generation.py. A diferencia de OpenAI, aquí no importas modelos: importas el cliente de LangSmith porque vas a interactuar con su plataforma, no con un modelo de lenguaje [01:00].
La autenticación se hace con una API key cargada desde un archivo de variables de entorno usando dotenv. Esa misma configuración trae el nombre del proyecto donde se almacenará el dataset.
python from langsmith import Client from dotenv import load_dotenv
load_dotenv() client = Client()
Con eso quedas identificado contra la organización de LangSmith y listo para subir información.
¿Cómo generar ejemplos realistas para el dataset?
La estructura básica es una lista de Python con tuplas. El primer elemento es la pregunta del usuario, el segundo es la respuesta esperada del agente.
Por ejemplo, si preguntas ¿cuál es el precio del iPhone 14?, la respuesta esperada podría ser El iPhone 14 tiene un precio de 799 dólares. Pero ahí está el detalle: tal vez quieras que el agente vaya más allá.
¿Qué comportamientos puedes definir en las respuestas esperadas?
El dataset es donde codificas la trayectoria que quieres del agente. Algunos ejemplos:
- Que use emojis para sonar más amigable.
- Que primero busque el producto y luego verifique si tiene descuento aplicable.
- Que reste el porcentaje de descuento y muestre el precio final cuando aplique.
- Que sugiera productos alternativos si el solicitado no existe.
En una prueba previa, el agente solo buscaba el producto y omitía verificar el descuento. Con el dataset puedes forzar la trayectoria correcta: buscar primero, validar descuento después [03:30].
¿Cómo usar ChatGPT-4o para generar ejemplos a escala?
Escribir 30 ejemplos a mano es tedioso. La alternativa es apoyarte en un modelo existente con un prompt bien estructurado que incluya:
- Descripción del caso de uso (tienda de productos).
- Reglas de comportamiento del agente (información detallada, verificación de descuentos, uso de emojis).
- Formato esperado: pregunta del usuario / respuesta del agente.
- Un ejemplo concreto ya escrito.
- Una muestra del catálogo real desde
products.json.
El resultado es un bloque de ejemplos coherentes que puedes revisar, ajustar o volver a iterar hasta que reflejen lo que esperas.
¿Cómo subir el dataset a LangSmith?
LangSmith pide un formato específico: dos listas separadas, una para inputs y otra para outputs, donde cada elemento es un diccionario.
python inputs = [{"question": prompt} for prompt, _ in ejemplos] outputs = [{"answer": answer} for _, answer in ejemplos]
Fíjate en el detalle: las llaves dentro de cada elemento van con dos puntos, no con coma. Ese error tipográfico genera un fallo al subir y crea un dataset vacío con cero ejemplos [07:15].
¿Por qué falla la creación del dataset en LangSmith? Casi siempre es por formato incorrecto en los inputs u outputs. Deben ser listas de diccionarios con llaves explícitas, no tuplas ni listas planas.
La creación del dataset se hace con client.create_dataset indicando un nombre único, una descripción y luego agregando los ejemplos con el ID del dataset recién creado.
python dataset = client.create_dataset( dataset_name="Platzi Store Dataset v2", description="Dataset para evaluar el agente de la tienda de Platzi Store" ) client.create_examples(inputs=inputs, outputs=outputs, dataset_id=dataset.id)
Una vez ejecutado el script, en LangSmith encuentras la sección Datasets & Experiments con el dataset creado y sus 30 ejemplos cargados, listos para correr experimentos.
¿Qué sigue después de tener el dataset listo?
Tener el dataset es solo la mitad del trabajo. La otra mitad es someter al agente a esos ejemplos y medir qué tan cerca está de las respuestas de referencia.
Este no será el único dataset que generes. A lo largo de un proyecto irás creando versiones nuevas para probar comportamientos distintos, casos extremos o nuevas funcionalidades del agente. Cada versión te da una foto del estado real del sistema.
¿Ya tienes claro qué comportamientos quieres evaluar en tu agente? Cuéntame en los comentarios qué reglas definirías tú en tu propio dataset.