

# Rapport d'information récurrent
<a name="insights-recurring-report"></a>

Créez une configuration d'évaluation en ligne avec des informations et un calendrier de clustering. Le service exécute automatiquement une analyse des informations sur la cadence configurée sans intervention manuelle.

**Topics**
+ [Création de la configuration](#insights-recurring-create)
+ [Paramètres de configuration](#insights-recurring-params)
+ [Mettre à jour une configuration](#insights-recurring-update)
+ [Afficher les résultats des rapports récurrents](#insights-recurring-view)
+ [Gérer la configuration](#insights-recurring-manage)

## Création de la configuration
<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
```
Déployez ensuite via CloudFormation :  

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

1. Exécutez `agentcore` pour ouvrir le TUI, puis sélectionnez **Ajouter** et choisissez **Online Insights** :  
![Assistant Insights : sélectionnez l'agent à surveiller](http://docs.aws.amazon.com/fr_fr/bedrock-agentcore/latest/devguide/images/tui/insights-add-agent.png)

1. Sélectionnez les informations à activer :  
![Assistant d'analyse : sélectionnez des informations](http://docs.aws.amazon.com/fr_fr/bedrock-agentcore/latest/devguide/images/tui/insights-add-insights.png)

1. Réglez le taux d'échantillonnage :  
![Assistant Insights : définissez le taux d'échantillonnage](http://docs.aws.amazon.com/fr_fr/bedrock-agentcore/latest/devguide/images/tui/insights-add-sampling-rate.png)

1. Choisissez les fréquences de clustering :  
![Assistant Insights : sélectionnez la fréquence de clustering](http://docs.aws.amazon.com/fr_fr/bedrock-agentcore/latest/devguide/images/tui/insights-add-clustering.png)

1. Entrez un nom de configuration :  
![Assistant Insights : entrez le nom de la configuration](http://docs.aws.amazon.com/fr_fr/bedrock-agentcore/latest/devguide/images/tui/insights-add-name.png)

1. Vérifiez la configuration et appuyez sur Entrée pour confirmer :  
![Assistant Insights : révision de la configuration](http://docs.aws.amazon.com/fr_fr/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}")
```

Cela indique au service de :
+ Exemples de sessions au taux configuré (100 % dans cet exemple : ajustez `--sampling-rate` ou `samplingPercentage` analysez un sous-ensemble du trafic).
+ Exécutez une analyse des défaillances et une extraction des intentions de l'utilisateur sur chaque session échantillonnée.
+ Déclenchez un rapport de clustering tous les jours.

## Paramètres de configuration
<a name="insights-recurring-params"></a>


| Paramètre | Type | Obligatoire | Description | 
| --- | --- | --- | --- | 
|  `insights`  | List | Obligatoire (mutuellement exclusif avec`evaluators`) | Liste des types d'informations à exécuter. Chaque entrée possède un`insightId`. 10 au maximum. | 
|  `rule.samplingConfig.samplingPercentage`  | Number | Non (par défaut : 100) | Pourcentage de sessions à analyser (1 à 100) Utilisez un taux d'échantillonnage inférieur pour les agents à fort trafic afin de contrôler les coûts tout en identifiant les modèles de défaillance. | 
|  `clusteringConfig`  | Objet | Non | Configure les tâches d'évaluation par lots périodiques pour le clustering. Contient une `frequencies` liste. Ne peut être utilisé que lorsqu'il `insights` est fourni. | 
|  `clusteringConfig.frequencies`  | Liste de chaînes | Oui (à l'intérieur`clusteringConfig`) | Un ou plusieurs des :`DAILY`,`WEEKLY`,`MONTHLY`. 3 valeurs maximum. | 

**Note**  
Les informations et les évaluateurs s'excluent mutuellement : vous devez fournir l'un ou l'autre, pas les deux. Si vous souhaitez obtenir à la fois un score de qualité et un triage des défaillances pour le même agent, créez deux configurations distinctes pointant vers la même source de données.

## Mettre à jour une configuration
<a name="insights-recurring-update"></a>

Modifiez les informations ou la fréquence de clustering :

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

## Afficher les résultats des rapports récurrents
<a name="insights-recurring-view"></a>

Les rapports récurrents produisent automatiquement des tâches d'évaluation par lots. `ListBatchEvaluations`À utiliser pour rechercher les rapports complets, puis `GetBatchEvaluation` pour récupérer les résultats :

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

## Gérer la configuration
<a name="insights-recurring-manage"></a>

**Example**  
Pause :  

```
agentcore pause online-insights my_agent_insights --json
```
CV :  

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

```
agentcore remove online-insights --name my_agent_insights --yes --json
```
Pause ou reprise :  

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

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

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

**Avertissement**  
La suppression d'une configuration ne supprime pas les résultats des évaluations par lots passées. Les résultats des aperçus historiques restent accessibles via`GetBatchEvaluation`.