View a markdown version of this page

Informe de información recurrente - Amazon Bedrock AgentCore

Informe de información recurrente

Cree una configuración de evaluación en línea con información y un cronograma de agrupamiento. El servicio ejecuta automáticamente el análisis de la información en la cadencia configurada sin intervención manual.

Cree la configuración

ejemplo
AgentCore CLI
agentcore add online-insights --name my_agent_insights --runtime MyAgent --insights Builtin.Insight.FailureAnalysis --sampling-rate 100 --clustering-frequency DAILY --enable-on-create --json

A continuación, impleméntela mediante CloudFormation:

agentcore deploy -y --json
Interactive
  1. Ejecute agentcore para abrir la TUI, luego seleccione agregar y elija Online Insights:

    Asistente de Insights: seleccione el agente que desee supervisar
  2. Seleccione la información que desee activar:

    Asistente de información: seleccione información
  3. Establezca la frecuencia de muestreo:

    Asistente de información: establece la frecuencia de muestreo
  4. Elija las frecuencias de agrupamiento:

    Asistente de información: seleccione la frecuencia de agrupamiento
  5. Introduzca un nombre de configuración:

    Asistente de Insights: introduzca el nombre de la configuración
  6. Revise la configuración y pulse Entrar para confirmar:

    Asistente de Insights: revise la configuración
AWS SDK (boto3)
import boto3 client_cp = boto3.client("bedrock-agentcore-control", region_name="us-west-2") response = client_cp.create_online_evaluation_config( onlineEvaluationConfigName="my_agent_insights", rule={ "samplingConfig": {"samplingPercentage": 100.0}, "sessionConfig": {"sessionTimeoutMinutes": 30}, }, dataSourceConfig={ "cloudWatchLogs": { "serviceNames": ["MyAgent.DEFAULT"], "logGroupNames": [ "/aws/bedrock-agentcore/runtimes/MyAgent-abc123-DEFAULT" ], } }, insights=[ {"insightId": "Builtin.Insight.FailureAnalysis"}, {"insightId": "Builtin.Insight.UserIntent"}, ], clusteringConfig={"frequencies": ["DAILY"]}, evaluationExecutionRoleArn="arn:aws:iam::123456789012:role/AgentCoreEvaluationRole", enableOnCreate=True, ) config_id = response["onlineEvaluationConfigId"] print(f"Created config: {config_id}")

Esto le indica al servicio que:

  • Sesiones de muestra a la velocidad configurada (100% en este ejemplo: ajuste --sampling-rate o samplingPercentage analice un subconjunto del tráfico).

  • Realice un análisis de errores y extraiga la intención del usuario en cada sesión muestreada.

  • Genere un informe de agrupamiento en clústeres todos los días.

Parámetros de configuración

Parámetro Tipo Obligatorio Description (Descripción)

insights

Enumeración

Obligatorio (se excluye mutuamente conevaluators)

Lista de tipos de información que se van a ejecutar. Cada entrada tiene uninsightId. Máximo 10.

rule.samplingConfig.samplingPercentage

Número

No (predeterminado: 100)

Porcentaje de sesiones a analizar (de 1 a 100). Utilice una frecuencia de muestreo más baja para los agentes de alto tráfico a fin de controlar los costes y, al mismo tiempo, detectar patrones de fallo.

clusteringConfig

Objeto

No

Configura trabajos periódicos de evaluación por lotes para la agrupación en clústeres. Contiene una frequencies lista. Solo se puede usar cuando insights se proporciona.

clusteringConfig.frequencies

Lista de cadenas

Sí (dentroclusteringConfig)

Uno o más de:DAILY,WEEKLY,MONTHLY. Máximo 3 valores.

nota

Los conocimientos y los evaluadores se excluyen mutuamente: debe proporcionar uno u otro, no ambos. Si quiere puntuar la calidad y clasificar los fallos del mismo agente, cree dos configuraciones distintas que apunten a la misma fuente de datos.

Actualice una configuración

Modifique la información o la frecuencia de agrupamiento:

client_cp.update_online_evaluation_config( onlineEvaluationConfigId=config_id, insights=[ {"insightId": "Builtin.Insight.FailureAnalysis"}, {"insightId": "Builtin.Insight.UserIntent"}, ], clusteringConfig={"frequencies": ["DAILY", "WEEKLY"]}, )

Vea los resultados de los informes periódicos

Los informes periódicos generan automáticamente trabajos de evaluación por lotes. Se utilizan ListBatchEvaluations para buscar informes finalizados y, GetBatchEvaluation a continuación, para recuperar los resultados:

client = boto3.client("bedrock-agentcore", region_name="us-west-2") # List recent batch evaluations evaluations = client.list_batch_evaluations() for eval_summary in evaluations.get("batchEvaluations", []): if eval_summary["status"] == "COMPLETED" and eval_summary.get("insights"): result = client.get_batch_evaluation( batchEvaluationId=eval_summary["batchEvaluationId"] ) print(f"Report: {eval_summary['batchEvaluationName']}") if "failureAnalysisResult" in result: failures = result["failureAnalysisResult"]["failures"] print(f" Found {len(failures)} failure categories")

Administre la configuración

ejemplo
AgentCore CLI

Pausa:

agentcore pause online-insights my_agent_insights --json

Currículum:

agentcore resume online-insights my_agent_insights --json

Eliminar:

agentcore remove online-insights --name my_agent_insights --yes --json
AWS SDK (boto3)

Pausar o reanudar:

# Pause client_cp.update_online_evaluation_config( onlineEvaluationConfigId=config_id, executionStatus="DISABLED", ) # Resume client_cp.update_online_evaluation_config( onlineEvaluationConfigId=config_id, executionStatus="ENABLED", )

Delete:

client_cp.delete_online_evaluation_config( onlineEvaluationConfigId=config_id, )
aviso

Al eliminar una configuración, no se eliminan los resultados de las evaluaciones de lotes anteriores. Se puede acceder a los resultados de la información histórica durante todo el procesoGetBatchEvaluation.