As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.
Acessando e analisando o feedback coletado pelo usuário
A partir da versão 3.0.0, o Painel de Implantação implanta uma pilha de feedback aninhada que permite que os casos de uso do Text e do Bedrock Agent implantados com o Painel tenham a funcionalidade de coleta de feedback para as respostas geradas. LLM/Agent Particularmente, os usuários podem fornecer um feedback positivo ou negativo junto com um comentário opcional. Se o usuário fornecer um feedback negativo, ele poderá selecionar ainda mais uma dessas categorias negativas: 'Impreciso', 'Incompleto ou insuficiente', 'Nocivo' 'Outro'. and/or
Depois que o usuário fornece o feedback, o feedback é armazenado em um bucket do S3 particionado por ID de caso de uso, ano e mês. O ID do caso de uso pode ser encontrado no Painel de implantação e o bucket do Feedback S3 pode ser encontrado nas saídas da pilha aninhada de feedback da pilha do Painel de implantação:
Descreve a pilha de implantação - Finding Feedback Bucket Name
O feedback do usuário é enviado como uma solicitação de API contendo um conjunto mínimo de informações:
{ "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." }
Essa carga é então processada por um lambda usando o useCaseRecordKey que identifica a configuração correta de um caso de uso no momento da implantação. Essa configuração é usada para obter detalhes específicos do feedback, como o nome ConversationTable do (contém todas as conversas e sequências de mensagens humanas e de IA), que é usado posteriormente para recuperar o e. userInput llmResponse Detalhes adicionais também estão anexados a esse registro de feedback, como agentId e agentAliasId para um caso de uso do Bedrock Agent e modelProviderbedrockModelId, etc. para um caso de uso de texto usando essa configuração. Para obter detalhes sobre como acessar essa configuração, consulte a seção Mapeamentos de feedback personalizados abaixo. Cada solicitação de feedback recebida é armazenada como um objeto JSON e um exemplo de registro de feedback pode ter a seguinte aparência para um 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" }
ou assim para um caso de uso do 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" }
Esse feedback pode então ser usado para processamento adicional, análise e modelagem de ciclos de retreinamento/feedback. Você também pode adicionar mapeamentos personalizados para aprimorar o registro de feedback que está sendo armazenado no feedback lambda.
Mapeamentos de feedback personalizados
O Painel de Implantação contém um LLMConfigTable que pode ser encontrado nas saídas da pilha do Painel de Implantação com a chave. LLMConfigTableName LLMConfigTablecontém as configurações para cada caso de uso com base nas configurações selecionadas pelo administrador ao implantar o caso de uso por meio do assistente do Deployment Dashboard. Cada configuração de caso de uso é identificada por sua. useCaseRecordKey Aqui está um exemplo de registro de configuração de caso de uso no: 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" } }
Se o feedback estiver habilitado para um caso de uso, essa configuração conterá um FeedbackParams objeto que permite que um CustomMappings objeto dentro dela possa especificar que todos JSONPaths os campos adicionais sejam adicionados ao registro JSON de feedback armazenado no bucket de feedback do S3. Por exemplo, para o exemplo de configuração de caso de uso acima, o CustomMappings contém NumberOfDocs e, ScoreThreshold JSONPaths adicionalmente, no CustomMappings objeto que começa com config como raiz do. JSONPath Com essa configuração, cada registro JSON armazenado no bucket de feedback do S3 começará a receber esses dois valores adicionais além dos campos que já foram fornecidos.
Analisando dados de feedback
Os dados de feedback são armazenados no S3 como objetos JSON. Aqui estão algumas abordagens para tornar esses dados de feedback mais acessíveis e acionáveis:
Usando o AWS Glue e o Amazon Athena
O AWS Glue
O AWS Glue permite que você crie um crawler do AWS Glue que inspeciona os dados em um bucket do S3, infere seu esquema e registra todos os metadados relevantes em um catálogo. Depois disso, serviços como o Amazon Athena podem ser usados para consultar os dados.
Você pode consultar a documentação do AWS Athena sobre as etapas para conectar o bucket S3 de feedback ao Amazon Athena usando o AWS Glue Data Catalog. Você também pode usar alguns dos recursos mais poderosos do Glue para realizar trabalhos de extração, transformação e carregamento (ETL) nesses dados e transformá-los em um formato adequado aos seus casos de uso de análise ou retreinamento de modelos. Com o Glue, você pode realizar operações como filtrar os registros com determinados tipos de feedback, preencher qualquer informação ausente e também pode carregar esses dados em outro local de armazenamento, como outro bucket do S3 ou outro armazenamento de dados da AWS.
nota
Dependendo do seu caso de uso, considere programar o rastreador Glue para ser executado periodicamente (por exemplo, semanalmente) em vez de todas as noites para otimizar os custos, pois os dados de feedback podem ser escassos.
Usando os CloudWatch painéis da solução
Você também tem acesso a um CloudWatch painel com a solução que pode fornecer tendências de feedback positivo e negativo, categorias de motivos de feedback negativo, etc. de acordo com o caso de uso. Você pode encontrar esse painel usando o nome do seu caso de uso em Painéis dentro do console da AWS: CloudWatch
Descreve o painel de casos de uso CloudWatch
Você também pode criar widgets adicionais neste painel ou criar painéis do Amazon Quick Sight.
Melhores práticas para análise de dados de feedback
-
Implemente políticas de ciclo de vida de dados em seu bucket S3 para arquivar dados de feedback mais antigos em níveis de armazenamento de menor custo
-
Crie análises separadas para cada caso de uso para identificar oportunidades de melhoria específicas do modelo
-
Estabeleça limites de feedback que acionem alertas quando o feedback negativo excede os níveis aceitáveis
-
Exporte informações críticas periodicamente para compartilhar com as partes interessadas e as equipes de melhoria do modelo