Rastrea eventos en Amazon Bedrock - Amazon Bedrock

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.

Rastrea eventos en Amazon Bedrock

Cada respuesta de un agente de Amazon Bedrock va acompañada de un rastro que detalla los pasos que está organizando el agente. El seguimiento le ayuda a seguir el proceso de razonamiento del agente que lo lleva a la respuesta que da en ese momento de la conversación.

Utilice el seguimiento para rastrear la ruta del agente desde la entrada del usuario hasta la respuesta que devuelve. El rastreo proporciona información sobre las entradas a los grupos de acción que el agente invoca y las bases de conocimiento que consulta para responder al usuario. Además, la traza proporciona información sobre los resultados que devuelven los grupos de acción y las bases de conocimiento. Puede ver el razonamiento que utiliza el agente para determinar la acción que lleva a cabo o la consulta que realiza a una base de conocimientos. Si se produce un error en un paso del seguimiento, el seguimiento devuelve el motivo del error. Utilice la información detallada de la traza para solucionar los problemas de su agente. Puede identificar los pasos en los que el agente tiene problemas o en los que produce un comportamiento inesperado. A continuación, puede utilizar esta información para considerar formas de mejorar el comportamiento del agente.

Vea la traza

A continuación se describe cómo ver la traza. Seleccione la pestaña correspondiente al método que prefiera y siga los pasos.

Console
Para ver el rastro durante una conversación con un agente

Inicie sesión en la AWS Management Console consola Amazon Bedrock y ábrala en https://console.aws.amazon.com/bedrock/.

  1. En la sección Agentes, seleccione el enlace del agente que desee probar de la lista de agentes.

  2. La ventana de prueba aparece en un panel a la derecha.

  3. Introduzca un mensaje y seleccione Ejecutar. Mientras se genera la respuesta o después de que termine de generarse, selecciona Mostrar rastreo.

  4. Puede ver el seguimiento de cada paso en tiempo real a medida que su agente realiza la orquestación.

API

Para ver el seguimiento, envíe una InvokeAgentsolicitud a un punto final de tiempo de ejecución de Agents for Amazon Bedrock y defina TRUE el enableTrace campo en. De forma predeterminada el seguimiento está desactivado.

Si habilita el rastreo, en la InvokeAgentrespuesta, cada chunk elemento de la transmisión irá acompañado de un trace campo que se asigna a un TracePartobjeto. Dentro de TraceParthay un trace campo que se asigna a un Traceobjeto.

Estructura de la traza

La traza se muestra como un objeto JSON tanto en la consola como en la API. Cada paso de la consola o Tracede la API puede ser uno de los siguientes seguimientos:

  • PreProcessingTrace— Realiza un seguimiento de las entradas y salidas del paso previo al procesamiento, en el que el agente contextualiza y categoriza las entradas del usuario y determina si son válidas.

  • Orquestación: rastrea la entrada y la salida del paso de orquestación, en el que el agente interpreta la entrada, invoca grupos de acción y consulta las bases de conocimiento. A continuación, el agente devuelve el resultado para continuar con la orquestación o para responder al usuario.

  • PostProcessingTrace— Realiza un seguimiento de las entradas y salidas del paso de posprocesamiento, en el que el agente gestiona el resultado final de la orquestación y determina cómo devolver la respuesta al usuario.

  • FailureTrace— Rastrea el motivo por el que se ha producido un error en un paso.

  • GuardrailTrace— Rastrea las acciones de la barandilla.

Cada uno de los trazos (exceptoFailureTrace) contiene un ModelInvocationInputobjeto. El ModelInvocationInputobjeto contiene las configuraciones establecidas en la plantilla de solicitud del paso, junto con la solicitud proporcionada al agente en este paso. Para obtener más información sobre cómo modificar las plantillas de solicitudes, consulteIndicaciones avanzadas en Amazon Bedrock. La estructura del ModelInvocationInput objeto es la siguiente:

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

En la siguiente lista se describen los campos del ModelInvocationInputobjeto:

  • traceId: el identificador único del seguimiento.

  • text: el texto de la petición proporcionada al agente en este paso.

  • type: el paso actual del proceso del agente.

  • inferenceConfiguration: parámetros de inferencia que influyen en la generación de respuestas. Para obtener más información, consulte Parámetros de inferencia.

  • promptCreationMode— Si la plantilla de solicitud base predeterminada del agente se ha anulado en este paso. Para obtener más información, consulte Indicaciones avanzadas en Amazon Bedrock.

  • parserMode— Si el analizador de respuestas predeterminado del agente se anuló en este paso. Para obtener más información, consulte Indicaciones avanzadas en Amazon Bedrock.

  • overrideLambda— El nombre de recurso de Amazon (ARN) de la función Lambda del analizador utilizada para analizar la respuesta, si se anuló el analizador predeterminado. Para obtener más información, consulte Indicaciones avanzadas en Amazon Bedrock.

Para obtener más información sobre cada tipo de rastreo, consulte las siguientes secciones:

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

Se PreProcessingTracecompone de un ModelInvocationInputobjeto y un PreProcessingModelInvocationOutputobjeto. La PreProcessingModelInvocationOutput contiene los siguientes campos.

  • parsedResponse: contiene los siguientes detalles sobre la petición del usuario analizada.

    • isValid— Especifica si la solicitud de usuario es válida.

    • rationale: especifica el razonamiento del agente sobre los siguientes pasos que tomar.

  • traceId: el identificador único del seguimiento.

La orquestación está formada por el ModelInvocationInputobjeto y cualquier combinación de los objetos Rationale y Observation. InvocationInput Para obtener más información sobre cada objeto, seleccione una de las siguientes pestañas:

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

