Lección 13 · 04 Python con IA
Prompts como datos: plantillas
Un prompt que usas cien veces no se escribe cien veces: se guarda como plantilla y se rellena con los datos de cada caso. Así se trabaja con IA en serio.
Tu modelo de práctica
En esta sección tienes una función ya preparada: modelo(prompt). Recibe un texto y devuelve un texto, igual que la llamada a cualquier LLM.
print(modelo("Clasifica este mensaje. Texto: no me ha llegado la factura"))
print(modelo("Dime el sentimiento. Texto: el envío fue rapidísimo, gracias"))
print(modelo("Resume. Texto: La reunión se mueve al jueves. Traed los datos de ventas."))modelo() no es una IA: responde con reglas fijas y vive en tu navegador. Sirve para aprender el patrón sin claves, sin coste y sin que tus datos salgan de tu equipo. Con un modelo real, el código que escribes aquí es el mismo; solo cambia esa función.Plantilla = instrucciones fijas + huecos
PLANTILLA = """Clasifica el mensaje de un cliente en una categoría:
facturación, incidencia, ventas u otros.
Responde solo con la categoría.
Texto: {mensaje}"""
def clasificar(mensaje):
prompt = PLANTILLA.format(mensaje=mensaje)
return modelo(prompt)
print(clasificar("La web no carga desde esta mañana"))
print(clasificar("¿Qué precio tiene el plan anual?")).format() rellena los huecos {...} igual que una f-string, pero más tarde: la plantilla se escribe una vez y se rellena en cada llamada. Por convención, las constantes van en MAYÚSCULAS.
Por qué separar
- Mejoras el prompt en un solo sitio y vale para todos los casos.
- Puedes versionarlo y probar variantes (v1, v2) con los mismos datos.
- Los datos del usuario van en un hueco marcado (
Texto:), separados de tus instrucciones: el modelo distingue mejor qué es orden y qué es contenido.
Rellena la plantilla
Define preparar(rol, tarea) que devuelva PLANTILLA rellenada con .format().
¿Atascado? Ver pista
return PLANTILLA.format(rol=rol, tarea=tarea).
Clasifica con el modelo
Define clasificar(mensaje) que construya un prompt pidiendo clasificar el mensaje (debe contener la palabra Clasifica y terminar en Texto: <mensaje>) y devuelva lo que responda modelo().
¿Atascado? Ver pista
prompt = f"Clasifica el mensaje en facturación, incidencia, ventas u otros.\nTexto: {mensaje}"
return modelo(prompt)El mismo prompt, muchos datos
Usa tu función de clasificar con cada mensaje de la lista y guarda los resultados, en orden, en categorias. Imprime cada mensaje con su categoría.
¿Atascado? Ver pista
for m in mensajes:
c = clasificar(m)
categorias.append(c)
print(c, "→", m)