

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

# Interrogation d’une base de connaissances à l’aide de l’extraction agentique
<a name="kb-test-agentic-retrieve"></a>

La récupération agentique utilise un modèle de base pour décomposer intelligemment les requêtes complexes en sous-requêtes, récupérer de manière itérative les informations pertinentes de vos bases de connaissances et évaluer si les résultats récupérés sont suffisants pour répondre à la requête d'origine. Cette approche améliore la précision de récupération pour les questions complexes en plusieurs étapes auxquelles une seule passe de récupération peut ne pas répondre complètement.

Par exemple, étant donné la requête * « Quel magazine a été créé en premier, Arthur's Magazine ou First for Women ? » *, agentic retrieval divise cela en sous-requêtes distinctes telles que * « Quand a été fondé Arthur's Magazine ? » * et * « Quand a été fondée First for Women ? » *, extrait les résultats pour chacun et évalue si les résultats combinés sont suffisants.

## Comment fonctionne la récupération agentique
<a name="kb-agentic-retrieve-how-it-works"></a>

Lorsque vous envoyez une demande à l'`AgenticRetrieveStream`API, le processus suivant se produit :

1. **Planification ** : le modèle de base analyse votre requête et crée un plan pour la décomposer en une ou plusieurs sous-requêtes. Chaque sous-requête cible un extracteur spécifique que vous avez configuré. Une fois les résultats de récupération collectés, le modèle de base évalue s'ils sont suffisants pour répondre à la requête d'origine. Dans le cas contraire, il planifie et exécute des itérations de récupération supplémentaires, jusqu'au maximum configuré.

1. **Extraction ** : les sous-requêtes sont exécutées sur les extracteurs de base de connaissances configurés. Les résultats sont collectés à partir de chaque extraction.

1. **Expansion complète du document ** — Lorsque le modèle de base détermine que le contenu complet d'un document est nécessaire (par exemple, pour le résumer, pour vérifier l'exhaustivité ou pour accéder à des sections spécifiques), il appelle l' GetDocumentContent API pour récupérer le contenu complet du document.

1. **Génération de réponses ** : lorsqu'il `generateResponse` est défini sur `true` (valeur par défaut), le modèle de base synthétise une réponse en langage naturel à partir des résultats récupérés. La réponse vous est transmise par le biais d'`responseEvent`événements.

1. **Événement résultant ** — Les résultats de récupération dédupliqués de toutes les itérations, la réponse complète synthétisée en langage naturel et les citations vous sont renvoyés. Les événements de traçage sont diffusés tout au long du processus à des fins d'observabilité.

## Conditions préalables
<a name="kb-agentic-retrieve-prereqs"></a>

