Creación de Plantillas Dinámicas para Prompts de Chat en Langstead
Clase 30 de 37 • Curso de LangChain
Resumen
¿Qué aportan las plantillas dinámicas en la creación de prompts?
Emplear plantillas dinámicas transforma el proceso de interacción con sistemas automatizados en algo más flexible y personalizado. Utilizando estructuras como Chat Prompt Template
, System Message Prompt Template
y Human Message Prompt Template
de la librería de prompts de Langstead, estos elementos permiten integrar variables en las instrucciones dadas al sistema. Esto asegura que los mensajes se adapten a varios contextos al poder insertar información específica de manera dinámica. Así, el uso de estas plantillas agiliza y enriquece la personalización de la comunicación con modelos de inteligencia artificial.
¿Cómo se crea un prompt de sistema con plantillas?
Crear un prompt de sistema implica varios pasos precisos, comenzando con una plantilla básica que considera las variables necesarias. A continuación, te mostramos cómo se logra esto utilizando el método fromTemplates
:
# Utilizando SystemMessagePromptTemplate
prompt_sistema = SystemMessagePromptTemplate.fromTemplates(
"Eres un experto en productos que debe proporcionar información detallada sobre productos de la marca {marca}."
)
En este ejemplo, {marca}
es una variable que debe especificarse al ejecutar el mensaje. Esto permite que el sistema pueda ofrecer información concreta centrada en una marca elegida por el usuario, destacando la flexibilidad en la creación de prompts con capacidades adaptativas.
¿Cómo hacer un prompt humano?
El objetivo de un prompt humano es capturar e interpretar la consulta planteada por el usuario. La estructura básica utiliza una variable definida que simboliza la pregunta del usuario de la siguiente manera:
# Creando un prompt humano
prompt_humano = HumanMessagePromptTemplate.fromTemplates(
"{consulta_usuario}"
)
Aquí, consulta_usuario
es la variable que almacena la pregunta del usuario. Este setup permite a los modelos entender e integrar fácilmente lo que se le pregunta en cualquier contexto.
¿Cuál es el flujo para integrar las plantillas en un chat?
Integrar las plantillas en un chat implica unir las diferentes piezas —prompt_sistema
y prompt_humano
— en una sola secuencia de mensajes:
# Ejemplo de integración en un chat
prompt_chat = ChatPromptTemplate.fromMessages([prompt_sistema, prompt_humano])
La secuencia establecida da estructura a la interacción, permitiendo que el sistema maneje tanto la información del productor como la consulta del usuario. Esto prepara a la aplicación para ser utilizada en entornos conversacionales realistas y dinámicos.
¿Cómo crear un ejemplo concreto e integrado en un modelo de chat?
Una vez desarrolladas las plantillas de sistema y humano, se puede proceder a formar un mensaje completo que el modelo de chat entienda. Para ello, se utilizan las variables de entrada requeridas:
# Instancia formateada para el modelo de chat
formato_chat = prompt_chat.formatPrompt(
consulta_usuario="¿Qué características tiene el teléfono más nuevo?",
marca="Apple"
)
Este ejemplo sustituye las variables {marca}
y {consulta_usuario}
con valores específicos, listando los mensajes consolidados que el modelo de chat espera recibir y procesar. Esta estructura garantiza que el AI responda de manera coherente y con contexto adecuado.
Te invito a explorar más allá y crear tu propio chatbot que responda preguntas sobre especificaciones técnicas de productos como celulares o electrodomésticos. La ejecución es simple si sigues el proceso mostrado, prueba e innova en distintos mercados y adaptando el idioma según la audiencia objetivo. ¡La creatividad es el único límite!