Evaluación de Agentes con Python en PlatziStore Agent
Clase 9 de 17 • Curso de Observabilidad de Agentes AI con LangSmith
Resumen
¿Cómo implementar funciones de evaluación en código?
Para adentrarnos en el mundo de la programación avanzada, es esencial comprender cómo evaluar funciones a través de la programación. En este contenido, desglosaremos los pasos dados para crear evaluaciones mediante un ejemplo práctico de un agente en PlatziStore. Abordaremos cómo usar datasets, modelos de evaluación, bibliotecas y algoritmos para lograr una evaluación completa.
¿Qué es un archivo de evaluación en Python?
El primer paso en la implementación es crear un archivo de Python dedicado a la evaluación. En nuestro proyecto de PlatziStore, este archivo se llama evaluation.py
. Aquí es donde se integrarán distintas funciones y se realizará la evaluación, utilizando un dataset previamente generado.
import json
# Otros imports necesarios basados en el contexto del archivo
¿Cómo configurar el cliente OpenAI y las herramientas necesarias?
Para simular las condiciones del agente, es crucial inicializar correctamente los clientes y herramientas necesarias, como el cliente de OpenAI y las variables de entorno.
import openai
# Inicializa el cliente de OpenAI
openai_client = openai.OpenAI
# Configura las variables de entorno
¿Cómo definir el comportamiento esperado usando el modelo?
Para evaluar las respuestas del agente, creamos criterios de evaluación fundamentales:
- Kines: Evalúa si la respuesta se expresa de manera efusiva.
- Emoji Checker: Verifica si la respuesta contiene emojis.
Función de evaluación de Kines
La función de Kines compara las respuestas generadas por el agente con respuestas de referencia dentro del dataset.
def evaluate_kines(output, reference_output):
# Llama al modelo de OpenAI con un prompt específico
respuesta = openai.Completion.create(
model="4O-mini",
# Otros parámetros necesarios
)
return {
"kines": respuesta_score
}
Función de evaluación de emojis
Esta función determina si existen emojis en la respuesta.
def evaluate_contains_emoji(output):
emojis = ['🙂', '😃', '😊', '😍'] # Lista de emojis comunes
contiene_emoji = any(emoji in output for emoji in emojis)
return {
"contains_emoji": contiene_emoji
}
¿Cómo usar el dataset con evaluadores?
El paso final en la configuración de la evaluación es llamar y aplicar el dataset usando los evaluadores que hemos definido.
dataset_name = "platzi_store_dataset_v2"
def run_evaluations():
# Asigna el dataset y los evaluadores
evaluators = {
"kines": evaluate_kines,
"contains_emoji": evaluate_contains_emoji
}
# Configura el experimento
experiment = {
"target": "emulated_agent",
"dataset_name": dataset_name,
"evaluators": evaluators,
"description": "Evaluación de amabilidad y presencia de emojis"
}
return experiment
¿Cómo personalizar y optimizar las evaluaciones?
Es beneficioso ajustar los parámetros de las evaluaciones para ahorrar tiempo y recursos. Configurar correctamente la concurrencia y asegurar que los parámetros pasados sean correctos es crucial para obtener resultados válidos.
Con estos pasos, hemos implementado un sistema de evaluación para agentes en PlatziStore. Evaluar adecuadamente es primordial para optimizar respuestas y mejorar la interacción con los usuarios. Continúa explorando y experimentando para perfeccionar tus habilidades en la implementación de evaluaciones complejas y precisas. ¡Sigue aprendiendo e innovando!