View a markdown version of this page

Acceder a los comentarios recopilados por los usuarios y analizarlos - Creador de aplicaciones de IA generativa en AWS

Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.

Acceder a los comentarios recopilados por los usuarios y analizarlos

A partir de la versión 3.0.0, el panel de implementación implementa una pila de comentarios anidada que permite que los casos de uso de Text y Bedrock Agent implementados con el panel tengan la funcionalidad de recopilar comentarios para las respuestas que se generan. LLM/Agent En particular, los usuarios pueden enviar comentarios positivos o negativos junto con un comentario opcional. Si el usuario proporciona un comentario negativo, puede seleccionar una de estas categorías negativas: «Inexacto», «Incompleto o insuficiente», «Perjudicial» y «Otros». and/or

Una vez que el usuario proporciona los comentarios, estos se almacenan en un bucket de S3 dividido por ID de caso de uso, año y mes. El identificador del caso de uso se encuentra en el panel de control de implementación y el grupo de comentarios sobre S3 se encuentra en los resultados de la pila anidada de comentarios del panel de implementación:

Representa la pila de despliegues: buscar el nombre del depósito de comentarios

salida del depósito de comentarios

Los comentarios de los usuarios se envían como una solicitud de API que contiene un conjunto mínimo de información:

{ "useCaseRecordKey": "a1b2c3d4-e5f6g7h8", "conversationId": "12345678-1234-1234-1234-123456789012", "messageId": "87654321-4321-4321-4321-210987654321", "rephrasedQuery": "What are the key features of the Generative AI Application Builder on AWS?", "sourceDocuments": [ "s3://bucket-name/document1.pdf", "s3://bucket-name/document2.pdf" ], "feedback": "positive", "feedbackReason": [ "Incomplete or insufficient" ], "comment": "The response was helpful but could include more details about important features." }

A continuación, una lambda procesa esta carga útil mediante la useCaseRecordKey cual se identifica la configuración correcta de un caso de uso en el momento de la implementación. Esta configuración se utiliza para obtener detalles específicos de los comentarios, como el ConversationTable nombre (contiene todas las conversaciones y las secuencias de mensajes humanos y de la IA), que luego se utiliza para recuperar el y real. userInput llmResponse También se adjuntan detalles adicionales a este registro de comentarios, como el agentId caso de uso de Bedrock Agent y, etc. modelProviderbedrockModelId, para un caso de uso de texto que utilice esta configuración. agentAliasId Para obtener más información sobre cómo acceder a esta configuración, consulte la sección de mapeos de comentarios personalizados que aparece a continuación. Cada solicitud de comentarios entrante se almacena como un objeto JSON y un ejemplo de registro de comentarios puede tener el siguiente aspecto para un caso de uso de texto:

{ "useCaseId": "12345678-1234-1234-1234-123456789012", "useCaseRecordKey": "c07a2e3b-2f31b1e0", "userId": "22345678-1234-1234-1234-123456789012", "conversationId": "dd51de5d-5af1-4ec6-91d2-aadf14352109", "messageId": "32345678-1234-1234-1234-123456789012", "userInput": "What are its key features?", "rephrasedQuery": "What are the key features of the Generative AI Application Builder on AWS?", "llmResponse": "Generative AI Application Builder on AWS can help you build production ready enterprise chatbots rapidly.", "feedback": "negative", "feedbackReason": [ "Incomplete or insufficient" ], "comment": "The response was helpful but could include more details about important features.", "timestamp": "2025-05-22T18:48:08.340Z", "feedbackId": "42345678-1234-1234-1234-123456789012", "useCaseType": "Text", "modelProvider": "Bedrock", "bedrockModelId": "amazon.nova-lite-v1:0", "ragEnabled": "false" }

o así para un caso de uso de Bedrock Agent:

{ "useCaseId": "12345678-1234-1234-1234-123456789012", "useCaseRecordKey": "c07a2e3b-2f31b1e0", "userId": "22345678-1234-1234-1234-123456789012", "conversationId": "dd51de5d-5af1-4ec6-91d2-aadf14352109", "messageId": "32345678-1234-1234-1234-123456789012", "userInput": "What are its key features?", "llmResponse": "Generative AI Application Builder on AWS can help you build production ready enterprise chatbots rapidly.", "feedback": "negative", "feedbackReason": [ "Incomplete or insufficient" ], "comment": "The response was helpful but could include more details about important features.", "timestamp": "2025-05-22T18:48:08.340Z", "feedbackId": "42345678-1234-1234-1234-123456789012", "useCaseType": "Agent", "agentId": "AHFXUJCAK1", "agentAliasId": "KSEDKOS0BL" }

Luego, esta retroalimentación se puede utilizar para seguir procesando, analizando y modelando los bucles de reentrenamiento o retroalimentación. También puede añadir mapeos personalizados para mejorar el registro de comentarios que se almacena en la lambda de comentarios.

Mapeos de comentarios personalizados

