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.
// reto 01

Rellena la plantilla

Define preparar(rol, tarea) que devuelva PLANTILLA rellenada con .format().

main.py
Ctrl/⌘ + Enter
¿Atascado? Ver pista

return PLANTILLA.format(rol=rol, tarea=tarea).

$ python main.py
    // reto 02

    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().

    main.py
    Ctrl/⌘ + Enter
    ¿Atascado? Ver pista
    prompt = f"Clasifica el mensaje en facturación, incidencia, ventas u otros.\nTexto: {mensaje}"
    return modelo(prompt)
    $ python main.py
      // reto 03

      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.

      main.py
      Ctrl/⌘ + Enter
      ¿Atascado? Ver pista
      for m in mensajes:
          c = clasificar(m)
          categorias.append(c)
          print(c, "→", m)
      $ python main.py