View a markdown version of this page

Zugriff auf und Analyse des vom Benutzer gesammelten Feedbacks - Generativer KI-Anwendungsgenerator auf AWS

Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.

Zugriff auf und Analyse des vom Benutzer gesammelten Feedbacks

Ab Version 3.0.0 stellt das Deployment Dashboard einen verschachtelten Feedback-Stapel bereit, der es Text- und Bedrock Agent-Anwendungsfällen, die mit dem Dashboard bereitgestellt werden, ermöglicht, Feedback für die vom Dashboard generierten Antworten zu sammeln. LLM/Agent Insbesondere können Benutzer ein positives oder negatives Feedback zusammen mit einem optionalen Kommentar abgeben. Wenn der Benutzer ein negatives Feedback abgibt, kann er zusätzlich eine dieser negativen Kategorien auswählen: „Ungenau“, „Unvollständig oder unzureichend“, „Schädlich“, „Andere“. and/or

Sobald der Benutzer das Feedback gegeben hat, wird das Feedback in einem S3-Bucket gespeichert, der nach Anwendungsfall-ID, Jahr und Monat partitioniert ist. Die Anwendungsfall-ID befindet sich im Deployment Dashboard und der Feedback-S3-Bucket befindet sich in den Ausgaben des verschachtelten Feedback-Stacks des Deployment Dashboard-Stacks:

Zeigt den Bereitstellungsstapel an — der Name des Feedback-Buckets wird gefunden

Ausgabe des Feedback-Buckets

Das Benutzerfeedback wird als API-Anfrage gesendet, die eine minimale Menge an Informationen enthält:

{ "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." }

Diese Nutzlast wird dann von einem Lambda verarbeitet, wobei der verwendet wirduseCaseRecordKey, der die korrekte Konfiguration eines Anwendungsfalls zum Zeitpunkt der Bereitstellung identifiziert. Diese Konfiguration wird verwendet, um spezifische Details für das Feedback abzurufen, wie z. B. den ConversationTable Namen (enthält alle Konversationen sowie menschliche und KI-Nachrichtensequenzen), der dann verwendet wird, um das tatsächliche und abzurufen. userInput llmResponse Diesem Feedback-Datensatz sind auch zusätzliche Details beigefügt, z. B. das agentId und agentAliasId für einen Bedrock Agent-Anwendungsfall und usw. für einen Text-Anwendungsfall modelProviderbedrockModelId, der diese Konfiguration verwendet. Einzelheiten zum Zugriff auf diese Konfiguration finden Sie weiter unten im Abschnitt Benutzerdefinierte Feedback-Zuordnungen. Jede eingehende Feedback-Anfrage wird als JSON-Objekt gespeichert, und ein Beispiel für einen Feedback-Datensatz kann für einen Text-Anwendungsfall wie folgt aussehen:

{ "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" }

oder so für einen Bedrock Agent-Anwendungsfall:

{ "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" }

Dieses Feedback kann dann für die weitere Verarbeitung, Analyse und Modellierung von Wiederholungs- und Feedback-Schleifen verwendet werden. Sie können auch benutzerdefinierte Zuordnungen hinzufügen, um den Feedback-Datensatz, der im Feedback-Lambda gespeichert wird, zu verbessern.

Benutzerdefinierte Feedback-Zuordnungen

Das Deployment Dashboard enthält eineLLMConfigTable, die in den Stack-Ausgaben des Deployment Dashboard-Stacks mit dem Schlüssel zu finden ist. LLMConfigTableName LLMConfigTableenthält die Konfigurationen für jeden Anwendungsfall auf der Grundlage der Einstellungen, die der Administrator bei der Bereitstellung des Anwendungsfalls über den Deployment-Dashboard-Assistenten ausgewählt hat. Jede Anwendungsfallkonfiguration wird anhand ihrer identifiziert. useCaseRecordKey Hier ist ein Beispiel für einen Konfigurationsdatensatz für einen Anwendungsfall in der: 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" } }

