Rastreie eventos no Amazon Bedrock - Amazon Bedrock

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á.

Rastreie eventos no Amazon Bedrock

Cada resposta de um agente do Amazon Bedrock é acompanhada por um rastreamento que detalha as etapas que estão sendo orquestradas pelo agente. O rastreamento ajuda você a acompanhar o processo de raciocínio do agente que o leva à resposta que ele dá naquele momento da conversa.

Use o rastreamento para rastrear o caminho do agente desde a entrada do usuário até a resposta que ele retorna. O rastreamento fornece informações sobre as entradas para os grupos de ação que o agente invoca e as bases de conhecimento que ele consulta para responder ao usuário. Além disso, o rastreamento fornece informações sobre os resultados que os grupos de ação e as bases de conhecimento retornam. Você pode ver o raciocínio que o agente usa para determinar a ação que ele executa ou a consulta que ele faz a uma base de conhecimento. Se uma etapa do rastreamento falhar, o rastreamento retornará o motivo da falha. Use as informações detalhadas no rastreamento para solucionar problemas com seu agente. Você pode identificar as etapas nas quais o agente tem problemas ou nas quais ele produz um comportamento inesperado. Em seguida, você pode usar essas informações para considerar maneiras de melhorar o comportamento do agente.

Veja o traço

A seguir, descrevemos como visualizar o rastreamento. Selecione a guia correspondente ao seu método de escolha e siga as etapas.

Console
Para ver o rastreamento durante uma conversa com um agente

Faça login no AWS Management Console e abra o console Amazon Bedrock em https://console.aws.amazon.com/bedrock/.

  1. Na seção Agentes, selecione o link do agente que você deseja testar na lista de agentes.

  2. A janela Teste aparece em um painel à direita.

  3. Insira uma mensagem e escolha Executar. Enquanto a resposta estiver sendo gerada ou após o término da geração, selecione Mostrar rastreamento.

  4. Você pode visualizar o rastreamento de cada etapa em tempo real enquanto seu agente executa a orquestração.

API

Para visualizar o rastreamento, envie uma InvokeAgentsolicitação com um endpoint de tempo de execução do Agents for Amazon Bedrock e defina o enableTrace campo como. TRUE Por padrão, o rastreamento é desabilitado.

Se você ativar o rastreamento, na InvokeAgentresposta, cada um chunk no fluxo será acompanhado por um trace campo mapeado para um TracePartobjeto. Dentro do TracePartestá um trace campo que mapeia para um Traceobjeto.

Estrutura do traço

O rastreamento é mostrado como um objeto JSON no console e na API. Cada etapa no console ou Tracena API pode ser um dos seguintes rastreamentos:

  • PreProcessingTrace— Rastreia a entrada e a saída da etapa de pré-processamento, na qual o agente contextualiza e categoriza a entrada do usuário e determina se ela é válida.

  • Orquestração — rastreia a entrada e a saída da etapa de orquestração, na qual o agente interpreta a entrada, invoca grupos de ação e consulta as bases de conhecimento. Em seguida, o agente retorna a saída para continuar a orquestração ou para responder ao usuário.

  • PostProcessingTrace— Rastreia a entrada e a saída da etapa de pós-processamento, na qual o agente manipula a saída final da orquestração e determina como retornar a resposta ao usuário.

  • FailureTrace— Rastreia o motivo pelo qual uma etapa falhou.

  • GuardrailTrace— Rastreia as ações do Guardrail.

Cada um dos traços (excetoFailureTrace) contém um ModelInvocationInputobjeto. O ModelInvocationInputobjeto contém configurações definidas no modelo de solicitação da etapa, junto com a solicitação fornecida ao agente nessa etapa. Para obter mais informações sobre como modificar modelos de prompt, consulteSolicitações avançadas no Amazon Bedrock. A estrutura do ModelInvocationInput objeto é a seguinte:

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

A lista a seguir descreve os campos do ModelInvocationInputobjeto:

  • traceId: o identificador exclusivo do rastreamento.

  • text: o texto do prompt fornecido ao agente nesta etapa.

  • type: a etapa atual no processo do agente.

  • inferenceConfiguration: parâmetros de inferência que influenciam a geração de resposta. Para ter mais informações, consulte Parâmetros de inferência.

  • promptCreationMode— Se o modelo de prompt básico padrão do agente foi substituído nesta etapa. Para ter mais informações, consulte Solicitações avançadas no Amazon Bedrock.

  • parserMode— Se o analisador de resposta padrão do agente foi substituído nesta etapa. Para ter mais informações, consulte Solicitações avançadas no Amazon Bedrock.

  • overrideLambda— O Amazon Resource Name (ARN) da função Lambda do analisador usada para analisar a resposta, caso o analisador padrão tenha sido substituído. Para ter mais informações, consulte Solicitações avançadas no Amazon Bedrock.

Para obter mais informações sobre cada tipo de rastreamento, consulte as seções a seguir:

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

O PreProcessingTraceconsiste em um ModelInvocationInputobjeto e um PreProcessingModelInvocationOutputobjeto. PreProcessingModelInvocationOutput contém os campos a seguir.

  • parsedResponse: contém os detalhes a seguir sobre o prompt do usuário analisado.

    • isValid— Especifica se o prompt do usuário é válido.

    • rationale: especifica o raciocínio do agente para as próximas etapas a serem tomadas.

  • traceId: o identificador exclusivo do rastreamento.

