Ingeniería LLM · Fácil · 10 min

Plantillas de prompt sin sorpresas

Rellena {{variables}} en un prompt, falla si falta alguna y evita que el texto del usuario abra o cierre marcadores de la plantilla.

Escribe fillTemplate(template, vars). Cada {{nombre}} (con espacios opcionales, como {{ nombre }}) se sustituye por String(vars.nombre). Si una variable de la plantilla no existe en vars, lanza un error cuyo mensaje incluya su nombre. Ojo: 0 y '' son valores válidos.

Los valores vienen del usuario, así que elimina de ellos las secuencias {{ y }} antes de insertarlos. Haz una sola pasada: el texto insertado nunca se vuelve a interpretar como plantilla.

TEMPLATE y INPUT ya están definidos.

Retos 0/4

  • Rellena todas las variables, también con espacios
  • Sustituye una variable repetida y acepta 0
  • Lanza un error que nombra la variable que falta
  • Neutraliza {{ y }} en los valores y no los reinterpreta

function fillTemplate(template, vars) {
  // sustituye cada {{ nombre }}; lanza un error si falta alguno; quita {{ y }} de los valores
  let out = template;
  for (const [key, value] of Object.entries(vars)) {
    out = out.replace('{{' + key + '}}', value);
  }
  return out;
}

console.log(fillTemplate(TEMPLATE, INPUT));
La consola aparece aquí (console.log).

Para profundizar: la herramienta relacionada →

¿Esto en producción, con tus datos? Hablemos 15 minutos →