Wenn Feedback für einen Anwendungsfall aktiviert ist, enthält diese Konfiguration ein Objekt, das es ermöglicht, dass ein FeedbackParams CustomMappings Objekt darin enthalten ist, das JSONPaths für alle zusätzlichen Felder angeben kann, dem Feedback-JSON-Datensatz hinzugefügt werden, der im Feedback-S3-Bucket gespeichert ist. Zum Beispiel für die obige Beispiel-Anwendungsfallkonfiguration CustomMappings enthält das Objekt NumberOfDocs und ScoreThreshold JSONPaths zusätzlich das CustomMappings Objekt, das mit dem config Stamm von beginnt. JSONPath Mit dieser Konfiguration erhält jeder JSON-Datensatz, der im Feedback-S3-Bucket gespeichert ist, diese beiden zusätzlichen Werte, abgesehen von den Feldern, die bereits bereitgestellt wurden.

Analysieren von Feedback-Daten

Die Feedback-Daten werden in S3 als JSON-Objekte gespeichert. Hier sind einige Ansätze, um diese Feedback-Daten zugänglicher und umsetzbarer zu machen:

Verwendung von AWS Glue und Amazon Athena

AWS Glue und Amazon Athena bieten eine serverlose Möglichkeit, Ihre Feedback-Daten zu katalogisieren, abzufragen und zu analysieren.

Mit AWS Glue können Sie einen AWS Glue Glue-Crawler erstellen, der die Daten in einem S3-Bucket untersucht, sein Schema ableitet und alle relevanten Metadaten in einem Katalog aufzeichnet. Danach können Dienste wie Amazon Athena verwendet werden, um die Daten abzufragen.

In der AWS Athena-Dokumentation finden Sie die Schritte zur Verbindung des Feedback-S3-Buckets mit Amazon Athena mithilfe des AWS Glue Glue-Datenkatalogs. Sie können auch einige der leistungsfähigeren Funktionen von Glue verwenden, um ETL-Jobs (Extract Transform & Load) mit diesen Daten durchzuführen und sie in ein Format umzuwandeln, das Ihren Anwendungsfällen für Analysen oder Modellumschulungen entspricht. Mit Glue können Sie beispielsweise die Datensätze mit bestimmten Feedbacktypen filtern, fehlende Informationen ausfüllen und diese Daten auch in einen anderen Speicherort laden, z. B. in einen anderen S3-Bucket oder einen anderen AWS-Datenspeicher.

Anmerkung

Abhängig von Ihrem Anwendungsfall sollten Sie erwägen, den Glue-Crawler so zu planen, dass er regelmäßig (z. B. wöchentlich) und nicht jede Nacht läuft, um die Kosten zu optimieren, da Feedback-Daten spärlich sein können.

Verwenden Sie die Dashboards der Lösung CloudWatch

Sie haben auch Zugriff auf ein im Lieferumfang der Lösung enthaltenes CloudWatch Dashboard, das Ihnen für jeden Anwendungsfall Trends für positives und negatives Feedback, Kategorien von Gründen für negatives Feedback usw. bietet. Sie finden dieses Dashboard anhand Ihres Anwendungsfallnamens unter Dashboards in der CloudWatch AWS-Konsole:

Stellt das Usecase-Dashboard dar CloudWatch

Dashboard für Cloudwatch-Anwendungsfälle

Sie können in diesem Dashboard auch zusätzliche Widgets erstellen oder Amazon Quick Sight-Dashboards erstellen.

Bewährte Methoden für die Analyse von Feedback-Daten

  • Implementieren Sie Richtlinien für den Datenlebenszyklus in Ihrem S3-Bucket, um ältere Feedback-Daten auf kostengünstigeren Speicherebenen zu archivieren

  • Erstellen Sie für jeden Anwendungsfall eine separate Analyse, um modellspezifische Verbesserungsmöglichkeiten zu identifizieren

  • Legen Sie Feedback-Schwellenwerte fest, die Warnmeldungen auslösen, wenn negatives Feedback akzeptable Werte überschreitet

  • Exportieren Sie regelmäßig wichtige Erkenntnisse, um sie mit Stakeholdern und Teams zur Modellverbesserung zu teilen