El panel de implementación contiene una LLMConfigTable que se puede encontrar en las salidas de la pila del panel de implementación con la clave. LLMConfigTableName LLMConfigTablecontiene las configuraciones para cada caso de uso en función de las opciones seleccionadas por el administrador al implementar el caso de uso mediante el asistente del panel de implementación. Cada configuración de caso de uso se identifica por su. useCaseRecordKey Este es un ejemplo de registro de configuración de casos de uso en: LLMConfigTable

{ "key": "2dd76cfa-bc1a14da", "config": { "ConversationMemoryParams": { ... }, "FeedbackParams": { "CustomMappings": { "NumberOfDocs": "$.KnowledgeBaseParams.NumberOfDocs", "ScoreThreshold": "$.KnowledgeBaseParams.ScoreThreshold" }, "FeedbackEnabled": true }, "IsInternalUser": "true", "KnowledgeBaseParams": { "KendraKnowledgeBaseParams": { "ExistingKendraIndexId": "d2831033-667f-4539-ab28-e6c7c7c5988b", "RoleBasedAccessControlEnabled": false }, "KnowledgeBaseType": "Kendra", "NumberOfDocs": 5, "ReturnSourceDocs": false, "ScoreThreshold": 0.3 }, "LlmParams": { "BedrockLlmParams": { "BedrockInferenceType": "QUICK_START", "ModelId": "amazon.nova-lite-v1:0" }, "ModelParams": {}, "ModelProvider": "Bedrock", "PromptParams": { ... }, "RAGEnabled": true, "Streaming": false, "Temperature": 0.1, "Verbose": false }, "UseCaseName": "test-rag-usecase", "UseCaseType": "Text" } }

Si la retroalimentación está habilitada para un caso de uso, esta configuración contendrá un FeedbackParams objeto que permitirá incluir un CustomMappings objeto dentro de ella y especificar los JSONPaths campos adicionales que se añadirán al registro JSON de comentarios almacenado en el depósito de comentarios de S3. Por ejemplo, para el ejemplo de configuración de casos de uso anterior, CustomMappings contiene NumberOfDocs y, ScoreThreshold JSONPaths además, en el CustomMappings objeto, que comienza con la config raíz del. JSONPath Con esta configuración, cada registro JSON almacenado en el depósito de comentarios de S3 empezará a obtener estos dos valores adicionales, aparte de los campos que ya se han proporcionado.

Analizando los datos de los comentarios

Los datos de comentarios se almacenan en S3 como objetos JSON. Estos son algunos enfoques para hacer que estos datos de comentarios sean más accesibles y procesables:

Uso de AWS Glue y Amazon Athena

AWS Glue y Amazon Athena ofrecen una forma sin servidor de catalogar, consultar y analizar sus datos de comentarios.

AWS Glue le permite crear un rastreador de AWS Glue que inspecciona los datos de un depósito de S3, deduce su esquema y registra todos los metadatos relevantes en un catálogo. Después de eso, se pueden utilizar servicios como Amazon Athena para consultar los datos.

Puede consultar la documentación de AWS Athena sobre los pasos para conectar el depósito de comentarios de S3 con Amazon Athena mediante el catálogo de datos de AWS Glue. También puede utilizar algunas de las funciones más potentes de Glue para realizar tareas de extracción, transformación y carga (ETL) con estos datos y transformarlos en un formato que se adapte a sus casos de uso de análisis o reentrenamiento de modelos. Con Glue, puede realizar operaciones como filtrar los registros con determinados tipos de comentarios, rellenar la información que falte y, además, cargar estos datos en otra ubicación de almacenamiento, como otro depósito de S3 o un data store de AWS diferente.

nota

Según tu caso de uso, considera programar el rastreador Glue para que se ejecute periódicamente (por ejemplo, semanalmente) en lugar de cada noche para optimizar los costos, ya que los datos de comentarios pueden ser escasos.

Usa los paneles de control de la solución CloudWatch

También tiene acceso a un CloudWatch panel de control incluido con la solución, que puede proporcionarle las tendencias de las valoraciones positivas y negativas, las categorías de motivos de las valoraciones negativas, etc., según cada caso de uso. Puede encontrar este panel con el nombre de su caso de uso en los paneles de control de la consola de AWS: CloudWatch

Representa el panel de casos de uso CloudWatch

panel de casos de uso de cloudwatch

También puede crear widgets adicionales en este panel de control o crear paneles de Amazon Quick Sight.

Mejores prácticas para el análisis de los datos de comentarios

  • Implemente políticas de ciclo de vida de los datos en su depósito de S3 para archivar los datos de comentarios más antiguos en niveles de almacenamiento de menor coste

  • Cree un análisis independiente para cada caso de uso a fin de identificar las oportunidades de mejora específicas del modelo

  • Establezca umbrales de retroalimentación que activen alertas cuando la retroalimentación negativa supere los niveles aceptables

  • Exporte información crítica periódicamente para compartirla con las partes interesadas y los equipos de mejora de modelos