A orquestração consiste no ModelInvocationInputobjeto e em qualquer combinação dos objetos Razão e InvocationInputObservação. Para obter mais informações sobre cada objeto, selecione uma das seguintes guias:

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

O objeto Rationale contém o raciocínio do agente, dada a entrada do usuário. A seguir está a estrutura:

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

A lista a seguir descreve os campos do objeto Rationale:

  • traceId: o identificador exclusivo da etapa de rastreamento.

  • text— O processo de raciocínio do agente, com base no prompt de entrada.

InvocationInput

O InvocationInputobjeto contém informações que serão inseridas no grupo de ação ou na base de conhecimento a ser invocada ou consultada. A seguir está a estrutura:

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

A lista a seguir descreve os campos do InvocationInputobjeto:

  • traceId: o identificador exclusivo do rastreamento.

  • invocationType— Especifica se o agente está invocando um grupo de ação ou uma base de conhecimento ou encerrando a sessão.

  • actionGroupInvocationInput: aparecerá se type for ACTION_GROUP. Para ter mais informações, consulte Crie um grupo de ação para um agente do Amazon Bedrock. Pode ser uma das seguintes estruturas:

    • Se o grupo de ações for definido por um esquema de API, a estrutura será a seguinte:

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

      A seguir estão as descrições dos campos:

      • actionGroupName— O nome do grupo de ação que o agente prevê que deve ser invocado.

      • apiPath— O caminho para a operação da API a ser chamada, de acordo com o esquema da API.

      • verb— O método da API que está sendo usado, de acordo com o esquema da API.

      • parameters: contém uma lista de objetos. Cada objeto contém o nome, o tipo e o valor de um parâmetro na operação da API, conforme definido no esquema da API.

      • requestBody— Contém o corpo da solicitação e suas propriedades, conforme definido no esquema da API.

    • Se o grupo de ação for definido pelos detalhes da função, a estrutura será a seguinte:

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

      A seguir estão as descrições dos campos:

      • actionGroupName— O nome do grupo de ação que o agente prevê que deve ser invocado.

      • function— O nome da função que o agente prevê que deve ser chamada.

      • parameters— Os parâmetros da função.

  • knowledgeBaseLookupInput: aparecerá se type for KNOWLEDGE_BASE. Para ter mais informações, consulte Bases de conhecimento do Amazon Bedrock. Contém as seguintes informações sobre a base de conhecimento e a consulta de pesquisa da base de conhecimento:

    • knowledgeBaseId: o identificador exclusivo da base de conhecimento que o agente consultará.

    • text: a consulta a ser feita na base de conhecimento.

Observation

O objeto Observação contém o resultado ou a saída de um grupo de ação ou base de conhecimento, ou a resposta ao usuário. A seguir está a estrutura:

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

A lista a seguir descreve os campos do objeto de observação:

  • traceId: o identificador exclusivo do rastreamento.

  • type— especifica se a observação do agente é retornada do resultado de um grupo de ação ou de uma base de conhecimento, se o agente está solicitando novamente o usuário, solicitando mais informações ou encerrando a conversa.

  • actionGroupInvocationOutput— Contém a string formatada em JSON retornada pela operação da API que foi chamada pelo grupo de ações. Aparecerá se type for ACTION_GROUP. Para ter mais informações, consulte Defina OpenAPI esquemas para os grupos de ação do seu agente no Amazon Bedrock.

  • knowledgeBaseLookupOutput— Contém texto recuperado da base de conhecimento que é relevante para responder à solicitação, juntamente com a localização da fonte de dados no Amazon S3. Aparecerá se type for KNOWLEDGE_BASE. Para ter mais informações, consulte Bases de conhecimento do Amazon Bedrock. Cada objeto na lista de retrievedReferences contém os seguintes campos:

    • content: contém text da base de conhecimento que é retornado da consulta à base de conhecimento.

    • location— Contém o URI do Amazon S3 da fonte de dados na qual o texto retornado foi encontrado.

  • repromptResponse: aparecerá se type for REPROMPT. Contém o text que solicita mais um prompt com source do porquê o agente precisa enviar um novo prompt.

  • finalResponse: aparecerá se type for ASK_USER ou FINISH. Contém o text que solicita mais informações ao usuário ou é uma resposta ao usuário.

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

O PostProcessingTraceconsiste em um ModelInvocationInputobjeto e um PostProcessingModelInvocationOutputobjeto. O PostProcessingModelInvocationOutputcontém os seguintes campos:

  • parsedResponse— Contém o text que deve ser retornado ao usuário após o texto ser processado pela função do analisador.

  • traceId: o identificador exclusivo do rastreamento.

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

A lista a seguir descreve os campos do FailureTraceobjeto:

  • failureReason: o motivo pelo qual a etapa falhou.

  • traceId: o identificador exclusivo do rastreamento.

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

A lista a seguir descreve os campos do GuardrailAssessment objeto:

  • action— indica se o Guardrails interveio ou não nos dados de entrada. As opções são GUARDRAIL_INTERVENED ouNONE.

  • inputAssessments— Os detalhes da avaliação do Guardrail na entrada do usuário.

  • outputAssessments— Os detalhes da avaliação do Guardrail na resposta.

Para obter mais detalhes sobre o GuardrailAssessment objeto e testar um guardrail, consulte. Teste uma grade de proteção

GuardrailAssessment exemplo:

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