

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 name="accessing-and-analyzing-user-collected-feedback"></a>

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** 

![saída do balde de feedback](http://docs.aws.amazon.com/pt_br/solutions/latest/generative-ai-application-builder-on-aws/images/feedback-bucket-output.png)


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 `modelProvider``bedrockModelId`, 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](#custom-feedback-mappings) 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
<a name="custom-feedback-mappings"></a>

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` `LLMConfigTable`conté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
<a name="analyzing-feedback-data"></a>

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
<a name="using-aws-glue-and-amazon-athena"></a>

 [O AWS Glue](https://aws.amazon.com/glue) e o [Amazon Athena](https://aws.amazon.com/athena) oferecem uma forma sem servidor de catalogar, consultar e analisar seus dados de feedback.

O AWS Glue permite que você crie um [crawler do AWS Glue](https://docs.aws.amazon.com/glue/latest/dg/add-crawler.html) 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](https://docs.aws.amazon.com/athena/latest/ug/data-sources-glue.html) 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
<a name="using-the-solutions-cloudwatch-dashboards"></a>

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 ** 

![painel de casos de uso do cloudwatch](http://docs.aws.amazon.com/pt_br/solutions/latest/generative-ai-application-builder-on-aws/images/cloudwatch-usecase-dashboard.png)


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
<a name="best-practices-for-feedback-data-analysis"></a>
+  **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