Creación de Dataset para Evaluar Agentes en Lansmith

Clase 7 de 17Curso de Observabilidad de Agentes AI con LangSmith

Resumen

¿Cómo evaluamos el rendimiento de un agente?

La evaluación del rendimiento de un agente es esencial para asegurar que esté cumpliendo con las expectativas fijadas. Para hacerlo de manera efectiva, se utiliza un conjunto de preguntas y se verifica si las respuestas del agente coinciden con las esperadas. Este proceso se lleva a cabo utilizando un "dataset" o conjunto de datos, que representa los escenarios que el agente debería manejar.

¿Cómo creamos un dataset en Lansmith?

Para crear un dataset en Lansmith, se sigue un proceso organizado y preciso que involucra autenticación y organización de archivos. Comienza con la creación de un cliente de Lansmith, que requiere autenticación mediante la API para poder interactuar correctamente con la plataforma. En este proceso se hace uso de la librería dot env para manejar las credenciales de manera segura.

Pasos para crear el cliente e identificar el proyecto

  1. Configura entorno: Realiza la autenticación y carga el entorno con dot env para incluir credenciales y el nombre del proyecto.
  2. Organiza el proyecto: Crea una carpeta específica para datasets y un archivo llamado dataset generation para gestionar los datos.
  3. Define cliente de Lansmith: Usa el cliente de Lansmith para subir datos y gestionar el proyecto, separadamente de la API de OpenAI.

¿Cómo generar ejemplos para el dataset?

Para generar ejemplos de dataset, se pueden utilizar listas de Python con tuplas que contengan preguntas y sus respectivas respuestas. Estos ejemplos deben estar en un formato de pregunta-respuesta que permita al agente interactuar de manera precisa.

Ejemplo de tuplas en Python

ejemplos = [
    ("¿Cuál es el precio del iPhone 14?", "El iPhone 14 tiene un precio de $799."),
    # Más ejemplos aquí...
]

¿Cómo ayudar a un agente a proporcionar respuestas más completas?

El objetivo es que el agente no solo dé respuestas correctas, sino que también sea amigable y útil. A veces es necesario mejorar el comportamiento del agente para que incluya detalles adicionales, como el uso de emojis o la aplicación de descuentos que aparezcan en su base de datos.

Mejorando respuestas con ChatGPT

El uso de herramientas avanzadas como ChatGPT puede ayudar a generar ejemplos detallados y repetitivos de manera eficiente. Al proporcionar casos de uso y especificaciones de comportamiento, ChatGPT puede ayudar a escribir ejemplos extensos rápidamente.

Ejemplo de prompt de ChatGPT

Tengo una tienda de productos y quiero que el agente:
- Proporcione información detallada.
- Verifique y aplique descuentos.
- Use emojis.

¿Cómo subir y gestionar un dataset?

El proceso de subida requiere un formato específico en el que se separen los inputs (preguntas) de los outputs (respuestas). Luego, se define un dataset por medio de la API de Lansmith y se incluyen los ejemplos generados.

Ejemplo de código para subir dataset

# Inputs y Outputs organizados en listas
inputs = ["Example question 1", "Example question 2"]
outputs = ["Expected answer 1", "Expected answer 2"]

# Creación del dataset
dataset = cliente_lansmith.create_dataset(
    nombre="platzi_store_data_set_version_1",
    descripcion="Data set para evaluar el agente de la tienda de PerciStore",
    ejemplos={"inputs": inputs, "outputs": outputs}
)

¿Cómo verificar y ajustar el dataset?

Después de generar y subir el dataset, es crucial verificar su funcionamiento y corregir posibles errores. Esto se realiza mediante ejecución y revisión del resultado en Lansmith, ajustando y actualizando el dataset según sea necesario.

Comprobación de datos en Lansmith

  1. Revise los ejemplos: Asegúrate de que todos los ejemplos se hayan cargado correctamente.
  2. Corrige errores: Si hay errores en la carga, ajusta el código y sube una nueva versión del dataset.
  3. Verifica inputs y outputs: Revisa detalladamente que los inputs y outputs estén como se espera para asegurar la precisión de las pruebas del agente.

Con estos pasos, podrás crear, manejar y verificar datasets efectivos para evaluar el rendimiento de cualquier agente, asegurando que su comportamiento sea el esperado. ¡Sigue construyendo y perfeccionando tus datasets para mejorar la interacción de los agentes en tu plataforma!