Mejorar la calidad de la respuesta para las consultas de los usuarios es esencial para las aplicaciones impulsadas por la IA, especialmente aquellas que se centran en la satisfacción del usuario. Por ejemplo, un asistente basado en el chat de recursos humanos debe seguir estrictamente las políticas de la empresa y responder usando un tono determinado. Una desviación de eso puede ser corregida por los comentarios de los usuarios. Esta publicación demuestra cómo Roca madre de Amazoncombinado con un conjunto de datos de retroalimentación de usuarios y pocas solicitudes de disparo, puede refinar las respuestas para una mayor satisfacción del usuario. Utilizando Amazon Titan Text Increddings v2demostramos una mejora estadísticamente significativa en la calidad de la respuesta, por lo que es una herramienta valiosa para aplicaciones que buscan respuestas precisas y personalizadas.
Estudios recientes han destacado el valor de la retroalimentación y la incorporación en la refinación de las respuestas de AI. Optimización rápida con comentarios humanos Propone un enfoque sistemático para aprender de los comentarios de los usuarios, utilizándolo para ajustar los modelos iterativamente para mejorar la alineación y la robustez. Similarmente, Optimización de solicitud de caja negra: alineando modelos de idiomas grandes sin capacitación en modelos Demuestra cómo la recuperación aumentada de la cadena de pensamiento, la impulso mejora el aprendizaje de pocos disparos al integrar el contexto relevante, permitiendo un mejor razonamiento y la calidad de la respuesta. Sobre la base de estas ideas, nuestro trabajo usa el Amazon Titan Text Increddings v2 Modelo para optimizar las respuestas utilizando la retroalimentación de los usuarios disponible y la solicitud de pocos disparos, logrando mejoras estadísticamente significativas en la satisfacción del usuario. Amazon Bedrock ya ofrece un optimización automática de inmediato La función para adaptar y optimizar automáticamente las indicaciones sin entrada adicional del usuario. En esta publicación de blog, mostramos cómo usar las bibliotecas OSS para una optimización más personalizada basada en los comentarios de los usuarios y la solicitud de pocos disparos.
Hemos desarrollado una solución práctica utilizando Amazon Bedrock que mejora automáticamente las respuestas del asistente de chat en función de los comentarios de los usuarios. Esta solución utiliza incrustaciones y pocas solicitudes de disparo. Para demostrar la efectividad de la solución, utilizamos un conjunto de datos de comentarios de los usuarios disponibles públicamente. Sin embargo, al aplicarlo dentro de una empresa, el modelo puede usar sus propios datos de retroalimentación proporcionados por sus usuarios. Con nuestro conjunto de datos de prueba, muestra un aumento del 3.67% en los puntajes de satisfacción del usuario. Los pasos clave incluyen:
- Recupere un conjunto de datos de comentarios de los usuarios disponibles públicamente (para este ejemplo, Conjunto de datos de retroalimentación unificada en la cara de abrazo).
- Cree incrustaciones para consultas para capturar ejemplos similares semánticos, utilizando embedidas de texto de Amazon Titan.
- Use consultas similares como ejemplos en un mensaje de pocos disparos para generar indicaciones optimizadas.
- Compare las indicaciones optimizadas con directo modelo de lenguaje grande (LLM) llamadas.
- Valide la mejora en la calidad de la respuesta utilizando una prueba t de muestra pareada.
El siguiente diagrama es una descripción general del sistema.
Los beneficios clave del uso de la roca madre de Amazon son:
- Gestión de infraestructura cero – Implementación y escala sin administrar la infraestructura de aprendizaje automático complejo (ML)
- Rentable – Pague solo por lo que usa con la roca madre de Amazon pago modelo de precios
- Seguridad de grado empresarial -Utilice las funciones de seguridad y cumplimiento incorporadas de AWS
- Integración sencilla – Integre las aplicaciones existentes sin problemas y las herramientas de código abierto
- Opciones de modelo múltiple – Acceda a varios modelos de base (FMS) para diferentes casos de uso
Las siguientes secciones se sumergen más profundamente en estos pasos, proporcionando fragmentos de código desde el cuaderno para ilustrar el proceso.
Requisitos previos
Los requisitos previos para la implementación incluyen una cuenta de AWS con Amazon Bedrock Access, Python 3.8 o posterior, y las credenciales de Amazon configuradas.
Recopilación de datos
Descargamos un conjunto de datos de comentarios de los usuarios de Hugging Face, LLM-Blender/Unified-Feedback. El conjunto de datos contiene campos como conv_A_user (la consulta de usuario) y conv_A_rating (una calificación binaria; 0 significa que al usuario no le gusta y 1 significa que al usuario le gusta). El siguiente código recupera el conjunto de datos y se centra en los campos necesarios para integrar la generación y el análisis de retroalimentación. Se puede ejecutar en un Amazon Sagemaker cuaderno o un cuaderno Jupyter que tiene acceso a Amazon Bedrock.
Generación de muestreo de datos e incrustación
Para administrar el proceso de manera efectiva, probamos 6,000 consultas del conjunto de datos. Utilizamos Amazon Titan Text Increddings V2 para crear incrustaciones para estas consultas, transformando el texto en representaciones de alta dimensión que permiten comparaciones de similitud. Vea el siguiente código:
Pequeños de disparos con búsqueda de similitud
Para esta parte, tomamos los siguientes pasos:
- Muestra 100 consultas del conjunto de datos para las pruebas. El muestreo de 100 consultas nos ayuda a ejecutar múltiples pruebas para validar nuestra solución.
- Calcular similitud de coseno (Medida de similitud entre dos vectores distintos de cero) entre los incrustaciones de estas consultas de prueba y las 6,000 incrustaciones almacenadas.
- Seleccione las consultas similares K similares a las consultas de prueba para servir como pocos ejemplos de disparos. Establecemos K = 10 para equilibrar entre la eficiencia computacional y la diversidad de los ejemplos.
Vea el siguiente código:
Este código proporciona un contexto de pocos disparos para cada consulta de prueba, utilizando una similitud de coseno para recuperar las coincidencias más cercanas. Estas consultas de ejemplo y comentarios sirven como contexto adicional para guiar la optimización de inmediato. La siguiente función genera el mensaje de pocos disparos:
El get_optimized_prompt La función realiza las siguientes tareas:
- La consulta de usuario y los ejemplos similares generan un mensaje de pocos disparos.
- Usamos el mensaje de pocos disparos en una llamada LLM para generar un aviso optimizado.
- Asegúrese de que la salida esté en el siguiente formato usando Pydantic.
Vea el siguiente código:
El make_llm_call_with_optimized_prompt La función utiliza un aviso optimizado y una consulta de usuario para hacer la llamada LLM (Claude Haiku 3.5) LLM para obtener la respuesta final:
Evaluación comparativa de indicaciones optimizadas y no optimizadas
Para comparar la solicitud optimizada con la línea de base (en este caso, el aviso no optimizado), definimos una función que devolvió un resultado sin una solicitud optimizada para todas las consultas en el conjunto de datos de evaluación:
La siguiente función genera la respuesta de consulta utilizando la búsqueda de similitud y la generación de aviso optimizado intermedio para todas las consultas en el conjunto de datos de evaluación:
Este código compara las respuestas generadas con y sin optimización de pocas disparos, configurando los datos para la evaluación.
LLM como juez y evaluación de respuestas
Para cuantificar la calidad de la respuesta, utilizamos un LLM como juez para calificar las respuestas optimizadas y no optimizadas para la alineación con la consulta del usuario. Utilizamos Pydantic aquí para asegurarnos de que la salida se adhiera al patrón deseado de 0 (LLM predice que el usuario no le gusta la respuesta) o 1 (LLM predice que el usuario le gustará la respuesta):
LLM-AS-A-Judge es una funcionalidad en la que un LLM puede juzgar la precisión de un texto utilizando ciertos ejemplos de base. Hemos utilizado esa funcionalidad aquí para juzgar la diferencia entre el resultado recibido de la solicitud optimizada y no optimizada. Amazon Bedrock lanzó un LLM-as-a-Judge Funcionalidad en diciembre de 2024 que puede usarse para tales casos de uso. En la siguiente función, demostramos cómo el LLM actúa como evaluador, calificando las respuestas basadas en su alineación y satisfacción para el conjunto de datos de evaluación completo:
En el siguiente ejemplo, repitimos este proceso para 20 pruebas, capturando los puntajes de satisfacción del usuario cada vez. La puntuación general para el conjunto de datos es la suma de la puntuación de satisfacción del usuario.
Análisis de resultados
El siguiente cuadro de línea muestra la mejora del rendimiento de la solución optimizada sobre la no optimizada. Las áreas verdes indican mejoras positivas, mientras que las áreas rojas muestran cambios negativos.
Al reunir el resultado de 20 ensayos, vimos que la media de los puntajes de satisfacción del aviso no optimizado fue de 0.8696, mientras que la media de los puntajes de satisfacción del aviso optimizado fue de 0.9063. Por lo tanto, nuestro método supera la línea de base en un 3,67%.
Finalmente, ejecutamos una prueba t de muestra emparejada para comparar los puntajes de satisfacción a partir de las indicaciones optimizadas y no optimizadas. Esta prueba estadística validó si la optimización rápida mejoró significativamente la calidad de la respuesta. Vea el siguiente código:
Después de ejecutar la prueba t, obtuvimos un valor p de 0.000762, que es inferior a 0.05. Por lo tanto, el aumento de rendimiento de las indicaciones optimizadas sobre las indicaciones no optimizadas es estadísticamente significativo.
Control de llave
Aprendimos las siguientes conclusiones clave de esta solución:
- Peque indicación de shot mejora la respuesta de la consulta -El uso de ejemplos de pocos disparos muy similares conduce a mejoras significativas en la calidad de la respuesta.
- Amazon Titan Text Increddings permite una similitud contextual – El modelo produce incrustaciones que facilitan búsquedas de similitud efectivas.
- La validación estadística confirma la efectividad -Un valor p de 0.000762 indica que nuestro enfoque optimizado mejora significativamente la satisfacción del usuario.
- Impacto comercial mejorado – Este enfoque ofrece un valor comercial medible a través del rendimiento mejorado del asistente de IA. El aumento del 3.67% en los puntajes de satisfacción se traduce en resultados tangibles: los departamentos de recursos humanos pueden esperar menos interpretaciones erróneas de las políticas (reduciendo los riesgos de cumplimiento), y los equipos de servicio al cliente pueden ver una reducción significativa en los boletos aumentados. La capacidad de la solución para aprender continuamente de la retroalimentación crea un sistema de administración personal que aumenta el ROI con el tiempo sin requerir experiencia especializada en ML o inversiones en infraestructura.
Limitaciones
Aunque el sistema es prometedor, su rendimiento depende en gran medida de la disponibilidad y el volumen de la retroalimentación de los usuarios, especialmente en aplicaciones de dominio cerrado. En escenarios en los que solo hay un puñado de ejemplos de retroalimentación disponibles, el modelo podría tener dificultades para generar optimizaciones significativas o no capturar los matices de las preferencias del usuario de manera efectiva. Además, la implementación actual supone que la retroalimentación del usuario es confiable y representativa de las necesidades más amplias del usuario, lo que podría no ser siempre el caso.
Siguientes pasos
El trabajo futuro podría centrarse en expandir este sistema para admitir consultas y respuestas multilingües, lo que permite una aplicabilidad más amplia en diversas bases de usuarios. Incorporación Generación aumentada de recuperación Las técnicas (trapo) podrían mejorar aún más el manejo y la precisión del contexto para consultas complejas. Además, explorar formas de abordar las limitaciones en escenarios de baja retroalimentación, como la generación de retroalimentación sintética o el aprendizaje de transferencia, podría hacer que el enfoque sea más robusto y versátil.
Conclusión
En esta publicación, demostramos la efectividad de la optimización de consultas utilizando el lecho de roca de Amazon, la solicitud de pocos disparos y los comentarios de los usuarios para mejorar significativamente la calidad de la respuesta. Al alinear las respuestas con las preferencias específicas del usuario, este enfoque alivia la necesidad de un modelo costoso ajustado, lo que lo hace práctico para las aplicaciones del mundo real. Su flexibilidad lo hace adecuado para asistentes basados en chat en varios dominios, como el comercio electrónico, el servicio al cliente y la hospitalidad, donde las respuestas de alta calidad y alineadas al usuario son esenciales.
Para obtener más información, consulte los siguientes recursos:
Sobre los autores
Tanay Chowdhury es un científico de datos en el Centro de Innovación Generativa de AI en Amazon Web Services.
Parth Patwa es un científico de datos en el Centro de Innovación Generativa de AI en Amazon Web Services.
Yingwei Yu es gerente de ciencias aplicadas en el Centro de Innovación Generativa de AI en Amazon Web Services.