El objeto Rationale contiene el razonamiento del agente según lo introducido por el usuario. La estructura es la siguiente:

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

En la siguiente lista se describen los campos del objeto Rationale:

  • traceId: el identificador único del paso de seguimiento.

  • text— El proceso de razonamiento del agente, basado en la solicitud de entrada.

InvocationInput

El InvocationInputobjeto contiene información que se introducirá en el grupo de acción o en la base de conocimientos que se va a invocar o consultar. La estructura es la siguiente:

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

En la siguiente lista se describen los campos del InvocationInputobjeto:

  • traceId: el identificador único del seguimiento.

  • invocationType— Especifica si el agente está invocando un grupo de acción o una base de conocimientos, o si está finalizando la sesión.

  • actionGroupInvocationInput: aparece si el type es ACTION_GROUP. Para obtener más información, consulte Cree un grupo de acción para un agente de Amazon Bedrock. Puede ser una de las siguientes estructuras:

    • Si el grupo de acciones se define mediante un esquema de API, la estructura es la siguiente:

      { "actionGroupName": "string", "apiPath": "string", "verb": "string", "parameters": [ { "name": "string", "type": "string", "value": "string" }, ... ], "request": { "content": { "<content-type>": [ { "name": "string", "type": "string", "value": "string" } ] } } }

      A continuación se muestran las descripciones de los campos:

      • actionGroupName— El nombre del grupo de acciones que el agente predice que se debe invocar.

      • apiPath— La ruta a la operación de API a la que se va a llamar, según el esquema de la API.

      • verb— El método de API que se está utilizando, de acuerdo con el esquema de la API.

      • parameters: contiene una lista de objetos. Cada objeto contiene el nombre, el tipo y el valor de un parámetro de la operación de la API, tal como se define en el esquema de la API.

      • requestBody— Contiene el cuerpo de la solicitud y sus propiedades, tal y como se definen en el esquema de la API.

    • Si el grupo de acciones se define mediante los detalles de la función, la estructura es la siguiente:

      { "actionGroupName": "string", "function": "string", "parameters": [ { "name": "string", "type": "string", "value": "string" }, ... ] }

      A continuación se muestran las descripciones de los campos:

      • actionGroupName— El nombre del grupo de acciones que el agente predice que se debe invocar.

      • function— Se debe llamar al nombre de la función que predice el agente.

      • parameters— Los parámetros de la función.

  • knowledgeBaseLookupInput: aparece si el type es KNOWLEDGE_BASE. Para obtener más información, consulte Bases de conocimiento de Amazon Bedrock. Contiene la siguiente información sobre la base de conocimientos y la consulta de búsqueda de la base de conocimientos:

    • knowledgeBaseId: el identificador único de la base de conocimientos que el agente va a buscar.

    • text: la consulta que se debe realizar a la base de conocimientos.

Observation

El objeto de observación contiene el resultado o la salida de un grupo de acción o una base de conocimientos, o la respuesta al usuario. La estructura es la siguiente:

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

La siguiente lista describe los campos del objeto de observación:

  • traceId: el identificador único del seguimiento.

  • type— Especifica si la observación del agente proviene del resultado de un grupo de acción o de una base de conocimientos, si el agente vuelve a preguntar al usuario, solicita más información o finaliza la conversación.

  • actionGroupInvocationOutput— Contiene la cadena con formato JSON devuelta por la operación de API que invocó el grupo de acciones. Aparece si el type es ACTION_GROUP. Para obtener más información, consulte Defina OpenAPI esquemas para los grupos de acción de sus agentes en Amazon Bedrock.

  • knowledgeBaseLookupOutput— Contiene el texto recuperado de la base de conocimientos que es relevante para responder a la solicitud, junto con la ubicación de Amazon S3 de la fuente de datos. Aparece si el type es KNOWLEDGE_BASE. Para obtener más información, consulte Bases de conocimiento de Amazon Bedrock. Cada objeto de la lista retrievedReferences contiene los siguientes campos:

    • content: contiene el text de la base de conocimientos que se devuelve de la consulta de la base de conocimientos.

    • location— Contiene el URI de Amazon S3 de la fuente de datos en la que se encontró el texto devuelto.

  • repromptResponse: aparece si el type es REPROMPT. Contiene el text que solicita una nueva petición junto con el source de por qué el agente necesita volver a solicitarlo.

  • finalResponse: aparece si el type es ASK_USER o FINISH. Contiene el text que solicita al usuario más información o es una respuesta al usuario.

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

Se PostProcessingTracecompone de un ModelInvocationInputobjeto y un PostProcessingModelInvocationOutputobjeto. PostProcessingModelInvocationOutputContiene los siguientes campos:

  • parsedResponse— Contiene los datos text que se devolverán al usuario una vez que la función de análisis haya procesado el texto.

  • traceId: el identificador único del seguimiento.

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

La siguiente lista describe los campos del FailureTraceobjeto:

  • failureReason: el motivo por el que el paso falló.

  • traceId: el identificador único del seguimiento.

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

En la siguiente lista se describen los campos del GuardrailAssessment objeto:

  • action— indica si Guardrails intervino o no en los datos de entrada. Las opciones son o. GUARDRAIL_INTERVENED NONE

  • inputAssessments— Los detalles de la evaluación de Guardrail introducidos por el usuario.

  • outputAssessments— Los detalles de la evaluación de Guardrail sobre la respuesta.

Para obtener más información sobre el GuardrailAssessment objeto y sobre las pruebas de una barandilla, consulte. Pruebe una barandilla

GuardrailAssessment ejemplo:

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