A medida que la inteligencia artificial (IA) generativa continúa revolucionando todas las industrias, la importancia de una optimización rápida y eficaz mediante técnicas de ingeniería rápida se ha vuelto clave para equilibrar de manera eficiente la calidad de los resultados, el tiempo de respuesta y los costos. La ingeniería rápida se refiere a la práctica de crear y optimizar las entradas a los modelos mediante la selección de palabras, frases, oraciones, signos de puntuación y caracteres separadores adecuados para usar de manera efectiva los modelos básicos (FM) o los modelos de lenguaje extenso (LLM) para una amplia variedad de aplicaciones. Un mensaje rápido de alta calidad maximiza las posibilidades de obtener una buena respuesta de los modelos de IA generativa.
Una parte fundamental del proceso de optimización es la evaluación, y hay múltiples elementos involucrados en la evaluación de una aplicación de IA generativa. Más allá de la evaluación más común de los FM, la evaluación de los mensajes es un aspecto crítico, aunque a menudo desafiante, del desarrollo de soluciones impulsadas por IA de alta calidad. Muchas organizaciones tienen dificultades para crear y evaluar de manera consistente y eficaz sus mensajes en sus diversas aplicaciones, lo que genera un rendimiento y experiencias de usuario inconsistentes y respuestas no deseadas de los modelos.
En esta publicación, demostramos cómo implementar un sistema de evaluación de indicaciones automatizado con amazon Bedrock para que pueda optimizar su proceso de desarrollo de indicaciones y mejorar la calidad general de su contenido generado por IA. Para ello, utilizamos amazon Bedrock Prompt Management y amazon Bedrock Prompt Flows para evaluar sistemáticamente las indicaciones para sus aplicaciones de IA generativa a escala.
La importancia de una evaluación rápida
Antes de explicar la implementación técnica, analicemos brevemente por qué es fundamental la evaluación de avisos. Los aspectos clave que se deben tener en cuenta al crear y optimizar un aviso suelen ser los siguientes:
- Seguro de calidad – La evaluación de indicaciones ayuda a garantizar que sus aplicaciones de IA produzcan constantemente resultados relevantes y de alta calidad para el modelo seleccionado.
- Optimización del rendimiento – Al identificar y refinar indicaciones efectivas, puede mejorar el rendimiento general de sus modelos de IA generativa en términos de menor latencia y, en última instancia, mayor rendimiento.
- Eficiencia de costes – Una mejor formulación de los mensajes puede conducir a un uso más eficiente de los recursos de IA, lo que podría reducir los costos asociados con la inferencia de modelos. Un buen mensaje permite el uso de modelos más pequeños y de menor costo, lo que no daría buenos resultados con un mensaje de mala calidad.
- Experiencia de usuario – Las indicaciones mejoradas dan como resultado contenido generado por IA más preciso, personalizado y útil, lo que mejora la experiencia del usuario final en sus aplicaciones.
Optimizar las indicaciones para estos aspectos es un proceso iterativo que requiere una evaluación para impulsar los ajustes en las indicaciones. Es, en otras palabras, una manera de entender qué tan buena es una determinada combinación de indicaciones y modelos para lograr las respuestas deseadas.
En nuestro ejemplo, implementamos un método conocido como LLM como juezdonde un LLM se utiliza para evaluar las indicaciones en función de las respuestas que produjo con un determinado modelo, según criterios predefinidos. La evaluación de las indicaciones y sus respuestas para un LLM determinado es una tarea subjetiva por naturaleza, pero una evaluación sistemática de las indicaciones utilizando el LLM como juez le permite cuantificarla con una métrica de evaluación en una puntuación numérica. Esto ayuda a estandarizar y automatizar el ciclo de vida de las indicaciones en su organización y es una de las razones por las que este método es uno de los enfoques más comunes para la evaluación de indicaciones en la industria.
Exploremos una solución de muestra para evaluar indicaciones con LLM como juez con amazon Bedrock. También puede encontrar el ejemplo de código completo en amazon-bedrock-samples/blob/main/prompt-engineering/Prompt_Management_Flows/Prompts_evaluation_with_Prompt_Management_Flows.ipynb” target=”_blank” rel=”noopener”>Muestras de amazon Bedrock.
Prerrequisitos
Para este ejemplo, necesitará lo siguiente:
Configurar el mensaje de evaluación
Para crear un mensaje de evaluación mediante amazon Bedrock Prompt Management, siga estos pasos:
- En la consola de amazon Bedrock, en el panel de navegación, seleccione Gestión rápida y luego elige Crear mensaje.
- Introduzca una Nombre Para su aviso como por ejemplo
prompt-evaluator
y un Descripción como “Plantilla de indicaciones para evaluar respuestas rápidas con LLM como juez”. Elija Crear.
- En el Inmediato En el campo, escriba su plantilla de evaluación de la solicitud. En el ejemplo, puede utilizar una plantilla como la siguiente o adaptarla según sus requisitos de evaluación específicos.
- Bajo Configuracionesseleccione un modelo para ejecutar evaluaciones con la solicitud. En nuestro ejemplo, seleccionamos Anthropic Claude Sonnet. La calidad de la evaluación dependerá del modelo que seleccione en este paso. Asegúrese de equilibrar la calidad, el tiempo de respuesta y el costo en consecuencia en su decisión.
- Establecer el Parámetros de inferencia para el modelo. Te recomendamos que mantengas Temperatura como 0 para hacer una evaluación factual y evitar alucinaciones.
Puede probar su solicitud de evaluación con entradas y salidas de muestra utilizando el Variables de prueba y Ventana de prueba paneles.
- Ahora que tiene un borrador de su mensaje, también puede crear versiones de él. Las versiones le permiten cambiar rápidamente entre diferentes configuraciones para su mensaje y actualizar su aplicación con la versión más adecuada para su caso de uso. Para crear una versión, elija Crear versión En la cima.
La siguiente captura de pantalla muestra el Generador de indicaciones página.
Configurar el flujo de evaluación
A continuación, debe crear un flujo de evaluación mediante flujos de solicitud de amazon Bedrock. En nuestro ejemplo, utilizamos nodos de solicitud. Para obtener más información sobre los tipos de nodos admitidos, consulte la documentación Tipos de nodos en flujos de solicitud. Para crear un flujo de evaluación, siga estos pasos:
- En la consola amazon Bedrock, en Flujos de indicacioneselegir Crear flujo de indicaciones.
- Introduzca una Nombre como
prompt-eval-flow
Introduzca un Descripción como “Flujo de indicaciones para evaluar indicaciones con LLM como juez”. Elija Utilice un rol de servicio existente para seleccionar un rol del menú desplegable. Elija Crear. - Esto abrirá el Generador de flujo de indicacionesArrastre dos Indicaciones nodos al lienzo y configure los nodos según los siguientes parámetros:
- Entrada de flujo
- Producción:
- Nombre:
document
Tipo: Cadena
- Nombre:
- Producción:
- Invocar (Indicaciones)
- Nombre del nodo:
Invoke
- Definir en el nodo
- Seleccionar modelo: Un modelo preferido para ser evaluado con sus indicaciones
- Mensaje:
{{input}}
- Configuraciones de inferencia: según sus preferencias
- Aporte:
- Nombre:
input
Tipo: Cadena, Expresión:$.data
- Nombre:
- Producción:
- Nombre:
modelCompletion
Tipo: Cadena
- Nombre:
- Nombre del nodo:
- Evaluar (Indicaciones)
- Nombre del nodo:
Evaluate
- Utilice un mensaje de su Gestión de mensajes
- Inmediato:
prompt-evaluator
- Versión: Versión 1 (o su versión preferida)
- Selecciona el modelo: Tu modelo preferido para evaluar tus indicaciones
- Configuraciones de inferencia: como se establece en su solicitud
- Aporte:
- Nombre:
input
Tipo: Cadena, Expresión:$.data
- Nombre:
output
Tipo: Cadena, Expresión:$.data
- Nombre:
- Producción
- Nombre:
modelCompletion
Tipo: Cadena
- Nombre:
- Nombre del nodo:
- Salida de flujo
- Nombre del nodo:
End
- Aporte:
- Nombre:
document
Tipo: Cadena, Expresión:$.data
- Nombre:
- Nombre del nodo:
- Entrada de flujo
- Para conectar los nodos, arrastre los puntos de conexión, como se muestra en el siguiente diagrama.
Puede probar su flujo de evaluación rápida utilizando el Flujo de solicitud de prueba panel. Pase una entrada, como la pregunta “¿Qué es la computación en la nube en un solo párrafo?”. Debería devolver un JSON con el resultado de la evaluación similar al siguiente ejemplo. En el cuaderno de ejemplo de código, amazon-bedrock-samples/blob/main/prompt-engineering/Prompt_Management_Flows/Prompts_evaluation_with_Prompt_Management_Flows.ipynb” target=”_blank” rel=”noopener”>Muestras de amazon BedrockTambién incluimos la información sobre los modelos utilizados para la invocación y evaluación de nuestro resultado JSON.
Como muestra el ejemplo, le pedimos al FM que evaluara con puntajes separados el mensaje y la respuesta que generó el FM a partir de ese mensaje. Le pedimos que proporcionara una justificación para el puntaje y algunas recomendaciones para mejorar aún más los mensajes. Toda esta información es valiosa para un ingeniero de mensajes porque ayuda a guiar los experimentos de optimización y a tomar decisiones más informadas durante el ciclo de vida del mensaje.
Implementación de una evaluación rápida a gran escala
Hasta este punto, hemos explorado cómo evaluar un único mensaje. A menudo, las organizaciones medianas y grandes trabajan con decenas, cientos e incluso miles de variaciones de mensajes para sus múltiples aplicaciones, lo que lo convierte en una oportunidad perfecta para la automatización a gran escala. Para ello, puede ejecutar el flujo en conjuntos de datos completos de mensajes almacenados en archivos, como se muestra en el cuaderno de ejemplo.
Como alternativa, también puede confiar en otros tipos de nodos en amazon Bedrock Prompt Flows para leer y almacenar archivos en amazon Simple Storage Service (amazon S3) e implementar flujos basados en iteradores y recopiladores. El siguiente diagrama muestra este tipo de flujo. Una vez que haya establecido un mecanismo basado en archivos para ejecutar el flujo de evaluación de solicitudes en conjuntos de datos a escala, también puede automatizar todo el proceso conectándolo con sus herramientas preferidas de integración continua y desarrollo continuo (CI/CD). Los detalles de estos están fuera del alcance de esta publicación.
Mejores prácticas y recomendaciones
Con base en nuestro proceso de evaluación, aquí se presentan algunas prácticas recomendadas para un refinamiento rápido:
- Mejora iterativa – Utilice los comentarios de la evaluación para perfeccionar continuamente sus indicaciones. La optimización de las indicaciones es, en última instancia, un proceso iterativo.
- El contexto es clave – Asegúrate de que tus indicaciones proporcionen el contexto suficiente para que el modelo de IA genere respuestas precisas. Según la complejidad de las tareas o preguntas que responderá tu indicación, es posible que debas utilizar diferentes técnicas de ingeniería de indicaciones. Puedes consultar las pautas de ingeniería de indicaciones en la documentación de amazon Bedrock y otros recursos sobre el tema proporcionados por los proveedores de modelos.
- La especificidad importa – Sea lo más específico posible en sus indicaciones y criterios de evaluación. La especificidad orienta los modelos hacia los resultados deseados.
- Casos extremos de prueba – Evalúe sus indicaciones con una variedad de entradas para verificar la solidez. También puede que desee ejecutar múltiples evaluaciones en la misma indicación para comparar y probar la coherencia de la salida, lo que puede ser importante según su caso de uso.
Conclusión y próximos pasos
Al utilizar el método LLM como juez con amazon Bedrock Prompt Management y amazon Bedrock Prompt Flows, puede implementar un enfoque sistemático para la evaluación y optimización de solicitudes. Esto no solo mejora la calidad y la coherencia del contenido generado por IA, sino que también agiliza el proceso de desarrollo, lo que puede reducir los costos y mejorar las experiencias de los usuarios.
Le recomendamos que explore estas funciones más a fondo y adapte el proceso de evaluación a sus casos de uso específicos. A medida que continúe perfeccionando sus indicaciones, podrá aprovechar todo el potencial de la IA generativa en sus aplicaciones. Para comenzar, consulte la publicación completa con los ejemplos de código utilizados en esta publicación. ¡Estamos ansiosos por ver cómo usará estas herramientas para mejorar sus soluciones impulsadas por IA!
Para obtener más información sobre amazon Bedrock y sus características, visita la documentación de amazon Bedrock.
Acerca del autor
Antonio Rodriguez es arquitecto de soluciones sénior especialista en inteligencia artificial generativa en amazon Web Services. Ayuda a empresas de todos los tamaños a resolver sus desafíos, adoptar la innovación y crear nuevas oportunidades comerciales con amazon Bedrock. Además del trabajo, le encanta pasar tiempo con su familia y practicar deportes con sus amigos.