Ereignisse in Amazon Bedrock verfolgen - Amazon Bedrock

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.

Ereignisse in Amazon Bedrock verfolgen

Jede Antwort eines Amazon Bedrock-Agenten wird von einer Ablaufverfolgung begleitet, in der die vom Agenten orchestrierten Schritte detailliert beschrieben werden. Der Trace hilft Ihnen dabei, den Argumentationsprozess des Agenten zu verfolgen, der diesen zu der Antwort führt, die er zu diesem Zeitpunkt in der Konversation gibt.

Verwenden Sie den Trace, um den Pfad des Agenten von der Benutzereingabe bis zur zurückgegebenen Antwort nachzuverfolgen. Der Trace liefert Informationen über die Eingaben in die Aktionsgruppen, die der Agent aufruft, sowie über die Wissensdatenbanken, die er abfragt, um dem Benutzer zu antworten. Darüber hinaus liefert der Trace Informationen über die Ausgaben, die von den Aktionsgruppen und Wissensdatenbanken zurückgegeben werden. Sie können sich die Argumentation ansehen, anhand derer der Agent bestimmt, welche Aktion er ausführt, oder die Abfrage, die er an eine Wissensdatenbank stellt. Wenn ein Schritt im Trace fehlschlägt, gibt der Trace einen Grund für den Fehler zurück. Verwenden Sie die detaillierten Informationen in der Ablaufverfolgung, um Probleme mit Ihrem Agenten zu beheben. Sie können Schritte identifizieren, bei denen der Agent Probleme hat oder bei denen er zu unerwartetem Verhalten führt. Anhand dieser Informationen können Sie dann überlegen, wie Sie das Verhalten des Agenten verbessern können.

Sehen Sie sich den Trace an

Im Folgenden wird beschrieben, wie Sie den Trace anzeigen können. Wählen Sie die Registerkarte aus, die der Methode Ihrer Wahl entspricht, und folgen Sie den Schritten.

Console
Um den Trace während einer Konversation mit einem Agenten einzusehen

Melden Sie sich bei der Rolle AWS Management Console Using an IAM mit Amazon Bedrock-Berechtigungen an und öffnen Sie die Amazon Bedrock-Konsole unter https://console.aws.amazon.com/bedrock/.

  1. Wählen Sie im Abschnitt Agenten aus der Agentenliste den Link für den Agenten aus, den Sie testen möchten.

  2. Das Testfenster wird in einem Bereich auf der rechten Seite angezeigt.

  3. Geben Sie eine Nachricht ein und wählen Sie Ausführen. Wählen Sie während der Generierung der Antwort oder nach Abschluss der Generierung die Option Trace anzeigen aus.

  4. Sie können die Ablaufverfolgung für jeden Schritt in Echtzeit anzeigen, während Ihr Agent die Orchestrierung durchführt.

API

Um den Trace einzusehen, senden Sie eine InvokeAgentAnfrage mit einem Runtime-Endpunkt von Agents for Amazon Bedrock und setzen Sie das enableTrace Feld aufTRUE. Standardmässig ist der Trace deaktiviert.

Wenn Sie die Ablaufverfolgung aktivieren, wird in der InvokeAgentAntwort jedem chunk Element im Stream ein trace Feld beigefügt, das einem TracePartObjekt zugeordnet ist. Innerhalb von TracePartbefindet sich ein trace Feld, das einem TraceObjekt zugeordnet ist.

Struktur der Spur

Der Trace wird sowohl in der Konsole als auch in der API als JSON-Objekt angezeigt. Jeder Schritt in der Konsole oder Tracein der API kann einer der folgenden Traces sein:

  • PreProcessingTrace— Verfolgt die Eingabe und Ausgabe des Vorverarbeitungsschritts, in dem der Agent Benutzereingaben kontextualisiert und kategorisiert und feststellt, ob sie gültig sind.

  • OrchestrationTrace— Verfolgt die Eingabe und Ausgabe des Orchestrierungsschritts, in dem der Agent die Eingabe interpretiert, Aktionsgruppen aufruft und Wissensdatenbanken abfragt. Anschließend gibt der Agent die Ausgabe zurück, um entweder die Orchestrierung fortzusetzen oder dem Benutzer zu antworten.

  • PostProcessingTrace— Verfolgt die Eingabe und Ausgabe des Nachbearbeitungsschritts, in dem der Agent die endgültige Ausgabe der Orchestrierung verarbeitet, und bestimmt, wie die Antwort an den Benutzer zurückgegeben werden soll.

  • FailureTrace— Verfolgt den Grund, warum ein Schritt fehlgeschlagen ist.

  • GuardrailTrace— Zeichnet die Aktionen der Leitplanke nach.