Avant de pouvoir utiliser la récupération agentique, vous devez disposer des éléments suivants :
+ Une base de connaissances Amazon Bedrock entièrement gérée. La récupération agentique ne prend actuellement en charge que les bases de connaissances gérées.
+ Accès à un modèle de base dans Amazon Bedrock à utiliser pour la planification et l'évaluation des requêtes.
+ Les autorisations IAM requises. Pour de plus amples informations, veuillez consulter [Autorisations requises pour la récupération des données d'agence](#kb-agentic-retrieve-permissions).

## Interrogez une base de connaissances grâce à la recherche agentique
<a name="kb-agentic-retrieve-api"></a>

Pour utiliser la récupération agentique, envoyez une demande. [`AgenticRetrieveStream`](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent-runtime_AgenticRetrieveStream.html) La réponse est un flux qui inclut les résultats de récupération et les événements de suivi.

Le tableau suivant décrit les principaux champs de demande :


**Champs obligatoires**  

| Champ | Description | 
| --- | --- | 
| messages | La requête saisie et l'historique des conversations. Chaque message contient un content champ avec une text valeur et un role champ (userouassistant). | 
| retrievers | La base de connaissances extrait les données à partir desquelles elles peuvent être extraites. Vous pouvez spécifier jusqu'à 5 extracteurs, chacun pointant vers une base de connaissances gérée par son identifiant. Chaque extracteur peut éventuellement inclure des filtres de métadonnées et un nombre maximum de résultats. | 
| agentique RetrieveConfiguration | La configuration de récupération agentique, y compris le modèle de base à utiliser pour la planification et l'évaluation des requêtes, et éventuellement un modèle de reclassement et un nombre maximal d'itérations d'agents. | 


**Champs facultatifs**  

| Champ | Description | 
| --- | --- | 
| Configuration des politiques | Configure un garde-corps Amazon Bedrock à appliquer lors de la récupération par les agents. Spécifiez un guardrailId etguardrailVersion. | 
| Contexte utilisateur | Fournit un contexte utilisateur pour le filtrage du contrôle d'accès. | 
| Générer une réponse | Champ booléen qui, lorsqu'il est défini sur true (valeur par défaut), indique au modèle de base de générer une réponse en langage naturel à partir des résultats récupérés. La réponse est retransmise sous forme de morceaux de texte et incluse dans l'événement de résultat. | 

Pour la syntaxe complète de la demande et de la réponse, consultez [`AgenticRetrieveStream`](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent-runtime_AgenticRetrieveStream.html) la référence de l'API.

## Réponse de récupération agentique
<a name="kb-agentic-retrieve-response"></a>

La `AgenticRetrieveStream` réponse est un flux qui contient les types d'événements suivants :
+ **Événement de résultat ** (`AgenticRetrieveResultEvent`) : événement final généré une fois le traitement terminé. Contient les résultats de récupération et, lorsque la génération de réponses est activée, la réponse générée. L'événement qui en résulte inclut :
  + **Résultats de récupération ** (`results`) — Les segments source récupérés au cours de toutes les itérations. Chaque résultat inclut du contenu, un identifiant de source et des métadonnées facultatives. Lorsque le même segment est récupéré par plusieurs sous-requêtes, il n'apparaît qu'une seule fois dans les résultats finaux.
  + **Réponse générée ** (`generatedResponse`) : lorsqu'il `generateResponse` est défini sur `true` (valeur par défaut), l'événement de résultat inclut un `generatedResponse` objet contenant :
    + `answer`— Le texte de réponse entièrement synthétisé en langage naturel.
    + `citations`— Une liste facultative qui met en correspondance les différentes parties de la réponse avec les résultats de récupération. Chaque citation contient :
      + `startIndex`— Le décalage de caractères à l'endroit où le passage cité commence dans la `answer` chaîne.
      + `endIndex`— Le décalage de caractères à la fin du passage cité (exclusif : le texte cité va du `startIndex` haut à mais non inclus`endIndex`).
      + `references`— Liste dans laquelle chaque référence possède un `resultIndex` champ indexé dans le `results` tableau sur le même événement de résultat, indiquant quel résultat de récupération prend en charge la plage citée.
+ **Événements de réponse ** (`AgenticRetrieveResponseEvent`) : lorsque cette option `generateResponse` est définie sur `true` (valeur par défaut), les `responseEvent` événements sont diffusés lors de la génération de la réponse. Chaque événement contient un `text` champ contenant une partie incrémentielle de la réponse synthétisée en langage naturel.
+ **Événements de suivi ** (`AgenticRetrieveTraceEvent`) : événements diffusés au cours du processus de récupération agentic qui fournissent une visibilité sur chaque étape. Les types d'événements de traçage sont les suivants :
  + **Planification ** : indique que le modèle de base analyse la requête et crée des sous-requêtes. Inclut les actions planifiées et les récupérateurs de cibles.
  + **Extraction ** : indique qu'une extraction est en cours d'exécution dans une base de connaissances. Inclut l'entrée et la sortie de récupération, ainsi que les éventuels avertissements ou défaillances.
  + **Récupération spéculative ** : extraction initiale exécutée avant la première étape de planification afin de réduire la latence. Pour une base de connaissances unique, cela extrait les résultats à l'aide de la requête utilisateur brute. Pour plusieurs bases de connaissances, cela effectue une recherche par sonde pour aider à acheminer les requêtes vers les extracteurs appropriés.
  + **Extension complète du document ** : indique que l'agent est en train de récupérer le contenu complet d'un document spécifique. Inclut l'identifiant du document, l'outil de recherche de la source et l'état (InProgressréussite ou échec).

## Autorisations requises pour la récupération des données d'agence
<a name="kb-agentic-retrieve-permissions"></a>

Pour utiliser l'`AgenticRetrieveStream`API, l'identité IAM de l'appelant doit disposer des autorisations suivantes :

```
{
    "Version": "2012-10-17",		 	 	 
    "Statement": [
        {
            "Effect": "Allow",
            "Action": "bedrock:AgenticRetrieveStream",
            "Resource": "*"
        },
        {
            "Effect": "Allow",
            "Action": [
                "bedrock:Retrieve",
                "bedrock:GetDocumentContent"
            ],
            "Resource": "arn:aws:bedrock:{{region}}:{{account-id}}:knowledge-base/*"
        },
        {
            "Effect": "Allow",
            "Action": "bedrock:InvokeModelWithResponseStream",
            "Resource": "*"
        }
    ]
}
```

Si vous utilisez des garde-corps avec la récupération des données agentiques, ajoutez les autorisations suivantes :

```
{
    "Effect": "Allow",
    "Action": [
        "bedrock:GetGuardrail",
        "bedrock:ApplyGuardrail"
    ],
    "Resource": "*"
}
```

## Considérations
<a name="kb-agentic-retrieve-considerations"></a>

Lorsque vous utilisez la récupération agentique, gardez les points suivants à l'esprit :
+ Agentic Retrieval ne prend en charge que les bases de connaissances Amazon Bedrock gérées.
+ Pour les quotas de récupérateurs par demande, les résultats par appel de récupération et le nombre maximal d'itérations d'agents, consultez. [Quotas de service pour les bases de connaissances gérées](kb-managed-quotas.md)
+ La réduction du nombre maximum d'itérations peut entraîner l'arrêt de l'agent plus tôt, ce qui peut réduire la précision des requêtes complexes. 
+ Lors de la configuration des garde-corps, seule l'`BLOCK`action est prise en charge. L'`MASK`action n'est pas prise en charge par la récupération agentique.
+ Le client fournit et possède le modèle de base, le modèle d'intégration et le modèle de reclassement utilisés lors de la recherche des agents, s'ils sont fournis. Vos informations d'identification IAM sont utilisées pour invoquer ces modèles.