Una semana después llegan las preguntas
Mantener una función de IA es conocer cada semana su coste, su velocidad y su calidad. Una aseguradora pequeña de Bilbao lanzó el lunes una función que resume partes de siniestro. Finanzas pregunta cuánto cuesta. Atención al cliente pregunta por qué algunas respuestas tardan.
Las impresiones no sirven. En este proyecto final sacas las cifras de una semana grabada y las escribes en una página.
Al final de esta lección
Nota
Puedo informar del coste, la velocidad y la calidad de una función de IA en marcha.
Palabras clave
| Palabra | Qué significa | Ejemplo |
|---|---|---|
| Token | un trozo pequeño de texto que un modelo lee o escribe | |
| Latencia | lo que tarda una petición | |
| Mediana | el valor del medio una vez ordenados | |
| Percentil | el valor por debajo del cual queda una parte de las peticiones | percentil 95 |
| Nota de calidad | la parte de una muestra de respuestas valorada como buena |
Las celdas que rellenan los estudiantes quedan en blanco en esta vista previa.
Para profundizar
Nota
Este proyecto lee cifras e informa de ellas. Las lecciones de IA de la página Recursos enseñan a recogerlas. Coste, trazado y fiabilidad. Evaluar sistemas de IA a fondo. Operar funciones de IA.
El coste sale de los tokens
Un modelo se suele pagar por token, de entrada y de salida. El texto que envías son tokens de entrada. La respuesta son tokens de salida, y esos suelen costar más.
Así que el coste depende de lo largos que sean tus prompts, no solo de cuántas peticiones llegan. El programa calcula el coste de cada día de una semana grabada, con precios inventados.
Pruébalo: el coste de una semana
# Una semana grabada de una función de resúmenes.
# Los tokens se cuentan en miles. Precios inventados para practicar.
CENTS_PER_THOUSAND_IN = 1
CENTS_PER_THOUSAND_OUT = 4
days = [
{"day": "lun", "requests": 400, "in": 800, "out": 120},
{"day": "mar", "requests": 420, "in": 840, "out": 130},
{"day": "mié", "requests": 380, "in": 760, "out": 110},
{"day": "jue", "requests": 900, "in": 2700, "out": 300},
{"day": "vie", "requests": 410, "in": 820, "out": 125},
]
total_cents = 0
total_requests = 0
for day in days:
cents = day["in"] * CENTS_PER_THOUSAND_IN + day["out"] * CENTS_PER_THOUSAND_OUT
print(day["day"], cents, "céntimos")
total_cents = total_cents + cents
total_requests = total_requests + day["requests"]
print("Semana:", total_cents, "céntimos por", total_requests, "peticiones")
# ¿Qué día destaca? Dale al jueves las cifras del lunes y vuelve a ejecutar.
La media esconde las peticiones lentas
La latencia es lo que tarda una petición. La media parece útil, pero dos peticiones muy lentas se esconden en ella.
Por eso se informa de la mediana, el valor del medio, y del percentil 95. Ordena los tiempos. El percentil 95 es el tiempo que no superan 95 de cada 100 peticiones. Es lo que viven tus usuarios más lentos.
Pruébalo: mediana, media y percentil 95
# Una muestra grabada: 20 tiempos de respuesta en segundos.
times = [1.2, 1.1, 1.4, 1.3, 1.2, 1.5, 1.1, 1.3, 1.2, 9.8,
1.4, 1.2, 1.3, 1.1, 1.6, 1.2, 1.3, 8.9, 1.4, 1.2]
ordered = sorted(times)
middle = ordered[len(ordered) // 2]
print("Mediana:", middle, "segundos")
total = 0
for t in times:
total = total + t
print("Media:", round(total / len(times), 2), "segundos")
# El 95 por ciento de 20 es 19, así que el tiempo 19 en orden.
print("Percentil 95:", ordered[18], "segundos")
La calidad, y después una página
El coste y la velocidad importan poco si las respuestas son malas. Cada semana, una persona valora una muestra fija, por ejemplo 50 respuestas. La parte valorada como buena es la nota de calidad.
Después, las tres cosas van en una página: la cifra, el objetivo y lo que vas a hacer. Una responsable debería poder decidir solo con esa página.
Ejemplo resuelto: el informe de una página
| Medida | Esta semana | Objetivo | Acción |
|---|---|---|---|
| Coste | 90,60 € por 2510 peticiones | Menos de 80 € | Acortar el prompt que se envía el jueves |
| Latencia mediana | 1,3 segundos | Menos de 2 segundos | Ninguna |
| Percentil 95 | 8,9 segundos | Menos de 5 segundos | Buscar las peticiones lentas en los registros |
| Nota de calidad | 44 de 50 buenas | 45 de 50 | Añadir los 6 fallos al conjunto de evaluación |
Las celdas que rellenan los estudiantes quedan en blanco en esta vista previa.
Un error frecuente
Advertencia
Mucha gente cree que el tiempo medio de respuesta dice cómo se siente una función. Unas pocas peticiones muy lentas se esconden dentro de una buena media. Informa también del percentil 95, porque es lo que viven tus usuarios más lentos.