

# Relatório de insights recorrentes
<a name="insights-recurring-report"></a>

Crie uma configuração de avaliação on-line com insights e um cronograma de agrupamento. O serviço executa automaticamente análises de insights sobre a cadência configurada sem intervenção manual.

**Topics**
+ [Crie a configuração](#insights-recurring-create)
+ [Parâmetros de configuração](#insights-recurring-params)
+ [Atualizar uma configuração](#insights-recurring-update)
+ [Exibir resultados de relatórios recorrentes](#insights-recurring-view)
+ [Gerenciar a configuração](#insights-recurring-manage)

## Crie a configuração
<a name="insights-recurring-create"></a>

**Example**  

```
agentcore add online-insights --name my_agent_insights --runtime MyAgent --insights Builtin.Insight.FailureAnalysis --sampling-rate 100 --clustering-frequency DAILY --enable-on-create --json
```
Em seguida, implante por meio de CloudFormation:  

```
agentcore deploy -y --json
```

1. Execute `agentcore` para abrir a TUI, selecione **adicionar** e escolha **Online Insights**:  
![Assistente de insights: selecione o agente para monitorar](http://docs.aws.amazon.com/pt_br/bedrock-agentcore/latest/devguide/images/tui/insights-add-agent.png)

1. Selecione os insights para ativar:  
![Assistente de insights: selecione insights](http://docs.aws.amazon.com/pt_br/bedrock-agentcore/latest/devguide/images/tui/insights-add-insights.png)

1. Defina a taxa de amostragem:  
![Assistente do Insights: defina a taxa de amostragem](http://docs.aws.amazon.com/pt_br/bedrock-agentcore/latest/devguide/images/tui/insights-add-sampling-rate.png)

1. Escolha as frequências de agrupamento:  
![Assistente do Insights: selecione a frequência de agrupamento](http://docs.aws.amazon.com/pt_br/bedrock-agentcore/latest/devguide/images/tui/insights-add-clustering.png)

1. Insira um nome de configuração:  
![Assistente do Insights: insira o nome da configuração](http://docs.aws.amazon.com/pt_br/bedrock-agentcore/latest/devguide/images/tui/insights-add-name.png)

1. Revise a configuração e pressione Enter para confirmar:  
![Assistente do Insights: revise a configuração](http://docs.aws.amazon.com/pt_br/bedrock-agentcore/latest/devguide/images/tui/insights-add-confirm.png)

```
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}")
```

Isso faz com que o serviço:
+ Amostra de sessões na taxa configurada (100% neste exemplo — ajuste `--sampling-rate` ou `samplingPercentage` analise um subconjunto do tráfego).
+ Execute a análise de falhas e a extração da intenção do usuário em cada sessão amostrada.
+ Acione um relatório de agrupamento diariamente.

## Parâmetros de configuração
<a name="insights-recurring-params"></a>


| Parâmetro | Tipo | Obrigatório | Description | 
| --- | --- | --- | --- | 
|  `insights`  | Lista | Obrigatório (mutuamente exclusivo com`evaluators`) | Lista de tipos de insights a serem executados. Cada entrada tem um`insightId`. Máximo 10. | 
|  `rule.samplingConfig.samplingPercentage`  | Número | Não (padrão: 100) | Porcentagem de sessões a serem analisadas (1—100). Use uma taxa de amostragem mais baixa para agentes de alto tráfego para controlar os custos e, ao mesmo tempo, identificar padrões de falha. | 
|  `clusteringConfig`  | Objeto | Não | Configura trabalhos periódicos de avaliação em lote para agrupamento. Contém uma `frequencies` lista. Só pode ser usado quando `insights` fornecido. | 
|  `clusteringConfig.frequencies`  | Lista de strings | Sim (dentro`clusteringConfig`) | Um ou mais de:`DAILY`,`WEEKLY`,`MONTHLY`. Máximo de 3 valores. | 

**nota**  
Os insights e os avaliadores são mutuamente exclusivos — você deve fornecer um ou outro, não os dois. Se você quiser pontuação de qualidade e triagem de falhas para o mesmo agente, crie duas configurações separadas apontando para a mesma fonte de dados.

## Atualizar uma configuração
<a name="insights-recurring-update"></a>

Modifique os insights ou a frequência do agrupamento:

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

## Exibir resultados de relatórios recorrentes
<a name="insights-recurring-view"></a>

Relatórios recorrentes produzem trabalhos de avaliação em lote automaticamente. Use `ListBatchEvaluations` para encontrar relatórios concluídos e, em seguida, `GetBatchEvaluation` para recuperar os 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")
```

## Gerenciar a configuração
<a name="insights-recurring-manage"></a>

**Example**  
Pausa:  

```
agentcore pause online-insights my_agent_insights --json
```
Currículo:  

```
agentcore resume online-insights my_agent_insights --json
```
Remover:  

```
agentcore remove online-insights --name my_agent_insights --yes --json
```
Pausar ou retomar:  

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

# Resume
client_cp.update_online_evaluation_config(
    onlineEvaluationConfigId=config_id,
    executionStatus="ENABLED",
)
```
Excluir:   

```
client_cp.delete_online_evaluation_config(
    onlineEvaluationConfigId=config_id,
)
```

**Atenção**  
A exclusão de uma configuração não exclui os resultados anteriores da avaliação em lote. Os resultados históricos do insight permanecem acessíveis por meio de`GetBatchEvaluation`.