Publicado: 23 de abril de 2024
Colaboradores: Vrunda Gadesha, Eda Kavlakoglu
El prompt chaining es una técnica de procesamiento del lenguaje natural (PLN) que aprovecha modelos de lenguaje de gran tamaño (LLM) para generar un resultado deseado siguiendo una serie de prompts. En este proceso, se proporciona una secuencia de indicaciones a un modelo de PLN, guiándolo para producir la respuesta deseada. El modelo aprende a comprender el contexto y las relaciones entre las solicitudes, lo que le permite generar un texto coherente, consistente y contextualmente rico[1].
El concepto es la implementación avanzada de prompt engineering. Ha cobrado gran importancia en el campo del PLN debido a su capacidad para mejorar la calidad y controlabilidad de la generación de texto. La prompt chain eficaz se puede implementar como técnica de ingeniería sobre otros enfoques, como modelos personalizados zero-shot, few-shot o ajustados [2]. Al proporcionar una dirección y una estructura claras, el prompt chaining ayuda al modelo a comprender mejor las intenciones del usuario y a producir respuestas más precisas y relevantes.
El prompt chaining puede mejorar la eficacia de la asistencia de la IA en diversos dominios. Al dividir las tareas complejas en indicaciones más pequeñas y encadenarlas, los desarrolladores pueden crear respuestas más personalizadas y precisas adaptadas a las necesidades individuales de los usuarios. Este enfoque no solo mejora la experiencia general del usuario, sino que también permite una mayor personalización y adaptabilidad en respuesta a los cambios en los requisitos del usuario o en los escenarios de aplicación[3].
Explore por qué la IA es una prioridad para el servicio al cliente, cómo crear una IA responsable y su papel en la optimización de los centros de contacto y la mejora de la experiencia del cliente.
Solicite una copia de la guía del CEO sobre IA generativa
Hay dos tipos principales de prompts que se generan cuando se trabaja con LLM. Estos son:
Son prompts básicos que contienen una sola instrucción o pregunta para que el modelo responda. Por lo general, se utilizan para iniciar un conversación o para solicitar información. Un ejemplo de un mensaje simple sería: "¿Qué tiempo hace hoy?"
Estos prompts dinámicos contienen varias instrucciones o preguntas que requieren que el modelo realice una serie de acciones o proporcione una respuesta detallada. A menudo se utilizan para facilitar tareas más avanzadas o para entablar conversaciones más profundas. Un ejemplo de mensaje complejo sería: "Estoy buscando un restaurante que sirva comida vegana y esté abierto hasta las 10 p. m. ¿Me puede recomendar uno?"
Convertir un prompt complejo en una serie de prompts simples puede ayudar a dividir una tarea compleja en subtareas más pequeñas. Este enfoque puede facilitar a los usuarios la comprensión de los pasos necesarios para completar una solicitud y reducir el riesgo de errores o malentendidos.
Consideremos el escenario en el que tenemos información en español. Necesitamos extraer la información, pero no entendemos español. En primer lugar, tenemos que traducir el texto del español al inglés. Luego, debemos hacer una pregunta para extraer la información y después traducir la información extraída del inglés al español nuevamente. Esta es una tarea compleja, y si intentamos combinar estos pasos en una sola indicación, será demasiado compleja, lo que aumentará la probabilidad de que haya más errores en la respuesta. Como resultado, es mejor convertir un mensaje complejo en una secuencia de mensajes simples. Algunos pasos para hacer esto incluyen:
Aquí nuestro mensaje complejo es: "Considere el texto dado en español. Tradúzcalo al inglés. Encuentre todas las estadísticas y hechos utilizados en este texto y enumérelos como viñetas. Tradúzcalos de nuevo al español".
Para convertir este prompt complejo en prompts sencillos, podemos descomponer el objetivo principal en acciones o tareas más pequeñas, y podemos crear una cadena de avisos como la siguiente:
Un prompt chain estructurado es un conjunto predefinido de prompts o preguntas diseñadas para guiar a un usuario a través de una conversación específica o una serie de acciones, lo que garantiza un flujo de información consistente y controlado[4]. Se utiliza a menudo en atención al cliente, tutorías y otros sistemas interactivos para mantener la claridad, precisión y eficacia en la interacción. Las indicaciones de una cadena suelen estar vinculadas entre sí, lo que permite que el sistema se base en las respuestas anteriores y mantenga el contexto. Este enfoque puede ayudar a reducir la ambigüedad, mejorar la satisfacción del usuario y permitir una comunicación más eficaz entre humanos y máquinas.
Comience por recopilar una colección de prompts preescritos que se pueden personalizar para varios escenarios. Estas plantillas deben cubrir las tareas, solicitudes y preguntas comunes que los usuarios puedan encontrar.
Identifique las preguntas o instrucciones básicas que deben transmitirse en el prompt chain. Estos prompts deben ser simples, claros y directos, y deben poder funcionar por sí solos como prompts individuales.
Determine la información o las acciones específicas que el usuario debe proporcionar en respuesta a cada prompt. Estas entradas deben estar claramente definidas y ser fáciles de entender, y deben estar vinculadas a las solicitudes correspondientes en el prompt chain.
Utilice la biblioteca de referencia y las solicitudes principales para crear el prompt chain completo. Asegúrese de que cada prompt esté vinculado lógicamente al siguiente y de que se soliciten al usuario las entradas necesarias en los puntos adecuados de la secuencia.
Una vez que se haya creado el prompt chain, pruébelo minuciosamente para asegurarse de que sea fácil de entender y completar. Pida a una muestra de usuarios que completen el prompt chain y recopilen comentarios sobre las áreas de mejora.
En función de los comentarios recibidos durante las pruebas, realice los ajustes o mejoras necesarios en el prompt chain. Esto puede incluir la reescritura de ciertos prompts, la adición o eliminación de prompts, o el cambio del orden en que se presentan los prompts.
Al seguir estos pasos, los representantes de servicio de atención al cliente y los programadores pueden crear prompt chains efectivos y eficientes que ayuden a guiar a los usuarios a través de una serie de acciones o tareas.
El prompt chaining ofrece varias ventajas sobre los métodos tradicionales utilizados en el prompt engineering. Al guiar el modelo a través de una serie de prompts, el prompt chaining mejora la coherencia y la consistencia en la generación de texto, lo que conduce a resultados más precisos y atractivos.
Al requerir que el modelo siga una serie de prompts, el prompt chaining ayuda a mantener la coherencia en la generación de texto. Esto es particularmente importante en aplicaciones donde mantener un tono, estilo o formato consistente es crucial, como en atención al cliente o roles editoriales [5].
En la atención al cliente, se puede utilizar el prompt chaining para garantizar una comunicación coherente con los usuarios. Por ejemplo, se le puede pedir al bot que se dirija al usuario con su nombre preferido o que siga un tono de voz específico a lo largo de la conversación.
El prompt chaining proporciona un mayor control sobre la generación de texto, lo que permite a los usuarios especificar el resultado deseado con precisión. Esto es especialmente útil en situaciones en las que los datos de entrada son ruidosos o ambiguos, ya que se puede solicitar al modelo que aclare o refine la entrada antes de generar una respuesta[6].
En un sistema de resumen de texto, el prompt chaining permite a los usuarios controlar el nivel de detalle y especificidad en el resumen generado. Por ejemplo, es posible que primero se le pida al usuario que proporcione el contenido que le interesa resumir, como un trabajo de investigación. Podría aparecer un mensaje posterior para formatear ese resumen en un formato o plantilla específicos.
El prompt chaining ayuda a reducir las tasas de error al proporcionar al modelo un mejor contexto y una entrada más centrada. Un prompt chaining estructurado ayuda a reducir el esfuerzo humano y a validar el código y las salidas con mayor rapidez. Al desglosar la entrada en prompts más pequeños y manejables, el modelo puede entender mejor las intenciones del usuario y generar respuestas más precisas y relevantes[7].
En un sistema de traducción automática, antes de traducir una frase, el sistema puede pedir primero al usuario que especifique el idioma de origen, el idioma de destino y cualquier contexto o terminología relevante. Esto ayuda al modelo a comprender mejor el texto de origen y generar una traducción precisa.
Al aprovechar estas ventajas, el prompt chaining tiene el potencial de mejorar significativamente el rendimiento y la eficacia de los modelos de PLN en diversas aplicaciones, desde la atención al cliente hasta la traducción editorial y de idiomas optimizada.
El prompt chaining es una técnica versátil que se puede aplicar a una amplia gama de casos de uso, que se dividen principalmente en dos categorías: respuesta a preguntas y tareas de varios pasos.
Como su nombre indica, las tareas de respuesta a preguntas proporcionan respuestas a preguntas frecuentes planteadas por los humanos. El modelo automatiza la respuesta en función del contexto de los documentos que normalmente se encuentran en una base de conocimiento. Las aplicaciones comunes incluyen:
Como era de esperar, las tareas de varios pasos se componen de una secuencia de pasos para lograr un objetivo determinado. Algunos ejemplos de esto incluyen:
El prompt chaining es una técnica potente que se puede usar en una variedad de aplicaciones en tiempo real para ayudar a guiar a los usuarios y profesionales a través de una serie de acciones o tareas. Al dividir las tareas complejas en una serie de prompts más sencillos, el prompt chaining puede ayudar a garantizar que los usuarios y los profesionales comprendan los pasos necesarios para completar una solicitud y proporcionar una mejor experiencia general. Tanto si se utiliza en el servicio de atención al cliente como en programación o educación, el encadenamiento de avisos puede ayudar a simplificar procesos complejos y mejorar la eficacia y la precisión.
Obtenga información sobre LangChain, un marco de código abierto, que se usa comúnmente para el desarrollo de aplicaciones con LLM.
Aprenda a encadenar modelos para generar una secuencia para un sistema genérico de preguntas y respuestas.
Descubra cómo la IA generativa está transformando las empresas y cómo preparar su organización para el futuro.
Mejores prácticas para un prompt engineering con Llama 2.
Pengfei Liu, W. Y. (2021). Pre-train, Prompt, and Predict: A Systematic Survey of Prompting Methods in Natural Language Processing. Encuestas de ACM Computing. | |
Gunwoo Yong, K. J. (2022). Prompt engineering for zero‐shot and few‐shot defect detection and classification using a visual‐language pretrained model. | |
O. Marchenko, O. R. (2020). Improving Text Generation Through Introducing Coherence Metrics. Cybernetics and Systems Analysis. | |
Zhifang Guo, Y. L. (2022). Prompttts: Controllable Text-To-Speech With Text Descriptions. Zhifang Guo, Yichong Leng, Yihan Wu, Sheng Zhao, Xuejiao Tan. | |
Jason Wei, X. W. (2022). Chain of Thought Prompting Elicits Reasoning in Large Language Models. | |
Mero, J. (2018). The effects of two-way communication and chat service usage on consumer attitudes in the e-commerce retailing sector. Electronic Markets. | |
Yu Cheng, J. C. (2023). Prompt Sapper: A LLM-Empowered Production Tool for Building AI Chains. ACM Transactions on Software Engineering and Methodology. | |
Tongshuang Sherry Wu, E. J. (2022). PromptChainer: Chaining Large Language Model Prompts through Visual Programming. CHI Conference on Human Factors in Computing Systems Extended Abstracts. | |
Shwetha Sridharan, D. S. (2021). Adaptive learning management expert system with evolving knowledge base and enhanced learnability. Education and Information Technologies. | |
Boshi Wang, X. D. (2022). Iteratively Prompt Pre-trained Language Models for Chain of Thought. Proceedings of the 2022 Conference on Empirical Methods in Natural Language Processing. | |
M. Rice, K. M. (2018). Evaluating an augmented remote assistance platform to support industrial applications. IEEE 4th World Forum on Internet of Things (WF-IoT). | |
Cynthia A. Thompson, M. G. (2011). A Personalized System for Conversational Recommendations. J. Artif. Intell. Res. | |
Qing Huang, J. Z. (2023). PCR-Chain: Partial Code Reuse Assisted by Hierarchical Chaining of Prompts on Frozen Copilot. IEEE/ACM 45th International Conference on Software Engineering: Companion Proceedings (ICSE-Companion). | |
Yafeng Gu, Y. S. (2023). APICom: Automatic API Completion via Prompt Learning and Adversarial Training-based Data Augmentatio. Proceedings of the 14th Asia-Pacific Symposium on Internetware. | |