El formato de entrada para la IA Generativa basada en Modelos de Lenguaje Amplio es el principio de las prompts.
Ha habido una evolución de la ingeniería de prompts de IA generativa…
- Ingeniería de prompts de contenido estático
- Plantillas de instrucciones
- Encadenamiento de instrucciones
- Canalización de instrucciones
En este artículo se describirá el uso de los prompt pipelines.
En el Machine Learning, una canalización puede describirse como una construcción integral que organiza un flujo de eventos y datos.
La canalización se pone en marcha o se inicia mediante un disparador y, en función de determinados eventos y parámetros, se sigue un flujo que da como resultado una salida.
En el caso de un canal de avisos, el flujo se inicia en la mayoría de los casos por una petición del usuario. La solicitud se dirige a una plantilla específica.
Las ventajas de plantillas prompts son:
- Los prompts LLM pueden ser reutilizados y compartidos y programados.
- Las plantillas de prompts generativas permiten la programabilidad de almacenamiento y reutilización.
- Plantillas, que actúan como un archivo de texto, pero se insertan marcadores de posición para variables y expresiones.
- Los marcadores de posición se sustituyen por valores en tiempo de ejecución.
- Las prompts pueden utilizarse dentro del contexto y es una forma medida de controlar el contenido generado.
Los “prompt pipelines” también pueden describirse como una extensión inteligente de las plantillas de “prompt”.
Las variables o marcadores de posición de la plantilla predefinida se rellenan (también conocido como inyección de preguntas) con la pregunta del usuario y el conocimiento que se debe buscar en el Knowledge store
Los datos del Knowledge store actúan como referencia para la pregunta a la que hay que responder. Disponer de este conjunto de información evita las alucinaciones del LLM. También evita que el LLM utilice datos antiguos o anticuados del modelo que son inexactos en ese momento.
Posteriormente, la pregunta compuesta se envía al LLM y la respuesta del LLM se devuelve al usuario.
A continuación se muestra un ejemplo de un modelo de prompt antes de inyectar el documento y los datos de la pregunta.
prompt_template_text="""Synthesize a comprehensive answer from the following text for the given question. Provide a clear and concise response that summarizes the key points and information presented in the text. Your answer should be in your own words and be no longer than 50 words. nn Related text: {join(documents)} nn Question: {query} nn Answer:"""
De nuevo a continuación, una pregunta formulada por el usuario, que se inyecta con los datos del Knowledge store.
output = pipe.run(query="How does Rhodes Statue look like?") print(output["results"])
Y finalmente el resultado a la pregunta:
[‘The head would have had curly hair with evenly spaced spikes of bronze or silver flame radiating, similar to the images found on contemporary Rhodian coins.’]
Reflexiones finales
Teniendo en cuenta la imagen de abajo, en un próximo artículo me gustaría discutir cómo un prompt pipeline puede ser implementado para un dominio más amplio con múltiples clases de entrada de usuario.
(1) La entrada del usuario debe ser categorizada y asignada a una plantilla específica y aplicable. Estas categorías son análogas a la asignación de la entrada del usuario a una intención.
En función de la clasificación asignada a la entrada del usuario, deben extraerse los datos correctos (2) e inyectarse (3) en la plantilla de avisos.
⭐️ Sígueme en LinkedIn para estar al día sobre la IA conversacional ⭐️
Actualmente soy el Evangelista Jefe @HumanFirst. Exploro y escribo sobre todas las cosas en la intersección de la IA y el lenguaje; que van desde LLMs, Chatbots, Voicebots, Marcos de Desarrollo, Data-Centric espacios latentes y más.