Jede der Spuren (außerFailureTrace) enthält ein ModelInvocationInputObjekt. Das ModelInvocationInputObjekt enthält Konfigurationen, die in der Eingabeaufforderungsvorlage für den Schritt festgelegt wurden, sowie die Aufforderung, die dem Agenten in diesem Schritt zur Verfügung gestellt wurde. Weitere Informationen zum Ändern von Aufforderungsvorlagen finden Sie unterErweiterte Eingabeaufforderungen in Amazon Bedrock. Die Struktur des ModelInvocationInput Objekts ist wie folgt:

{ "traceId": "string", "text": "string", "type": "PRE_PROCESSING | ORCHESTRATION | KNOWLEDGE_BASE_RESPONSE_GENERATION | POST_PROCESSING", "inferenceConfiguration": { "maximumLength": number, "stopSequences": ["string"], "temperature": float, "topK": float, "topP": float }, "promptCreationMode": "DEFAULT | OVERRIDDEN", "parserMode": "DEFAULT | OVERRIDDEN", "overrideLambda": "string" }

Die folgende Liste beschreibt die Felder des ModelInvocationInputObjekts:

  • traceId – die eindeutige Kennung des Trace.

  • text: Der Text aus der Eingabeaufforderung, die dem Agenten in diesem Schritt zur Verfügung gestellt wurde.

  • type: Der aktuelle Schritt im Prozess des Agenten.

  • inferenceConfiguration: Inferenzparameter, die die Antwortgenerierung beeinflussen. Weitere Informationen finden Sie unter Inferenzparameter.

  • promptCreationMode— Ob die standardmäßige Basisvorlage für Eingabeaufforderungen des Agenten für diesen Schritt außer Kraft gesetzt wurde. Weitere Informationen finden Sie unter Erweiterte Eingabeaufforderungen in Amazon Bedrock.

  • parserMode— Ob der Standard-Antwortparser des Agenten für diesen Schritt überschrieben wurde. Weitere Informationen finden Sie unter Erweiterte Eingabeaufforderungen in Amazon Bedrock.

  • overrideLambda— Der Amazon-Ressourcenname (ARN) der Parser-Lambda-Funktion, die zum Analysieren der Antwort verwendet wurde, falls der Standardparser überschrieben wurde. Weitere Informationen finden Sie unter Erweiterte Eingabeaufforderungen in Amazon Bedrock.

Weitere Informationen zu den einzelnen Trace-Typen finden Sie in den folgenden Abschnitten:

{ "modelInvocationInput": { // see above for details } "modelInvocationOutput": { "parsedResponse": { "isValid": boolean, "rationale": "string" }, "traceId": "string" } }

Der PreProcessingTracebesteht aus einem ModelInvocationInputObjekt und einem PreProcessingModelInvocationOutputObjekt. Die PreProcessingModelInvocationOutput enthält die folgenden Felder.

  • parsedResponse: Enthält die folgenden Details zur analysierten Benutzeraufforderung.

    • isValid— Gibt an, ob die Benutzeraufforderung gültig ist.

    • rationale: Gibt die Argumentation des Agenten für die nächsten Schritte an.

  • traceId – die eindeutige Kennung des Trace.

Das OrchestrationTracebesteht aus dem ModelInvocationInputObjekt und einer beliebigen Kombination der Objekte Rationale InvocationInput, und Observation. Weitere Informationen zu den einzelnen Objekten erhalten Sie, wenn Sie eine der folgenden Registerkarten auswählen:

{ "modelInvocationInput": { // see above for details }, "rationale": { ... }, "invocationInput": { ... }, "observation": { ... } }
Rationale

Das Rationale-Objekt enthält die Argumentation des Agenten anhand der Benutzereingabe. Es folgt die Struktur:

{ "traceId": "string", "text": "string" }

In der folgenden Liste werden die Felder des Rationale-Objekts beschrieben:

  • traceId – die eindeutige Kennung des Trace-Schritts.

  • text— Der Argumentationsprozess des Agenten, der auf der Eingabeaufforderung basiert.

InvocationInput

Das InvocationInputObjekt enthält Informationen, die in die Aktionsgruppe oder Wissensdatenbank eingegeben werden, die aufgerufen oder abgefragt werden soll. Es folgt die Struktur:

{ "traceId": "string", "invocationType": "ACTION_GROUP | KNOWLEDGE_BASE | FINISH", "actionGroupInvocationInput": { // see below for details }, "knowledgeBaseLookupInput": { "knowledgeBaseId": "string", "text": "string" } }

Die folgende Liste beschreibt die Felder des InvocationInputObjekts:

  • traceId – die eindeutige Kennung des Trace.

  • invocationType— Gibt an, ob der Agent eine Aktionsgruppe oder eine Wissensdatenbank aufruft oder die Sitzung beendet.

  • actionGroupInvocationInput: Erscheint, wenn der type ACTION_GROUP ist. Weitere Informationen finden Sie unter Aktionen in der Aktionsgruppe definieren. Kann eine der folgenden Strukturen sein:

    • Wenn die Aktionsgruppe durch ein API-Schema definiert ist, sieht die Struktur wie folgt aus:

      { "actionGroupName": "string", "apiPath": "string", "verb": "string", "parameters": [ { "name": "string", "type": "string", "value": "string" }, ... ], "requestBody": { "content": { "<content-type>": [ { "name": "string", "type": "string", "value": "string" } ] } }, "executionType": "LAMBDA | RETURN_CONTROL", "invocationId": "string" }

      Im Folgenden finden Sie Beschreibungen der Felder:

      • actionGroupName— Der Name der Aktionsgruppe, von der der Agent prognostiziert, dass sie aufgerufen werden sollte.

      • apiPath— Der Pfad zu der API-Operation, die gemäß dem API-Schema aufgerufen werden soll.

      • verb— Die API-Methode, die gemäß dem API-Schema verwendet wird.

      • parameters: Enthält eine Liste von Objekten. Jedes Objekt enthält den Namen, den Typ und den Wert eines Parameters in der API-Operation, wie im API-Schema definiert.

      • requestBody— Enthält den Hauptteil der Anfrage und seine Eigenschaften, wie im API-Schema definiert.

      • executionType— Ob die Ausführung der Aktion an eine Lambda-Funktion (LAMBDA) übergeben wird oder ob die Steuerung durch die InvokeAgent Antwort (RETURN_CONTROL) zurückgegeben wird. Weitere Informationen finden Sie unter Abwicklung der Maßnahme.

      • invocationId— Die eindeutige Kennung des Aufrufs. Wird nur zurückgegeben, wenn der executionType istRETURN_CONTROL.

    • Wenn die Aktionsgruppe durch Funktionsdetails definiert ist, sieht die Struktur wie folgt aus:

      { "actionGroupName": "string", "function": "string", "parameters": [ { "name": "string", "type": "string", "value": "string" }, ... ], "executionType": "LAMBDA | RETURN_CONTROL", "invocationId": "string" }

      Im Folgenden finden Sie Beschreibungen der Felder:

      • actionGroupName— Der Name der Aktionsgruppe, von der der Agent prognostiziert, dass sie aufgerufen werden sollte.

      • function— Der Name der Funktion, von der der Agent vorhersagt, dass sie aufgerufen werden soll.

      • parameters— Die Parameter der Funktion.

      • executionType— Ob die Ausführung der Aktion an eine Lambda-Funktion (LAMBDA) übergeben wird oder ob die Steuerung durch die InvokeAgent Antwort (RETURN_CONTROL) zurückgegeben wird. Weitere Informationen finden Sie unter Abwicklung der Maßnahme.

      • invocationId— Die eindeutige Kennung des Aufrufs. Wird nur zurückgegeben, wenn der executionType istRETURN_CONTROL.

  • knowledgeBaseLookupInput: Erscheint, wenn der type KNOWLEDGE_BASE ist. Weitere Informationen finden Sie unter Wissensdatenbanken für Amazon Bedrock. Enthält die folgenden Informationen über die Wissensdatenbank und die Suchabfrage für die Wissensdatenbank:

    • knowledgeBaseId: Die eindeutige Kennung der Wissensdatenbank, nach der der Agent sucht.

    • text: Die an die Wissensdatenbank gestellte Abfrage.

Observation

Das Observation-Objekt enthält das Ergebnis oder die Ausgabe einer Aktionsgruppe oder Wissensdatenbank oder die Antwort an den Benutzer. Es folgt die Struktur:

{ "traceId": "string", "type": "ACTION_GROUP | KNOWLEDGE_BASE | REPROMPT | ASK_USER | FINISH", "actionGroupInvocation": { "text": "JSON-formatted string" }, "knowledgeBaseLookupOutput": { "retrievedReferences": [ { "content": { "text": "string" }, "location": { "type": "S3", "s3Location": { "uri": "string" } } }, ... ] }, "repromptResponse": { "source": "ACTION_GROUP | KNOWLEDGE_BASE | PARSER", "text": "string" }, "finalResponse": { "text" } }

In der folgenden Liste werden die Felder des Observation-Objekts beschrieben:

  • traceId – die eindeutige Kennung des Trace.

  • type— Gibt an, ob die Beobachtung des Agenten anhand des Ergebnisses einer Aktionsgruppe oder einer Wissensdatenbank zurückgegeben wird, wenn der Agent den Benutzer erneut auffordert, weitere Informationen anfordert oder die Konversation beendet.

  • actionGroupInvocationOutput— Enthält die Zeichenfolge im JSON-Format, die von der API-Operation zurückgegeben wurde, die von der Aktionsgruppe aufgerufen wurde. Erscheint, wenn der type ACTION_GROUP ist. Weitere Informationen finden Sie unter Definieren Sie OpenAPI Schemas für die Aktionsgruppen Ihres Agenten in Amazon Bedrock.

  • knowledgeBaseLookupOutput— Enthält aus der Wissensdatenbank abgerufenen Text, der für die Beantwortung der Aufforderung relevant ist, zusammen mit dem Amazon S3 S3-Speicherort der Datenquelle. Erscheint, wenn der type KNOWLEDGE_BASE ist. Weitere Informationen finden Sie unter Wissensdatenbanken für Amazon Bedrock. Jedes Objekt in der Liste von retrievedReferences enthält die folgenden Felder:

    • content: Enthält text aus der Wissensdatenbank, der aufgrund der Abfrage der Wissensdatenbank zurückgegeben wird.

    • location— Enthält den Amazon S3 S3-URI der Datenquelle, aus der der zurückgegebene Text gefunden wurde.

  • repromptResponse: Erscheint, wenn der type REPROMPT ist. Enthält den text, der erneut nach einer Eingabeaufforderung fragt, zusammen mit der source, warum der Agent eine weitere Eingabeaufforderung ausgibt.

  • finalResponse: Erscheint, wenn der type ASK_USER oder FINISH ist. Enthält den text, der den Benutzer nach weiteren Informationen fragt oder eine Antwort an den Benutzer ist.

{ "modelInvocationInput": { // see above for details } "modelInvocationOutput": { "parsedResponse": { "text": "string" }, "traceId": "string" } }

Der PostProcessingTracebesteht aus einem ModelInvocationInputObjekt und einem PostProcessingModelInvocationOutputObjekt. Das PostProcessingModelInvocationOutputenthält die folgenden Felder:

  • parsedResponse— Enthält das Feldtext, das an den Benutzer zurückgegeben werden soll, nachdem der Text von der Parser-Funktion verarbeitet wurde.

  • traceId – die eindeutige Kennung des Trace.

{ "failureReason": "string", "traceId": "string" }

Die folgende Liste beschreibt die Felder des FailureTraceObjekts:

  • failureReason: Der Grund, warum der Schritt fehlgeschlagen ist.

  • traceId – die eindeutige Kennung des Trace.

{ "action": "GUARDRAIL_INTERVENED" | "NONE", "inputAssessments": [GuardrailAssessment], "outputAssessments": [GuardrailAssessment] }

In der folgenden Liste werden die Felder des GuardrailAssessment Objekts beschrieben:

  • action— gibt an, ob Leitplanken in die Eingabedaten eingegriffen haben oder nicht. Die Optionen sind oder. GUARDRAIL_INTERVENED NONE

  • inputAssessments— Die Einzelheiten der Guardrail-Bewertung anhand der Benutzereingabe.

  • outputAssessments— Die Einzelheiten der Guardrail-Bewertung in der Antwort.

Weitere Informationen zum GuardrailAssessment Objekt und zum Testen eines Guardrails finden Sie unter. Testen Sie eine Leitplanke

GuardrailAssessment Beispiel:

{ "topicPolicy": { "topics": [{ "name": "string", "type": "string", "action": "string" }] }, "contentPolicy": { "filters": [{ "type": "string", "confidence": "string", "action": "string" }] }, "wordPolicy": { "customWords": [{ "match": "string", "action": "string" }], "managedWordLists": [{ "match": "string", "type": "string", "action": "string" }] }, "sensitiveInformationPolicy": { "piiEntities": [{ "type": "string", "match": "string", "action": "string" }], "regexes": [{ "name": "string", "regex": "string", "match": "string", "action": "string" }] } }