

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.

# Récupération de données et génération de réponses basées sur l’IA avec Amazon Bedrock Knowledge Bases
<a name="knowledge-base"></a>

Bien que les modèles de fondation aient des connaissances générales, vous pouvez encore améliorer leurs réponses à l’aide de la génération à enrichissement contextuel (RAG). RAG est une technique qui améliore la pertinence et la précision des réponses générées à l’aide d’informations provenant de sources de données. Avec Amazon Bedrock Knowledge Bases, vous pouvez intégrer des informations propriétaires à vos applications d’IA générative. Lorsqu’une requête est effectuée, une base de connaissances recherche dans vos données les informations pertinentes pour y répondre. Les informations récupérées permettent ensuite d’améliorer les réponses générées. Vous pouvez créer votre propre application basée sur RAG à l’aide des fonctionnalités d’Amazon Bedrock Knowledge Bases.

Avec Amazon Bedrock Knowledge Bases, vous pouvez effectuer les actions suivantes :
+ Répondez aux requêtes utilisateur en renvoyant des informations pertinentes provenant de sources de données.
+ Générez une réponse précise et pertinente aux requêtes utilisateur à l’aide des informations récupérées à partir de sources de données.
+ Améliorez vos propres invites en y introduisant les informations pertinentes renvoyées.
+ Incluez des citations dans la réponse générée afin que la source de données d’origine puisse être référencée et que l’exactitude puisse être vérifiée.
+ Incluez des documents contenant de nombreuses ressources visuelles, à partir desquels des images peuvent être extraites et récupérées en réponse à des requêtes. Si vous générez une réponse basée sur les données récupérées, le modèle peut fournir des insights supplémentaires basés sur ces images.
+ Effectuez des recherches à l'aide d'images pour trouver du contenu visuellement similaire, ou combinez du texte et des images dans des requêtes pour obtenir des résultats plus précis à l'aide de modèles d'intégration multimodaux.
+ Convertissez le langage naturel en requêtes (telles que des requêtes SQL) personnalisées pour les bases de données structurées. Ces requêtes permettent de récupérer des données à partir de magasins de données structurés.
+ Mettez à jour vos sources de données et ingérez les modifications directement dans la base de connaissances afin qu’elles soient immédiatement accessibles.
+ Influencez les résultats récupérés à partir de votre source de données à l’aide de modèles de reclassement.
+ Intégrez la base de connaissances à un flux de travail [Agents Amazon Bedrock](agents.md).

Pour configurer une base de connaissances, vous devez effectuer les étapes générales suivantes :

1. (Facultatif) Si vous connectez votre base de connaissances à une source de données non structurée, configurez votre propre [magasin de vecteurs pris en charge](https://docs.aws.amazon.com/bedrock/latest/userguide/knowledge-base-setup.html) pour indexer la vectorisation de vos données. Vous pouvez ignorer cette étape si vous envisagez d'utiliser la console Amazon Bedrock pour créer une boutique vectorielle Amazon OpenSearch Serverless pour vous.

1. Connectez votre base de connaissances à une source de données non structurée ou structurée.

1. Synchronisez votre source de données avec votre base de connaissances.

1. Configurez votre application ou agent pour effectuer les actions suivantes :
   + Interroger la base de connaissances et renvoyer les sources pertinentes
   + Interroger la base de connaissances et générer des réponses en langage naturel en fonction des résultats récupérés
   + (Si vous interrogez une base de connaissances connectée à un magasin de données structuré) Transformer une requête en requête spécifique au langage de données structurées (par exemple en requête SQL)

**Topics**
+ [Fonctionnement des bases de connaissances](kb-how-it-works.md)
+ [Modèles et régions pris en charge](knowledge-base-supported.md)
+ [Discussion avec votre document sans aucune configuration](knowledge-base-chatdoc.md)
+ [Configuration d’autorisations de création et de gestion de bases de connaissances](knowledge-base-prereq-permissions-general.md)
+ [Création d’une base de connaissances en la connectant à une source de données](knowledge-base-build.md)
+ [Création d'une base de connaissances pour le contenu multimodal](kb-multimodal.md)
+ [Création d’une base de connaissances en la connectant à un magasin de données structuré](knowledge-base-build-structured.md)
+ [Création d’une base de connaissances avec un index GenAI Amazon Kendra](knowledge-base-build-kendra-genai-index.md)
+ [Création d’une base de connaissances avec des graphiques d’analytique Amazon Neptune](knowledge-base-build-graphs.md)
+ [Test de votre base de connaissances avec des requêtes et des réponses](knowledge-base-test.md)
+ [Déploiement de votre base de connaissances pour votre application](knowledge-base-deploy.md)
+ [Affichage d’informations sur une base de connaissances](kb-info.md)
+ [Modification d’une base de connaissances](kb-update.md)
+ [Suppression d’une base de connaissances](kb-delete.md)

# Fonctionnement des bases de connaissances Amazon Bedrock
<a name="kb-how-it-works"></a>

Les bases de connaissances Amazon Bedrock vous aident à tirer parti de la génération à enrichissement contextuel (RAG), une technique populaire qui consiste à extraire des informations d’un magasin de données pour compléter les réponses générées par les grands modèles de langage (LLM). Lorsque vous configurez une base de connaissances avec votre source de données, votre application peut interroger la base de connaissances pour renvoyer des informations permettant de répondre à la requête soit avec des citations directes provenant des sources, soit avec des réponses naturelles générées à partir des résultats de la requête.

Avec les bases de connaissances Amazon Bedrock, vous pouvez créer des applications qui sont enrichies par le contexte reçu lors de l’interrogation d’une base de connaissances. Cela permet de réduire les délais de mise sur le marché en vous évitant les lourdes tâches liées à la construction de pipelines et en vous fournissant une solution RAG prête à l’emploi pour réduire le temps de création de votre application. L’ajout d’une base de connaissances augmente également la rentabilité en évitant d’avoir à entraîner en permanence le modèle afin de tirer parti de vos données privées.

Les schémas suivants illustrent grossièrement le fonctionnement du modèle RAG. La base de connaissances simplifie la configuration et la mise en œuvre de RAG en automatisant plusieurs étapes de ce processus.

**Prétraitement des données non structurées**

Pour permettre une extraction efficace à partir de données privées non structurées (données qui n’existent pas dans un magasin de données structurées), une pratique courante consiste à convertir les données en texte et à les diviser en éléments gérables. Les segments ou fragments sont ensuite convertis en vectorisations et écrits dans un index vectoriel, tout en conservant un mappage avec le document d’origine. Ces vectorisations sont utilisées pour déterminer la similitude sémantique entre les requêtes et le texte provenant des sources de données. L’image suivante illustre le traitement préalable des données pour la base de données vectorielles.

![\[Traitement préalable des données pour une génération augmentée par récupération\]](http://docs.aws.amazon.com/fr_fr/bedrock/latest/userguide/images/kb/rag-preprocess.png)


Les vectorisations sont une série de nombres qui représentent chaque partie du texte. Un modèle convertit chaque fragment de texte en séries de nombres, appelées vecteurs, afin que les textes puissent être comparés mathématiquement. Ces vecteurs peuvent être des nombres à virgule flottante (float32) ou des nombres binaires. La plupart des modèles de vectorisation pris en charge par Amazon Bedrock utilisent des vecteurs à virgule flottante par défaut. Cependant, certains modèles prennent en charge les vecteurs binaires. Si vous choisissez un modèle de vectorisation binaire, vous devez également choisir un modèle et un magasin de vecteurs qui prennent en charge les vecteurs binaires.

Les vecteurs binaires, qui n’utilisent qu’un bit par dimension, ne sont pas aussi coûteux en stockage que les vecteurs à virgule flottante (float32), qui utilisent 32 bits par dimension. Cependant, les vecteurs binaires ne sont pas aussi précis que les vecteurs à virgule flottante dans leur représentation du texte.

L’exemple suivant montre un morceau de texte sous trois formes :


****  

| Représentation | Valeur | 
| --- | --- | 
| Texte | « Amazon Bedrock utilise des modèles de fondation très performants développés par les principales sociétés d’IA et Amazon. » | 
| Vecteur à virgule flottante | [0.041..., 0.056..., -0.018..., -0.012..., -0.020..., ...] | 
| Vecteur binaire | [1,1,0,0,0, ...] | 

**Exécution du runtime**

Au moment de l’exécution, un modèle de vectorisation est utilisé pour convertir la requête de l’utilisateur en vecteur. L’index vectoriel est ensuite interrogé pour trouver les segments dont la sémantique est similaire à la requête de l’utilisateur en comparant les vecteurs de documents au vecteur de requête de l’utilisateur. Au cours de la dernière étape, l’invite utilisateur est complétée par le contexte supplémentaire provenant des segments extraits de l’index vectoriel. L’invite associée au contexte supplémentaire est ensuite envoyée au modèle pour générer une réponse pour l’utilisateur. L’image suivante montre comment la génération augmentée par récupération fonctionne au moment de l’exécution pour compléter les réponses aux requêtes des utilisateurs.

![\[Génération augmentée par récupération au moment de l’exécution\]](http://docs.aws.amazon.com/fr_fr/bedrock/latest/userguide/images/kb/rag-runtime.png)


Pour découvrir comment transformer vos données en base de connaissances, comment interroger votre base de connaissances après l’avoir configurée et sur les personnalisations que vous pouvez appliquer à la source de données lors de l’ingestion, consultez les rubriques suivantes :

**Topics**
+ [Transformation des données en base de connaissances](kb-how-data.md)
+ [Extraction d’informations à partir de sources de données à l’aide des bases de connaissances Amazon Bedrock](kb-how-retrieval.md)
+ [Personnalisation d’une base de connaissances](kb-how-customization.md)

# Transformation des données en base de connaissances
<a name="kb-how-data"></a>

Pour créer une base de connaissances, connectez-vous à une source de données prise en charge à laquelle vous souhaitez que votre base de connaissances puisse accéder. Votre base de connaissances sera en mesure de répondre aux requêtes utilisateur ou de générer des réponses en fonction des données extraites.

 Les bases de connaissances Amazon Bedrock prennent en charge divers documents, notamment du texte, des images ou des documents multimodaux contenant des tableaux, des graphiques, des diagrammes et d’autres images. Les données *multimodales* font référence à une combinaison de données textuelles et visuelles. Des exemples de types de fichiers contenant des données non structurées sont le texte, le markdown, le HTML et. PDFs

Les sections suivantes décrivent les types de données pris en charge par les bases de connaissances Amazon Bedrock et les services auxquels vous pouvez connecter votre base de connaissances pour chaque type de données :

## Données non structurées
<a name="kb-how-unstructured"></a>

Les données non structurées font référence aux données qui ne sont pas intégrées de force dans une structure prédéfinie. Les bases de connaissances Amazon Bedrock permettent de se connecter aux services suivants pour ajouter des données non structurées à votre base de connaissances :
+ Amazon S3
+ Confluence (version préliminaire)
+ Microsoft SharePoint (version préliminaire)
+ Salesforce (version préliminaire)
+ Web Crawler (version préliminaire)
+ Source de données personnalisée (permet l’ingestion directe des données dans les bases de connaissances sans qu’il soit nécessaire de les synchroniser)

Une source de données contient la forme brute de vos documents. Pour optimiser le processus de requête, une base de connaissances convertit vos données brutes en *vectorisations*, une représentation numérique des données, afin de quantifier la similitude avec les requêtes qui sont également converties en vectorisations. Les bases de connaissances Amazon Bedrock utilisent les ressources suivantes pour convertir votre source de données :
+ Modèle de vectorisation : modèle de fondation qui convertit vos données en vectorisations. Pour les données multimodales contenant à la fois du texte et des images, vous pouvez utiliser des modèles d'intégration multimodaux tels qu'Amazon Titan Multimodal Embeddings G1 ou Cohere Embed v3.
+ Magasin de vecteurs : service qui stocke la représentation vectorielle de vos données. Les magasins de vecteurs suivants sont pris en charge :
  + Amazon OpenSearch sans serveur
  + Amazon Neptune
  + Amazon Aurora (RDS)
  + Pinecone
  + Redis Enterprise Cloud
  + Atlas MongoDB

Le processus de conversion de vos données en vectorisations s’appelle l’*ingestion*. Le processus d’ingestion qui transforme vos données en base de connaissances comprend les étapes suivantes :

**Ingestion**

1. Les données sont analysées par l’analyseur que vous avez choisi. Pour en savoir plus sur l’analyse, consultez [Options d’analyse structurée pour votre source de données](kb-advanced-parsing.md).

1. Chaque document de votre source de données est divisé en *fragments*, des subdivisions des données qui peuvent être définies par le nombre de jetons et d’autres paramètres. Pour plus d’informations sur la fragmentation, consultez [Fonctionnement du découpage du contenu pour les bases de connaissances](kb-chunking.md).

1. Le modèle de vectorisation que vous avez choisi convertit les données en vectorisations. Pour le contenu multimodal, les images sont intégrées sous forme de vecteurs visuels tandis que le texte est intégré sous forme de vecteurs de texte, ce qui permet d'effectuer une recherche dans les deux modalités.

1. Les vectorisations sont écrites dans un index vectoriel dans le magasin de vecteurs de votre choix.

Une fois le processus d’ingestion terminé, votre base de connaissances est prête à être consultée. Pour plus d’informations sur la manière d’interroger et d’extraire des informations dans votre base de connaissances, consultez [Extraction d’informations à partir de sources de données à l’aide des bases de connaissances Amazon Bedrock](kb-how-retrieval.md).

Si vous modifiez une source de données, vous devez synchroniser les modifications afin d’intégrer les ajouts, les modifications et les suppressions dans la base de connaissances. Certaines sources de données prennent en charge l’ingestion ou la suppression directes de fichiers dans la base de connaissances, ce qui évite de traiter la modification et l’ingestion des sources de données comme des étapes distinctes et de toujours effectuer des synchronisations complètes. Pour savoir comment intégrer des documents directement dans votre base de connaissances et dans les sources de données qui la prennent en charge, consultez [Ingestion des modifications directement dans une base de connaissances](kb-direct-ingestion.md).

Les bases de connaissances Amazon Bedrock proposent différentes options pour personnaliser la manière dont vos données sont ingérées. Pour plus d’informations sur la personnalisation de ce processus, consultez [Personnalisation d’une base de connaissances](kb-how-customization.md).

## Données structurées
<a name="kb-how-structured"></a>

Les données structurées font référence aux données tabulaires dans un format prédéfini par le magasin de données dans lequel elles se trouvent. Les bases de connaissances Amazon Bedrock se connectent aux magasins de données structurés pris en charge via le moteur de requête Amazon Redshift. Les bases de connaissances Amazon Bedrock fournissent un mécanisme entièrement géré qui analyse les modèles de requête, l’historique des requêtes et les métadonnées de schéma afin de convertir les requêtes en langage naturel en requêtes SQL. Ces requêtes converties sont ensuite utilisées pour extraire des informations pertinentes à partir de sources de données prises en charge.

Les bases de connaissances Amazon Bedrock permettent de se connecter aux services suivants pour ajouter des magasins de données structurés à votre base de connaissances :
+ Amazon Redshift
+ AWS Glue Data Catalog(AWS Lake Formation)

Si vous connectez votre base de connaissances à un magasin de données structuré, vous n’avez pas besoin de convertir les données en vectorisations. Au lieu de cela, les bases de connaissances Amazon Bedrock peuvent directement interroger le magasin de données structurées. Au cours de la requête, les bases de connaissances Amazon Bedrock peuvent convertir les requêtes des utilisateurs en requêtes SQL afin d’extraire les données pertinentes pour la requête utilisateur et de générer des réponses plus précises. Vous pouvez également générer des requêtes SQL sans extraire de données et les utiliser dans d’autres flux de travail.

Par exemple, un référentiel de base de données contient le tableau suivant contenant des informations sur les clients et leurs achats :


****  

| ID du client | Montant dépensé en 2020 | Montant dépensé en 2021 | Montant dépensé en 2022 | Montant total dépensé à ce jour | 
| --- | --- | --- | --- | --- | 
| 1 | 200 | 300 | 500 | 1 000 | 
| 2 | 150 | 100 | 120 | 370 | 
| 3 | 300 | 300 | 300 | 900 | 
| 4 | 720 | 180 | 100 | 900 | 
| 5 | 500 | 400 | 100 | 1 000 | 
| 6 | 900 | 800 | 1 000 | 2700 | 
| 7 | 470 | 420 | 400 | 1290 | 
| 8 | 250 | 280 | 250 | 780 | 
| 9 | 620 | 830 | 740 | 2190 | 
| 10 | 300 | 200 | 300 | 800 | 

Si une requête utilisateur indique « donnez-moi un résumé des 5 clients les plus dépensiers », la base de connaissances peut effectuer les opérations suivantes :
+ Convertir la requête en requête SQL.
+ Renvoyer un extrait du tableau contenant les éléments suivants :
  + Colonnes du tableau pertinentes « Numéro du client » et « Montant total des achats effectués à ce jour »
  + Lignes du tableau contenant le montant total des achats pour les 10 clients les plus dépensiers
+ Générer une réponse indiquant quels clients sont les 5 clients les plus dépensiers et combien ils ont dépensé.

Voici d’autres exemples de requêtes pour lesquelles une base de connaissances peut générer un extrait de tableau :
+ « les 5 meilleurs clients en termes de dépenses en 2020 »
+ « le meilleur client en termes de montant d’achat en 2020 »
+ « les 5 meilleurs clients en termes de montant d’achat entre 2020 et 2022 »
+ « les 5 clients les plus dépensiers en 2020-2022 »
+ « les clients dont le montant total des achats est inférieur à 10 € »
+ « les 5 clients les moins dépensiers »

Plus une requête est précise ou détaillée, plus la base de connaissances peut affiner les informations exactes à renvoyer. Par exemple, au lieu de la requête « les 10 meilleurs clients en termes de dépenses en 2020 », une requête plus spécifique est « trouvez les 10 clients ayant dépensé le plus haut montant total à ce jour en 2020 ». La requête spécifique fait référence au nom de colonne « Montant total des achats à ce jour » dans le tableau de la base de données des dépenses des clients et indique également que les données doivent être triées selon le « montant le plus élevé ».

# Extraction d’informations à partir de sources de données à l’aide des bases de connaissances Amazon Bedrock
<a name="kb-how-retrieval"></a>

Après avoir configuré une base de connaissances, vous pouvez configurer votre application pour interroger les sources de données qu’elle contient. Pour interroger une base de connaissances, vous pouvez tirer avantage des opérations d’API suivantes :
+ [https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent-runtime_Retrieve.html](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent-runtime_Retrieve.html) : extrait les fragments ou images sources de vos données qui sont les plus pertinents pour la requête et les renvoie dans la réponse sous forme de tableau.
+ [https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent-runtime_RetrieveAndGenerate.html](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent-runtime_RetrieveAndGenerate.html) : associe `Retrieve` à l’opération [InvokeModel](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_runtime_InvokeModel.html) dans Amazon Bedrock pour récupérer les segments source de vos données les plus pertinents pour la requête et générer une réponse en langage naturel. Inclut des citations vers des segments sources spécifiques à partir des données. Si votre source de données inclut des éléments visuels, le modèle tire parti des informations issues de ces images lors de la génération d’une réponse textuelle et fournit une attribution source pour les images.
+ [GenerateQuery](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent-runtime_GenerateQuery.html) : convertit les requêtes utilisateur en langage naturel en requêtes présentées sous une forme adaptée au magasin de données structuré.

L’opération `RetrieveAndGenerate` est une action combinée qui utilise de manière sous-jacente `GenerateQuery` (si votre base de connaissances est connectée à un magasin de données structuré), `Retrieve` et `InvokeModel` pour exécuter l’ensemble du processus RAG. Comme les bases de connaissances Amazon Bedrock vous permettent également d’accéder à l’opération `Retrieve`, vous avez la possibilité de découpler les étapes dans RAG et de les personnaliser en fonction de votre cas d’utilisation spécifique.

Vous pouvez également utiliser un [modèle de reclassement](rerank.md) lorsque vous utilisez `Retrieve` ou `RetrieveAndGenerate` pour reclasser la pertinence des documents extraits lors d’une requête.

Pour savoir comment utiliser ces opérations d’API lors de l’interrogation d’une base de connaissances, consultez [Test de votre base de connaissances avec des requêtes et des réponses](knowledge-base-test.md).

# Personnalisation d’une base de connaissances
<a name="kb-how-customization"></a>

Les bases de connaissances Amazon Bedrock proposent des options pour personnaliser la manière dont vos sources de données sont traitées dans votre base de connaissances, vous offrant ainsi une flexibilité dans la manière dont vos données sont stockées, analysées et renvoyées aux utilisateurs finaux. Sélectionnez l’une des rubriques suivantes pour en savoir plus sur les options de personnalisation que vous pouvez prendre en compte lors de la configuration de votre base de connaissances :

**Topics**
+ [Fonctionnement du découpage du contenu pour les bases de connaissances](kb-chunking.md)
+ [Options d’analyse structurée pour votre source de données](kb-advanced-parsing.md)
+ [Utilisation d’une fonction Lambda de transformation personnalisée pour définir la manière dont vos données sont ingérées](kb-custom-transformation.md)
+ [Intégration de métadonnées dans une source de données pour améliorer les requêtes de la base de connaissances](kb-metadata.md)

# Fonctionnement du découpage du contenu pour les bases de connaissances
<a name="kb-chunking"></a>

Lorsque de l’ingestion de vos données, Amazon Bedrock divise d’abord vos documents ou votre contenu en fragments faciles à gérer pour une extraction efficace des données. Les segments sont ensuite convertis en vectorisations et écrits dans un index vectoriel (représentation vectorielle des données), tout en conservant un mappage avec le document d’origine. Les vectorisations permettent de comparer quantitativement les textes.

**Topics**
+ [Découpage standard](#kb-standard-chunking)
+ [Découpage hiérarchique](#kb-hiearchical-chunking)
+ [Découpage sémantique](#kb-semantic-chunking)
+ [Découpage de contenu multimodal](#kb-multimodal-chunking)

## Découpage standard
<a name="kb-standard-chunking"></a>

Amazon Bedrock prend en charge les approches standard suivantes en matière de découpage :

**Note**  
Les stratégies de découpage de texte s'appliquent uniquement aux documents texte. Pour le contenu multimodal (audio, vidéo, images), le découpage se fait au niveau du modèle d'intégration, et non par le biais de ces stratégies basées sur le texte.
+ Fragmentation à taille fixe : vous pouvez configurer la taille de bloc souhaitée en spécifiant le nombre de jetons par bloc et un pourcentage de chevauchement, ce qui vous permet de vous adapter à vos besoins spécifiques. Vous pouvez définir le nombre maximum de jetons qui ne doit pas dépasser pour un bloc et le pourcentage de chevauchement entre des blocs consécutifs.
**Note**  
Pour le contenu analysé (tel que le contenu utilisant des analyseurs avancés ou converti à partir du code HTML), les bases de connaissances Amazon Bedrock peuvent découper le contenu afin de l'optimiser et d'obtenir les meilleurs résultats. Le découpeur respecte les limites logiques du document (telles que les pages ou les sections) et ne fusionne pas le contenu au-delà de ces limites, même si l'augmentation de la taille maximale des jetons permettrait d'obtenir des segments plus importants.
+ Découpage par défaut : divise le contenu en blocs de texte contenant jusqu’à 300 jetons. Le processus de découpage respecte les limites des phrases, garantissant ainsi que les phrases complètes sont préservées dans chaque bloc.

Vous pouvez également choisir de ne pas diviser vos documents. Chaque document est traité comme un seul bloc de texte. Vous souhaiterez peut-être prétraiter vos documents en les divisant en fichiers distincts avant de choisir de ne effectuer de découpage comme dans votre stratégie/approche de découpage. Si vous choisissez de ne pas segmenter vos documents, vous ne pouvez pas afficher le numéro de page dans la citation ni filtrer par le champ/attribut de document-page-number métadonnées *x-amz-bedrock-kb-*.

## Découpage hiérarchique
<a name="kb-hiearchical-chunking"></a>

Le découpage hiérarchique consiste à organiser les informations en structures imbriquées de segments enfant et parent. Lorsque vous créez une source de données, vous pouvez définir la taille du segment parent, la taille du segment enfant et le nombre de jetons qui se chevauchent entre chaque bloc. Lors de l’extraction, le système extrait initialement les fragments enfants, mais les remplace par des fragments parents plus larges afin de fournir au modèle un contexte plus complet.

Les petites vectorisations de texte incorporées sont plus précises, mais l’extraction, vise à fournir un contexte complet. Un système de découpage hiérarchique équilibre ces besoins en remplaçant les fragments enfants extraits par leurs fragments parents, le cas échéant.

**Note**  
Étant donné que les fragments enfants sont remplacés par des fragments parents lors de l’extraction, le nombre de résultats renvoyés peut être inférieur au montant demandé.
Le découpage hiérarchique n'est pas recommandé lorsque vous utilisez le compartiment vectoriel S3 comme magasin de vecteurs. Lorsque vous utilisez un nombre élevé de jetons pour le découpage (plus de 8 000 jetons combinés), la taille des métadonnées peut être limitée.

Pour le découpage hiérarchique, les bases de connaissances Amazon Bedrock permettent de spécifier deux niveaux ou la profondeur suivante pour le découpage :
+ Parent : vous définissez la taille maximale du jeton de bloc parent.
+ Enfant : vous définissez la taille maximale du jeton de bloc enfant.

Vous définissez également les jetons de superposition entre les fragments. Il s’agit du nombre absolu de jetons de chevauchement entre des segments parents consécutifs et des blocs enfants consécutifs.

## Découpage sémantique
<a name="kb-semantic-chunking"></a>

Le découpage sémantique est une technique de traitement du langage naturel qui divise le texte en blocs significatifs afin d’améliorer la compréhension et l’extraction d’informations. Il vise à améliorer la précision de l’extraction en se concentrant sur le contenu sémantique plutôt que sur la structure syntaxique. Ce faisant, il peut faciliter une extraction et une manipulation plus précises des informations pertinentes.

Lorsque vous configurez le découpage sémantique, vous avez la possibilité de spécifier les hyperparamètres suivants.
+ Nombre maximum de jetons : nombre maximum de jetons qui doivent être inclus dans un seul bloc, tout en respectant les limites des phrases.
+ Taille de la mémoire tampon : pour une phrase donnée, la taille de la mémoire tampon définit le nombre de phrases environnantes à ajouter pour la création de vectorisations. Par exemple, une taille de tampon de 1 entraîne la combinaison et l’intégration de 3 phrases (phrase actuelle, précédente et suivante). Ce paramètre peut influencer la quantité de texte examinée ensemble pour déterminer les limites de chaque bloc, ce qui a un impact sur la granularité et la cohérence des blocs obtenus. Une taille de tampon plus grande peut capturer plus de contexte mais peut également introduire du bruit, tandis qu’une taille de tampon plus petite peut omettre un contexte important tout en garantissant un découpage plus précis.
+ Seuil de percentile d'arrêt : seuil percentile d'une phrase pour tracer des points de rupture entre distance/dissimilarity les phrases. Un seuil plus élevé nécessite que les phrases soient plus faciles à distinguer afin d’être divisées en différents morceaux. Un seuil plus élevé entraîne une diminution du nombre de blocs et une taille moyenne des blocs généralement plus importante.
**Note**  
L’utilisation du découpage sémantique entraîne des coûts supplémentaires en raison de l’utilisation d’un modèle de fondation. Le coût dépend de la quantité de données dont vous disposez. Consultez [Tarification d’Amazon Bedrock](https://aws.amazon.com/bedrock/pricing/) pour en savoir plus sur le coût des modèles de fondation.

## Découpage de contenu multimodal
<a name="kb-multimodal-chunking"></a>

Pour le contenu multimodal (audio, vidéo, images), le comportement de segmentation est différent de celui des documents texte :
+ **Nouvelles intégrations multimodales :** le découpage se produit au niveau du modèle d'intégration. Vous pouvez configurer la durée des segments audio et vidéo de 1 à 30 secondes (par défaut : 5 secondes). Pour les fichiers vidéo, seule la durée du segment vidéo s'applique, même si la vidéo contient du son. La durée du segment audio ne s'applique qu'aux fichiers audio autonomes.
+ **Analyseur Bedrock Data Automation (BDA) :** le contenu est d'abord converti en texte (transcriptions et résumés de scènes), puis des stratégies de découpage de texte standard sont appliquées au texte converti.

**Note**  
Lorsque vous utilisez les intégrations multimodales Nova, les stratégies de découpage de texte configurées dans votre base de connaissances n'affectent que les documents texte de votre source de données, et non les fichiers audio, vidéo ou image.

# Options d’analyse structurée pour votre source de données
<a name="kb-advanced-parsing"></a>

L’analyse structurée fait référence à la compréhension et à l’extraction du contenu à partir de données brutes. Les bases de connaissances Amazon Bedrock proposent les options suivantes pour analyser votre source de données lors de l’ingestion :
+ **Analyseur par défaut Amazon Bedrock** : analyse uniquement le texte des fichiers texte, y compris les fichiers .txt, .md, .html, .doc/.docx, .xls/.xlsx et .pdf. Cet analyseur n’entraîne aucun frais d’utilisation.
**Note**  
L’analyseur par défaut ne produisant que du texte, nous vous recommandons d’utiliser l’automatisation des données Amazon Bedrock ou un modèle de fondation comme analyseur plutôt que l’analyseur par défaut si vos documents incluent des figures, des graphiques, des tableaux ou des images. L’automatisation des données Amazon Bedrock et les modèles de fondation peuvent extraire ces éléments de vos documents et les renvoyer en sortie.
+ Amazon Bedrock Knowledge Bases propose les analyseurs suivants pour analyser les données multimodales, y compris les figures, graphiques et tableaux dans des fichiers .pdf, en plus des fichiers image .jpeg et .png. Ces analyseurs peuvent également extraire ces figures, graphiques, tableaux et images et les stocker sous forme de fichiers dans une destination S3 que vous spécifiez lors de la création de la base de connaissances. Lors de la récupération de la base de connaissances, ces fichiers peuvent être renvoyés dans la réponse ou dans l’attribution de la source.
  + **Automatisation des données Amazon Bedrock** : un service entièrement géré qui traite efficacement les données multimodales, sans qu’il soit nécessaire de fournir des instructions supplémentaires. Le coût de cet analyseur dépend du nombre de pages du document ou du nombre d’images à traiter. Pour plus d’informations sur ce service, consultez [Automatisation des données Amazon Bedrock](bda.md).
  + **Modèles de fondation** : traite les données multimodales à l’aide d’un modèle de fondation. Cet analyseur vous permet de personnaliser l’invite par défaut utilisée pour l’extraction des données. Le coût de cet analyseur dépend du nombre de jetons d’entrée et de sortie traités par le modèle de fondation. Pour obtenir la liste des modèles prenant en charge l’analyse des données Amazon Bedrock Knowledge Bases, consultez [Modèles et régions pris en charge pour l’analyse](knowledge-base-supported.md#knowledge-base-supported-parsing).

**Important**  
Si vous choisissez l’automatisation des données Amazon Bedrock ou les modèles de fondation comme analyseur, la méthode choisie sera utilisée pour analyser tous les fichiers .pdf de votre source de données, même s’ils ne contiennent que du texte. L’analyseur par défaut ne sera pas utilisé pour analyser ces fichiers .pdf. Des frais sont facturés à votre compte pour l’utilisation de l’automatisation des données Amazon Bedrock ou du modèle de fondation pour l’analyse de ces fichiers.

Quand vous choisissez une méthode d’analyse de vos données, tenez compte des points suivants :
+ Les données sont-elles purement textuelles ou contiennent-elles des données multimodales, telles que des images, des graphiques et des diagrammes, que vous souhaitez que la base de connaissances puisse interroger ?
+ Souhaitez-vous ou non avoir la possibilité de personnaliser l’invite utilisée pour indiquer au modèle comment analyser vos données ?
+ Le coût de l’analyseur. L’automatisation des données Amazon Bedrock applique une tarification par page, tandis que les analyseurs du modèle de fondation facturent en fonction des jetons d’entrée et de sortie. Pour plus d’informations, consultez [Tarification d’Amazon Bedrock](https://aws.amazon.com/bedrock/pricing/).
+ Limite de taille totale du fichier. Lorsque vous utilisez des modèles de base comme analyseur, la taille totale de tous les fichiers ne doit pas dépasser 100 Go.

Pour savoir comment configurer la méthode d’analyse de votre base de connaissances, consultez la configuration de connexion de votre source de données dans [Connexion d’une source de données à votre base de connaissances](data-source-connectors.md).

# Utilisation d’une fonction Lambda de transformation personnalisée pour définir la manière dont vos données sont ingérées
<a name="kb-custom-transformation"></a>

Il est possible de définir une fonction Lambda de transformation personnalisée pour injecter votre propre logique dans le processus d’ingestion de la base de connaissances.

Vous avez peut-être une logique de découpage spécifique, qui n’est pas prise en charge de manière native par les bases de connaissances Amazon Bedrock. Utilisez l’option de stratégie d’absence de découpage, tout en spécifiant une fonction Lambda contenant votre logique de découpage. En outre, vous devez spécifier un compartiment Amazon S3 pour la base de connaissances afin d’écrire les fichiers à découper par votre fonction Lambda.

Après le découpage, votre fonction Lambda réécrit les fichiers découpés dans le même compartiment et renvoie des références à la base de connaissances pour un traitement ultérieur. Vous pouvez éventuellement fournir votre propre clé AWS KMS pour le chiffrement des fichiers stockés dans votre compartiment S3.

**Note**  
Si des connecteurs Web sont utilisés, un texte Markdown est transmis à Lambda au lieu du HTML.

Vous pouvez également spécifier des métadonnées au niveau des segments, tout en demandant à la base de connaissances d’appliquer l’une des stratégies de découpage prises en charge de manière native. Dans ce cas, sélectionnez l’une des stratégies de découpage prédéfinies (par exemple, découpage par défaut ou de taille fixe), tout en fournissant une référence à votre fonction Lambda et à votre compartiment S3. Dans ce cas, la base de connaissances stockera les fichiers analysés et pré-découpés dans le compartiment S3 prédéfini, avant d’appeler votre fonction Lambda pour ajouter des métadonnées au niveau des segments.

Après l’ajout de métadonnées au niveau des segments, votre fonction Lambda réécrit les fichiers découpés dans le même compartiment et renvoie des références à la base de connaissances pour un traitement ultérieur. Veuillez noter que les métadonnées au niveau des segments sont prioritaires et remplacent les métadonnées au niveau du fichier, en cas de collision.

Pour un exemple d’utilisation d’une fonction Lambda Python pour un découpage personnalisé, consultez [Découpage personnalisé à l’aide de la fonction Lambda](https://github.com/aws-samples/amazon-bedrock-samples/blob/main/rag/knowledge-bases/features-examples/03-optimizing-accuracy-retrieved-results/advanced_chunking_options.ipynb).

Pour les contrats d’API et de fichiers, reportez-vous aux structures ci-dessous :

**Contrat d’API lors de l’ajout d’une transformation personnalisée à l’aide de la fonction Lambda**

```
{
...
    "vectorIngestionConfiguration": {
        "customTransformationConfiguration": { // Custom transformation 
            "intermediateStorage": {
                "s3Location": { // the location where input/output of the Lambda is expected 
                    "uri": "string"
                }
            },
            "transformations": [{
                "transformationFunction": {
                    "transformationLambdaConfiguration": {
                        "lambdaArn": "string"
                    }
                },
                "stepToApply": "string" // enum of POST_CHUNKING
            }]
        },
        "chunkingConfiguration": {
            "chunkingStrategy": "string",
            "fixedSizeChunkingConfiguration": {
                "maxTokens": "number",
                "overlapPercentage": "number"
            }
            ...
        }
    }
}
```

**Format d’entrée de transformation Lambda personnalisée**

```
{
    "version": "1.0",
    "knowledgeBaseId": "string",
    "dataSourceId": "string",
    "ingestionJobId": "string",
    "bucketName": "string",
    "priorTask": "string",
    "inputFiles": [{
        "originalFileLocation": {
            "type": "S3",
            "s3_location": {
                "uri": "string"
            }
        },
        "fileMetadata": {
            "key1": "value1",
            "key2": "value2"
        },
        "contentBatches": [{
            "key":"string"
        }]
    }]
}
```

**Format de sortie de transformation Lambda personnalisée**

```
{
    "outputFiles": [{
        "originalFileLocation": {
            "type": "S3",
            "s3_location": {
                "uri": "string"
            }
        },
        "fileMetadata": {
            "key1": "value1",
            "key2": "value2"
        },
        "contentBatches": [{
            "key": "string"
        }]
    }]
}
```

**Le format de fichier pour les objets est référencé sous `fileContents`**

```
{
    "fileContents": [{
        "contentBody": "...",
        "contentType": "string", // enum of TEXT, PDF, ...
        "contentMetadata": {
            "key1": "value1",
            "key2": "value2"
        }
    }
    ...
    ]
}
```

# Intégration de métadonnées dans une source de données pour améliorer les requêtes de la base de connaissances
<a name="kb-metadata"></a>

Lors de l’ingestion de fichiers CSV (valeurs séparées par des virgules), vous pouvez faire en sorte que la base de connaissances traite certaines colonnes comme des champs de contenu plutôt que comme des champs de métadonnées. Au lieu d’avoir potentiellement des centaines ou des milliers de paires de fichiers contenu/métadonnées, vous pouvez désormais disposer d’un seul fichier CSV et d’un fichier metadata.json correspondant, ce qui donne à la base de connaissances des indications sur la manière de traiter chaque colonne de votre fichier CSV.

Il existe des limites par fragment pour les champs/attributs de métadonnées des documents. Consultez [Quotas pour les bases de connaissances](https://docs.aws.amazon.com/bedrock/latest/userguide/quotas.html).

Avant l’ingestion un fichier CSV, vérifiez les points suivants :
+ Votre fichier CSV est au format RFC4180 et est codé en UTF-8.
+ La première ligne de votre fichier CSV inclut les informations d’en-tête.
+ Les champs de métadonnées fournis dans votre fichier metadata.json sont présents sous forme de colonnes dans votre fichier CSV.
+ Vous fournissez un fichier fileName.csv.metadata.json au format suivant :

  ```
  {
      "metadataAttributes": {
          "${attribute1}": "${value1}",
          "${attribute2}": "${value2}",
          ...
      },
      "documentStructureConfiguration": {
          "type": "RECORD_BASED_STRUCTURE_METADATA",
          "recordBasedStructureMetadata": {
              "contentFields": [
                  {
                      "fieldName": "string"
                  }
              ],
              "metadataFieldsSpecification": {
                  "fieldsToInclude": [
                      {
                          "fieldName": "string"
                      }
                  ],
                  "fieldsToExclude": [
                      {
                          "fieldName": "string"
                      }
                  ]
              }
          }
      }
  }
  ```

Le fichier CSV est analysé ligne par ligne et la stratégie de découpage ainsi que la vectorisation sont appliquées au champ de contenu. Amazon Bedrock Knowledge Bases prend actuellement en charge un champ de contenu. Celui-ci est divisé en fragments, et les champs de métadonnées (colonnes) associés à chaque fragments sont traités comme des valeurs de chaîne.

Par exemple, supposons qu’il existe un fichier CSV avec une colonne « Description » et une colonne « Date\$1de\$1création ». Le champ de description est le champ de contenu et la date de création est un champ de métadonnées associé. Le texte de description est divisé en fragments et converti en vectorisations pour chaque ligne du fichier CSV. La valeur de la date de création est traitée comme une représentation de la date sous forme de chaîne et est associée à chaque fragment de la description.

Si aucun champ d’inclusion/exclusion n’est fourni, toutes les colonnes sont traitées comme des colonnes de métadonnées, à l’exception de la colonne de contenu. Si seuls les champs d’inclusion sont fournis, seules les colonnes fournies sont traitées comme des métadonnées. Si seuls les champs d’exclusion sont fournis, toutes les colonnes, à l’exception des colonnes d’exclusion, sont traitées comme des métadonnées. Si vous fournissez le même `fieldName` dans `fieldsToInclude` et `fieldsToExclude`, Amazon Bedrock génère une exception de validation. S’il existe un conflit entre inclusion et exclusion, cela se traduira par un échec.

Les lignes vides présentes dans un fichier CSV sont ignorées ou sautées.

# Modèles et régions pris en charge pour les bases de connaissances Amazon Bedrock
<a name="knowledge-base-supported"></a>

Les bases de connaissances Amazon Bedrock prennent en charge les requêtes à l'aide des modèles de base suivants :


| Fournisseur | Modèle | ID du modèle | Support du modèle à région unique | Prise en charge des profils d'inférence entre régions | 
| --- | --- | --- | --- | --- | 
| AI21 Laboratoires | Jamba 1.5 Large | ai21.jamba-1-5-large-v1:0 |  us-east-1  |  | 
| AI21 Laboratoires | Jamba 1.5 Mini | ai21.jamba-1-5-mini-v1:0 |  us-east-1  |  | 
| Amazon | Nova Lite | amazon. nova-lite-v1:0 |  ap-northeast-1 ap-southeast-2 eu-north-1 eu-west-2 us-east-1 us-gov-west-1  |  ap-northeast-1 ap-northeast-2 ap-south-1 ap-southeast-1 ap-southeast-2 ca-central-1 eu-central-1 eu-north-1 eu-south-1 eu-south-2 eu-west-1 eu-west-3 us-east-1 us-east-2 us-west-2  | 
| Amazon | Nova Micro | amazon. nova-micro-v1:0 |  ap-southeast-2 eu-west-2 us-east-1 us-gov-west-1  |  ap-northeast-1 ap-northeast-2 ap-south-1 ap-southeast-1 ap-southeast-2 eu-central-1 eu-north-1 eu-south-1 eu-south-2 eu-west-1 eu-west-3 us-east-1 us-east-2 us-west-2  | 
| Amazon | Nova Pro | amazon. nova-pro-v1:0 |  ap-southeast-2 eu-west-2 us-east-1 us-gov-west-1  |  ap-northeast-1 ap-northeast-2 ap-south-1 ap-southeast-1 ap-southeast-2 eu-central-1 eu-north-1 eu-south-1 eu-south-2 eu-west-1 eu-west-3 us-east-1 us-east-2 us-west-2  | 
| Anthropic | Claude 3 Haiku | anthropic.claude-3-haiku-20240307-v1:0 |  ap-northeast-1 ap-northeast-2 ap-south-1 ap-southeast-1 ap-southeast-2 ca-central-1 eu-central-1 eu-central-2 eu-west-1 eu-west-2 eu-west-3 sa-east-1 us-east-1 us-gov-west-1 us-west-2  |  eu-central-1 us-east-2 us-gov-east-1  | 
| Anthropic | Claude 3 Sonnet | anthropic.claude-3-sonnet-20240229-v 1:0 |  ap-south-1 ap-southeast-2 ca-central-1 eu-central-1 eu-west-1 eu-west-2 eu-west-3 sa-east-1 us-east-1 us-west-2  |  ap-northeast-1 ap-northeast-2 ap-southeast-1 eu-central-1  | 
| Anthropic | Claude 3.5 Haiku | anthropic.claude-3-5-haiku-20241022-v1:0 |  us-west-2  |  us-east-1 us-east-2  | 
| Anthropic | Sonnet de Claude 3.5 | anthropic.claude-3-5-sonnet-20240620-v1:0 |  ap-northeast-1 ap-northeast-2 ap-southeast-1 eu-central-1 eu-central-2 us-east-1 us-gov-west-1 us-west-2  |  ap-south-1 ap-southeast-2 eu-central-1 eu-west-1 eu-west-3 us-east-1 us-east-2 us-gov-east-1 us-west-2  | 
| Anthropic | Claude 3.5 Sonnet v2 | anthropic.claude-3-5-sonnet-20241022-v2:0 |  ap-southeast-2 us-west-2  |  ap-northeast-1 ap-northeast-2 ap-northeast-3 ap-south-1 ap-south-2 ap-southeast-1 ap-southeast-2 us-east-1 us-east-2  | 
| Anthropic | Claude 3.7 Sonnet | anthropic.claude-3-7-sonnet-20250219-v1:0 |  eu-west-2 us-gov-west-1  |  ap-northeast-1 ap-northeast-2 ap-northeast-3 ap-south-1 ap-south-2 ap-southeast-1 ap-southeast-2 eu-central-1 eu-north-1 eu-west-1 eu-west-3 us-east-1 us-east-2 us-gov-east-1 us-west-2  | 
| Anthropic | Claude Opus 4 | anthropic.claude-opus-4-20250514-v1:0 |  |  us-east-1 us-east-2 us-west-2  | 
| Anthropic | Claude Sonnet 4 | anthropic.claude-sonnet-4-20250514-v1:0 |  |  ap-northeast-1 ap-northeast-2 ap-northeast-3 ap-south-1 ap-south-2 ap-southeast-1 ap-southeast-2 eu-central-1 eu-north-1 eu-south-1 eu-south-2 eu-west-1 eu-west-3 us-east-1 us-east-2 us-west-2  | 
| Anthropic | Claude Sonnet 4.5 | anthropic.claude-sonnet-4-5-20250929-v1:0 | N/A |  ap-northeast-1 ap-northeast-2 ap-northeast-3 ap-south-1 ap-south-2 ap-southeast-1 ap-southeast-2 ca-central-1 eu-central-1 eu-central-2 eu-north-1 eu-south-1 eu-south-2 eu-west-1 eu-west-2 eu-west-3 sa-east-1 us-east-1 us-east-2 us-gov-east-1 us-gov-west-1 us-west-2  | 
| Cohere | Command R | cohérer. command-r-v1:0 |  us-east-1 us-west-2  |  | 
| Cohere | Command R\$1 | cohérer. command-r-plus-v1:0 |  us-east-1 us-west-2  |  | 
| DeepSeek | DeepSeek-R1 | deepseek.r1-v1:0 |  |  us-east-1 us-east-2 us-west-2  | 
| Meta | Llama 3 70B Instruct | meta.llama-3-70 1:0 b-instruct-v |  ap-south-1 ca-central-1 eu-west-2 us-east-1 us-gov-west-1 us-west-2  |  | 
| Meta | Llama 3 8B Instruct | meta.llama-38 1:0 b-instruct-v |  ap-south-1 ca-central-1 eu-west-2 us-east-1 us-gov-west-1 us-west-2  |  | 
| Meta | Llama 3.1 405B Instruct | meta.llama3-1-405 1:0 b-instruct-v |  us-west-2  |  us-east-2  | 
| Meta | Llama 3.1 70B Instruct | meta.llama3-1-70 1:0 b-instruct-v |  us-west-2  |  us-east-1 us-east-2 us-west-2  | 
| Meta | Llama 3.1 8B Instruct | meta.llama3-1-8 1:0 b-instruct-v |  us-west-2  |  us-east-1 us-east-2 us-west-2  | 
| Meta | Llama 3.2 11B Instruct | meta.llama3-2-11 1:0 b-instruct-v |  |  us-east-1 us-east-2 us-west-2  | 
| Meta | Llama 3.2 90B Instruct | meta.llama3-2-90 1:0 b-instruct-v |  |  us-east-1 us-east-2 us-west-2  | 
| Meta | Llama 3.3 70B Instruct | meta.llama3-3-70 1:0 b-instruct-v |  us-east-2  |  us-east-1 us-east-2 us-west-2  | 
| Mistral AI | Mistral Large (24.02) | mistral.mistral-large-2402-v1:0 |  ap-south-1 ap-southeast-2 ca-central-1 eu-west-1 eu-west-2 eu-west-3 sa-east-1 us-east-1 us-west-2  |  | 
| Mistral AI | Mistral Large (24.07) | mistral.mistral-large-2407-v1:0 |  us-west-2  |  | 
| Mistral AI | Mistral Small (24.02) | mistral.mistral-small-2402-v1:0 |  us-east-1  |  | 

Amazon Bedrock Knowledge Bases prend également en charge l’utilisation de profils d’inférence pour l’analyse des données ou lors de la génération de réponses. Avec les profils d’inférence, vous pouvez suivre les coûts et les métriques et effectuer une inférence interrégionale pour répartir les demandes d’inférence de modèle sur un ensemble de régions afin d’augmenter le débit. Vous pouvez spécifier un profil d'inférence dans une [CreateDataSource](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent_CreateDataSource.html)demande [https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent-runtime_RetrieveAndGenerate.html](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent-runtime_RetrieveAndGenerate.html)or. Pour de plus amples informations, veuillez consulter [Configurer une ressource d’invocation de modèle à l’aide de profils d’inférence](inference-profiles.md).

**Important**  
Si vous utilisez l’inférence interrégionale, vos données peuvent être partagées entre régions.

Vous pouvez également utiliser des modèles d' SageMaker IA ou [des modèles personnalisés](custom-models.md) que vous entraînez à partir de vos propres données.

**Note**  
Si vous utilisez une SageMaker IA ou un modèle personnalisé, vous devez spécifier les instructions d'orchestration et de génération (pour plus d'informations, voir **Modèles d'invite de la base de connaissances** dans[Configuration et personnalisation de la génération de requêtes et de réponses](kb-test-config.md)). Vos invites doivent inclure des variables d’information pour accéder aux entrées et au contexte de l’utilisateur.

La prise en charge de régions et de modèles diffère pour certaines fonctionnalités d’Amazon Bedrock Knowledge Bases. Sélectionnez une rubrique pour consulter la prise en charge relative à une fonctionnalité :

**Topics**
+ [Modèles pris en charge pour les vectorisations](#knowledge-base-supported-embeddings)
+ [Modèles et régions pris en charge pour l’analyse](#knowledge-base-supported-parsing)
+ [Modèles et régions pris en charge pour le reclassement des résultats lors d’une requête](#knowledge-base-supported-rerank)
+ [Régions prises en charge pour les bases de connaissances avec magasins de données structurés](#knowledge-base-supported-structured)

## Modèles pris en charge pour les vectorisations
<a name="knowledge-base-supported-embeddings"></a>

Amazon Bedrock Knowledge Bases convertit vos données en vectorisations et stocke les vectorisations dans une base de données vectorielles à l’aide d’un modèle de vectorisation. Pour de plus amples informations, veuillez consulter [Transformation des données en base de connaissances](kb-how-data.md).

Les bases de connaissances Amazon Bedrock prennent en charge les intégrations vectorielles à l'aide des modèles de base suivants :


| Fournisseur | Modèle | ID du modèle | Support du modèle à région unique | 
| --- | --- | --- | --- | 
| Amazon | Titan Embeddings G1 - Text | amazon. titan-embed-text-v1 |  ap-northeast-1 eu-central-1 us-east-1 us-west-2  | 
| Amazon | Titan Text Embeddings V2 | amazon. titan-embed-text-v2:0 |  ap-northeast-1 ap-northeast-2 ap-northeast-3 ap-south-1 ap-south-2 ap-southeast-2 ca-central-1 eu-central-1 eu-central-2 eu-north-1 eu-south-1 eu-south-2 eu-west-1 eu-west-2 eu-west-3 sa-east-1 us-east-1 us-east-2 us-gov-east-1 us-gov-west-1 us-west-2  | 
| Cohere | Embed version anglaise | cohérer. embed-english-v3 |  ap-northeast-1 ap-south-1 ap-southeast-1 ap-southeast-2 ca-central-1 eu-central-1 eu-west-1 eu-west-2 eu-west-3 sa-east-1 us-east-1 us-west-2  | 
| Cohere | Embed version multilingue | cohérer. embed-multilingual-v3 |  ap-northeast-1 ap-south-1 ap-southeast-1 ap-southeast-2 ca-central-1 eu-central-1 eu-west-1 eu-west-2 eu-west-3 sa-east-1 us-east-1 us-west-2  | 

Les modèles de vectorisation prennent en charge les types de vecteurs suivants :


****  

| Nom du modèle | Type de vecteur pris en charge | Nombre de dimensions prises en charge | 
| --- | --- | --- | 
| Amazon Titan Embeddings G1 - Text | Virgule flottante | 1536 | 
| Plongement lexical Amazon Titan V2 | Virgule flottante, binaire | 256, 512, 1 024 | 
| Cohere Embed (version anglaise) | Virgule flottante, binaire | 1 024 | 
| Cohere Embed (version multilingue) | Virgule flottante, binaire | 1 024 | 
| Amazon Titan Multimodal Embeddings G1 | Virgule flottante | 1 024 | 
| CohereIntégrer la version 3 (multimodale) | Virgule flottante, binaire | 1 024 | 

## Modèles et régions pris en charge pour l’analyse
<a name="knowledge-base-supported-parsing"></a>

Lorsque vous convertissez des données en vectorisations, vous disposez de différentes options pour les analyser dans Amazon Bedrock Knowledge Bases. Pour de plus amples informations, veuillez consulter [Options d’analyse structurée pour votre source de données](kb-advanced-parsing.md).

Voici la prise en charge des options d’analyse :
+ L’analyseur d’automatisation des données Amazon Bedrock est pris en charge dans la région USA Ouest (Oregon), en version préliminaire et susceptible d’être modifié.
+ Les familles de modèles de fondation suivantes peuvent servir d’analyseur :
  + Modèles de vision Claude
  + Modèles de vision Nova
  + LLama 4 modèles de vision

  L'analyse des modèles de base est disponible dans Région AWS les pays où ces modèles sont directement disponibles (et non par inférence entre régions). Pour connaître la disponibilité actuelle des modèles par région, consultez [Modèles de fondation pris en charge dans Amazon Bedrock](models-supported.md).

## Modèles et régions pris en charge pour le reclassement des résultats lors d’une requête
<a name="knowledge-base-supported-rerank"></a>

Lorsque vous récupérez les résultats d’une requête de base de connaissances, vous pouvez reclasser ces résultats à l’aide d’un modèle de reclassement. Pour plus d’informations, consultez [Interrogation d’une base de connaissances et extraction des données](kb-test-retrieve.md) et [Interrogation d’une base de connaissances et génération de réponses basées sur les données récupérées](kb-test-retrieve-generate.md).

Pour obtenir la liste des modèles et des régions qui prennent en charge le reclassement, consultez [Régions et modèles pris en charge pour le reclassement dans Amazon Bedrock](rerank-supported.md).

## Régions prises en charge pour les bases de connaissances avec magasins de données structurés
<a name="knowledge-base-supported-structured"></a>

Les bases de connaissances avec des magasins de données structurés vous permettent de connecter des bases de connaissances à des magasins de données structurés et de convertir des requêtes en langage naturel en requêtes SQL. Pour de plus amples informations, veuillez consulter [Création d’une base de connaissances en la connectant à un magasin de données structuré](knowledge-base-build-structured.md).

Les bases de connaissances avec des magasins de données structurés sont disponibles dans les versions suivantes Régions AWS :
+ Europe (Francfort)
+ Europe (Zurich)
+ Europe (Irlande)
+ Europe (Londres)
+ Europe (Paris)
+ Asie-Pacifique (Tokyo)
+ Asie-Pacifique (Séoul)
+ Asie-Pacifique (Mumbai)
+ Asie-Pacifique (Singapour)
+ Asie-Pacifique (Sydney)
+ Canada (Centre)
+ Amérique du Sud (São Paulo)
+ USA Est (Virginie du Nord)
+ USA Est (Ohio)
+ USA Ouest (Oregon)
+ AWSGovCloud (US-Ouest)

# Discussion avec votre document sans configuration de base de connaissances
<a name="knowledge-base-chatdoc"></a>

La fonctionnalité **Discuter avec votre document** de la console Amazon Bedrock vous permet de tester facilement une base de connaissances sans avoir à configurer une base de connaissances. Vous pouvez charger un document ou le glisser-déposer dans la fenêtre de chat de la console pour commencer à poser des questions. **Discuter avec votre document** permet de répondre à des questions, réaliser une analyse, créer un résumé, détailler les champs dans une liste numérotée ou réécrire du contenu à l’aide de votre document. **Discuter avec votre document** ne stocke pas votre document ni ses données après utilisation.

**Note**  
La fonctionnalité **Discuter avec votre document** est actuellement mieux prise en charge avec les modèles Anthropic Sonnet. Consultez [Modèles pris en charge pour les bases de connaissances](https://docs.aws.amazon.com/bedrock/latest/userguide/knowledge-base-supported.html) pour plus d’informations sur l’accès aux modèles de base de connaissances et leur utilisation.  
Vous ne pouvez utiliser aucun modèle de reclassement lorsque vous discutez avec votre document.

Vous pouvez également facilement prototyper une application de chat ou de flux sans avoir à configurer une base de connaissances. À l’aide d’[Amazon Bedrock Studio](https://docs.aws.amazon.com/bedrock/latest/userguide/br-studio.html), vous pouvez charger un document depuis votre ordinateur pour fournir les données ou la « source de données » de votre application. Amazon Bedrock Studio, renommé Amazon Bedrock IDE, est désormais disponible dans Amazon SageMaker Unified Studio. Pour plus d’informations, consultez [Amazon Bedrock IDE](https://docs.aws.amazon.com/sagemaker-unified-studio/latest/userguide/bedrock.html).

Pour utiliser la fonctionnalité **Discuter avec votre document** dans le cadre des bases de connaissances, cliquez sur l’onglet ci-dessous et suivez les étapes.

------
#### [ Console ]

**Pour discuter avec votre document dans Amazon Bedrock :**

1. Ouvrez la console Amazon Bedrock à l’adresse [https://console.aws.amazon.com/bedrock/](https://console.aws.amazon.com/bedrock/).

1. Dans le volet de navigation gauche, sélectionnez **Base de connaissances** et choisissez **Discuter avec votre document**.

1. Dans l’onglet **Discuter avec votre document**, cliquez sur **Sélectionner un modèle** sous **Modèle**.

1. Choisissez le modèle que vous souhaitez utiliser à des fins d’analyse de document, puis cliquez sur **Appliquer**.

1. Saisissez une invite système dans l’onglet **Discuter avec votre document**.

1. Sous **Données**, sélectionnez **Votre ordinateur** ou **S3**.

1. Cliquez sur **Sélectionner un document** pour charger votre document. Vous pouvez également glisser-déposer le document dans la console de chat dans la zone intitulée **Écrire une requête**.
**Note**  
Types de fichiers : PDF, MD, TXT, DOC, DOCX, HTML, CSV, XLS, XLSX. Il existe une limite de jetons fixe prédéfinie en cas d’utilisation d’un fichier de moins de 10 Mo. Un fichier contenant beaucoup de texte et d’une taille inférieure à 10 Mo peut potentiellement dépasser la limite de jetons.

1. Saisissez une invite personnalisée dans la zone intitulée **Écrire une requête**. Vous pouvez saisir une invite personnalisée ou utiliser l’invite par défaut. Le document chargé et l’invite s’affichent en bas de la fenêtre de chat.

1. Cliquez sur **Exécuter**. La réponse produit des résultats de recherche avec une option **Afficher les fragments source** montrant les informations sur la source de la réponse.

1. Pour charger un nouveau fichier, cliquez sur le X pour supprimer le fichier actuellement chargé dans la fenêtre de chat, puis glissez-déposez le nouveau fichier. Saisissez une nouvelle invite et cliquez sur **Exécuter**.
**Note**  
La sélection d’un nouveau fichier entraîne l’effacement des requêtes et réponses précédentes et le lancement d’une nouvelle session.

------

# Configuration d’autorisations de création et de gestion de bases de connaissances pour un utilisateur ou un rôle
<a name="knowledge-base-prereq-permissions-general"></a>

Afin qu’un utilisateur ou un rôle puisse effectuer des actions liées aux bases de connaissances Amazon Bedrock, vous devez y attacher des politiques qui accordent les autorisations nécessaires. Ces politiques décrivent les autorisations qui permettent à un utilisateur de récupérer des informations à partir de ces bases de connaissances et de générer des réponses à partir de celles-ci.

Développez les sections suivantes pour découvrir comment configurer des autorisations pour des cas d’utilisation spécifiques :

## Autorisation d’un rôle à créer des bases de connaissances et les gérer
<a name="w2aac28c10c21b7b1"></a>

Pour autoriser un rôle IAM à créer une base de connaissances, la connecter à un magasin de données structuré, gérer la base de connaissances et démarrer et gérer des tâches d’ingestion de la source de données vers la base de connaissances, vous devez fournir des autorisations aux actions `KnowledgeBase`, `DataSource` et `IngestionJob`. Pour fournir des autorisations permettant de baliser des bases de connaissances, incluez des autorisations pour `bedrock:TagResource` et `bedrock:UntagResource`. 

**Note**  
Si la politique [AmazonBedrockFullAccess](security-iam-awsmanpol.md#security-iam-awsmanpol-AmazonBedrockFullAccess) AWS gérée est attachée à l'utilisateur ou au rôle, vous pouvez ignorer cette condition préalable.

Pour autoriser un rôle à effectuer ces actions, attachez la politique suivante au rôle :

------
#### [ JSON ]

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Sid": "CreateKB",
            "Effect": "Allow",
            "Action": [
                "bedrock:CreateKnowledgeBase"
            ],
            "Resource": "*"
        },
        {
            "Sid": "KBDataSourceManagement",
            "Effect": "Allow",
            "Action": [
                "bedrock:GetKnowledgeBase",
                "bedrock:ListKnowledgeBases",
                "bedrock:UpdateKnowledgeBase",
                "bedrock:DeleteKnowledgeBase",
                "bedrock:StartIngestionJob",
                "bedrock:GetIngestionJob",
                "bedrock:ListIngestionJobs",
                "bedrock:StopIngestionJob",
                "bedrock:TagResource",
                "bedrock:UntagResource"
            ],
            "Resource": [
                "arn:aws:bedrock:us-east-1:123456789012:knowledge-base/*"
            ]
        }
    ]
}
```

------

Après avoir créé une base de connaissances, nous vous recommandons de limiter les autorisations indiquées dans le `KBDataSourceManagement` relevé en remplaçant le caractère générique (*\$1*) par l'ID de la base de connaissances que vous avez créée.

## Autorisation d’un rôle à effectuer les opérations d’API de base de connaissances
<a name="w2aac28c10c21b7b3"></a>

Cette section décrit les autorisations dont vous avez besoin pour effectuer les opérations d’API `Retrieve` et `RetrieveAndGenerate` pour des bases de connaissances.

Attachez la politique suivante au rôle :

------
#### [ JSON ]

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Sid": "GetKB",
            "Effect": "Allow",
            "Action": [
                "bedrock:GetKnowledgeBase"
            ],
            "Resource": [
                "arn:aws:bedrock:us-east-1:123456789012:knowledge-base/${KnowledgeBaseId}"
            ]
        },
        {
            "Sid": "Retrieve",
            "Effect": "Allow",
            "Action": [
                "bedrock:Retrieve"
            ],
            "Resource": [
                "arn:aws:bedrock:us-east-1:123456789012:knowledge-base/${KnowledgeBaseId}"
            ]
        },
        {
            "Sid": "RetrieveAndGenerate",
            "Effect": "Allow",
            "Action": [
                "bedrock:RetrieveAndGenerate"
            ],
            "Resource": [
                "*"
            ]
        }
    ]
}
```

------

Vous pouvez supprimer les instructions dont vous n’avez pas besoin, selon votre cas d’utilisation :
+ L’instruction `GetKB` permet d’obtenir les informations sur la base de connaissances.
+ L’instruction `Retrieve` est requise pour appeler [https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent-runtime_Retrieve.html](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent-runtime_Retrieve.html) afin de récupérer les données de votre magasin de données.
+ L’instruction `RetrieveAndGenerate` est requise pour appeler [https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent-runtime_RetrieveAndGenerate.html](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent-runtime_RetrieveAndGenerate.html) afin de récupérer les données de votre magasin de données et générer des réponses basées sur ces données.

## Demandez l'accès aux modèles de base pour RetrieveAndGenerate
<a name="knowledge-base-prereq-structured-model-access"></a>

Si vous prévoyez de générer des réponses en fonction des données récupérées à partir de votre source de données à l’aide de [https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent-runtime_RetrieveAndGenerate.html](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent-runtime_RetrieveAndGenerate.html), demandez un accès aux modèles de fondation à utiliser pour la génération en suivant les étapes décrites dans [Accès aux modèles de fondation Amazon Bedrock](model-access.md).

Pour restreindre davantage les autorisations, vous pouvez omettre des actions ou spécifier des ressources et des clés de condition permettant de filtrer les autorisations. Pour plus d’informations sur les actions, les ressources et les clés de condition, consultez les rubriques suivantes dans la *Référence des autorisations de service* :
+ [Actions définies par Amazon Bedrock](https://docs.aws.amazon.com/service-authorization/latest/reference/list_amazonbedrock.html#amazonbedrock-actions-as-permissions) : découvrez les actions, les types de ressources auxquels vous pouvez les appliquer dans le champ `Resource` et les clés de condition qui vous permettent de filtrer les autorisations dans le champ `Condition`.
+ [Types de ressources définis par Amazon Bedrock](https://docs.aws.amazon.com/service-authorization/latest/reference/list_amazonbedrock.html#amazonbedrock-resources-for-iam-policies) : découvrez les types de ressources dans Amazon Bedrock.
+ [Clés de condition pour Amazon Bedrock](https://docs.aws.amazon.com/service-authorization/latest/reference/list_amazonbedrock.html#amazonbedrock-policy-keys) : découvrez les clés de condition dans Amazon Bedrock.

# Création d’une base de connaissances en la connectant à une source de données
<a name="knowledge-base-build"></a>

Amazon Bedrock Knowledge Bases prend en charge divers types de fichiers stockés dans des sources de données. Pour interpréter les données d’une source de données, Amazon Bedrock Knowledge Bases nécessite la conversion des données en vectorisations, une représentation numérique des données. Ces vectorisations peuvent être comparées aux représentations vectorielles d’une requête afin d’évaluer la similitude et de déterminer les sources à renvoyer lors de la récupération des données.

La connexion de votre base de connaissances à une source de données implique les étapes générales suivantes :

1. Connectez la base de connaissances à une source de données prise en charge.

1. Si votre source de données contient des données multimodales, notamment des images, des fichiers audio et vidéo, vous devez choisir une approche de traitement et un modèle d'intégration appropriés qui prennent en charge le contenu multimodal.
**Note**  
Les données multimodales ne sont prises en charge qu’avec Amazon S3 et les sources de données personnalisées. Pour des conseils complets sur l'utilisation de contenus multimodaux, voir[Création d'une base de connaissances pour le contenu multimodal](kb-multimodal.md).

1. Choisissez un modèle de vectorisation pour convertir les données de la source de données en vectorisations.

1. Choisissez un magasin de vecteurs pour stocker la représentation vectorielle de vos données.

1. Synchronisez vos données afin qu’elles soient converties en vectorisations.

1. Si vous modifiez les données de la source de données, vous devez resynchroniser les modifications.

**Topics**
+ [Conditions préalables à la création d'une base de connaissances Amazon Bedrock avec une source de données non structurée](knowledge-base-prereq.md)
+ [Conditions préalables et autorisations requises pour utiliser les clusters OpenSearch gérés avec les bases de connaissances Amazon Bedrock](kb-osm-permissions-prereq.md)
+ [Création d’une base de connaissances en se connectant à une source de données dans Amazon Bedrock Knowledge Bases](knowledge-base-create.md)
+ [Synchronisation de vos données avec votre base de connaissances Amazon Bedrock](kb-data-source-sync-ingest.md)
+ [Ingestion des modifications directement dans une base de connaissances](kb-direct-ingestion.md)
+ [Affichage des informations relatives aux sources de données pour votre base de connaissances Amazon Bedrock](kb-ds-info.md)
+ [Modification d’une source de données pour votre base de connaissances Amazon Bedrock](kb-ds-update.md)
+ [Suppression d’une source de données de votre base de connaissances Amazon Bedrock](kb-ds-delete.md)

# Conditions préalables à la création d'une base de connaissances Amazon Bedrock avec une source de données non structurée
<a name="knowledge-base-prereq"></a>

Les bases de connaissances Amazon Bedrock nécessitent des données et des modèles pour récupérer et générer des réponses, un magasin vectoriel pour stocker la représentation vectorielle des données, ainsi que des Gestion des identités et des accès AWS autorisations pour accéder à vos données et effectuer des actions.

Avant de créer une base de connaissances, vous devez remplir les conditions préalables suivantes. Pour découvrir les exigences générales relatives aux autorisations, consultez [Configuration d’autorisations de création et de gestion de bases de connaissances pour un utilisateur ou un rôle](knowledge-base-prereq-permissions-general.md).

1. Assurez-vous que vos données se trouvent dans un [connecteur de source de données pris en charge](data-source-connectors.md).

1. (Facultatif) [Configurez votre propre magasin de vecteurs pris en charge](knowledge-base-setup.md). Vous pouvez ignorer cette étape si vous prévoyez d'utiliser le AWS Management Console pour créer automatiquement un magasin vectoriel pour vous.

1. (Facultatif) Créez un [rôle de service](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_terms-and-concepts.html#iam-term-service-role) personnalisé Gestion des identités et des accès AWS (IAM) avec les autorisations appropriées en suivant les instructions de[Création d’un rôle de service pour les bases de connaissances Amazon Bedrock](kb-permissions.md). Vous pouvez créer un rôle de service pour vous à l’aide de la AWS Management Console .
**Note**  
Si vous créez une base de connaissances avec Amazon OpenSearch Service (y compris Amazon OpenSearch Serverless), le rôle de service nécessite des autorisations supplémentaires au-delà de celles couvertes par la politique gérée par AWS BedrockFullAccess . Il s’agit notamment des autorisations `aoss:CreateAccessPolicy`, `iam:CreateServiceLinkedRole` et `iam:CreateRole`.

1. (Facultatif) Paramétrez des configurations de sécurité supplémentaires en suivant les étapes décrites dans [Chiffrement des ressources des bases de connaissances](encryption-kb.md).

1. (Facultatif) Si vous prévoyez de générer des réponses en fonction des informations récupérées à partir de votre base de connaissances à l’aide de l’opération d’API [https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent-runtime_RetrieveAndGenerate.html](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent-runtime_RetrieveAndGenerate.html), demandez un accès aux modèles que vous utiliserez dans les régions concernées en suivant les étapes décrites dans [Accès aux modèles de fondation Amazon Bedrock](model-access.md).

**Topics**
+ [Conditions préalables pour les données de votre base de connaissances Amazon Bedrock](knowledge-base-ds.md)
+ [Conditions préalables à l’utilisation d’un magasin de vecteurs que vous avez créé pour une base de connaissances](knowledge-base-setup.md)

# Conditions préalables pour les données de votre base de connaissances Amazon Bedrock
<a name="knowledge-base-ds"></a>

Une source de données contient des fichiers ou du contenu avec des informations qui peuvent être récupérées lorsque votre base de connaissances est interrogée. Vous devez stocker vos documents ou votre contenu dans au moins l’une des [sources de données prises en charge](https://docs.aws.amazon.com/bedrock/latest/userguide/data-source-connectors.html).

## Formats de documents pris en charge et limites pour les données de base de connaissances
<a name="kb-ds-supported-doc-formats-limits"></a>

Lorsque vous vous connectez à une [source de données prise en charge](https://docs.aws.amazon.com/bedrock/latest/userguide/data-source-connectors.html), le contenu est ingéré dans votre base de connaissances.

Si vous stockez vos fichiers à l’aide d’Amazon S3 ou si votre source de données inclut des fichiers joints, vous devez d’abord vérifier que chaque fichier de document source remplit les conditions suivantes :
+ Les fichiers source sont dans l’un des formats pris en charge suivants :  
****    
[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/fr_fr/bedrock/latest/userguide/knowledge-base-ds.html)
+ La taille de chaque fichier ne dépasse pas le quota de 50 Mo.

Si vous utilisez une source de données Amazon S3 ou personnalisée, vous pouvez utiliser des données multimodales, notamment des images JPEG (.jpeg) ou PNG (.png) ou des fichiers contenant des tableaux, des graphiques, des diagrammes ou d’autres images.

**Note**  
La taille maximale des fichiers .JPEG et .PNG est de 3,75 Mo.

# Conditions préalables à l’utilisation d’un magasin de vecteurs que vous avez créé pour une base de connaissances
<a name="knowledge-base-setup"></a>

Vous stockez les vectorisations dans lesquelles vos documents sont convertis à l’aide d’un magasin de vecteurs. Amazon Bedrock Knowledge Bases prend en charge un flux de création rapide pour certains magasin de vecteurs. Par conséquent, si vous préférez qu’Amazon Bedrock crée automatiquement un index vectoriel pour vous dans l’un de ces magasins de vecteurs, ignorez cette condition préalable et passez à [Création d’une base de connaissances en se connectant à une source de données dans Amazon Bedrock Knowledge Bases](knowledge-base-create.md).

Si vous souhaitez stocker des vectorisations binaires au lieu des vectorisations à virgule flottante standard (float32), vous devez utiliser un magasin de vecteurs qui prend en charge les vecteurs binaires.

**Note**  
Les clusters Amazon OpenSearch Serverless et Amazon OpenSearch Managed sont les seuls magasins de vecteurs qui prennent en charge le stockage de vecteurs binaires.

Vous pouvez configurer votre propre magasin de vecteurs pris en charge pour indexer la vectorisation de vos données. Vous créez des champs pour les données suivantes :
+ Champ pour les vecteurs générés à partir du texte de votre source de données par le modèle de vectorisation que vous avez choisi.
+ Champ pour les fragments de texte extraits des fichiers de votre source de données.
+ Champs pour les métadonnées des fichiers source gérés par Amazon Bedrock.
+ (Si vous utilisez une base de données Amazon Aurora et que vous souhaitez configurer le [filtrage des métadonnées](kb-test-config.md)) Champs pour les métadonnées que vous associez à vos fichiers source. Si vous envisagez de configurer le filtrage dans d’autres magasins de vecteurs, il n’est pas nécessaire de configurer ces champs pour le filtrage.

Vous pouvez chiffrer des magasins de vecteurs tiers à l’aide d’une clé KMS. Pour plus d’informations, consultez [Chiffrement des ressources des bases de connaissances](https://docs.aws.amazon.com/bedrock/latest/userguide/encryption-kb.html).

Cliquez sur l’onglet correspondant au service de magasin de vecteurs vous permettant de créer votre index vectoriel.

**Note**  
Votre choix de modèle de vectorisation et de dimensions vectorielles peut affecter les choix de magasins de vecteurs disponibles. Si vous n’êtes pas en mesure d’utiliser votre magasin de vecteurs préféré, choisissez des options compatibles avec le modèle de vectorisation et les dimensions vectorielles.

------
#### [ Amazon OpenSearch Serverless ]

1. Pour configurer les autorisations et créer une collection de recherche vectorielle dans Amazon OpenSearch Serverless dans le AWS Management Console, suivez les étapes 1 et 2 de la section Utilisation [des collections de recherche vectorielle](https://docs.aws.amazon.com/opensearch-service/latest/developerguide/serverless-vector-search.html) dans le manuel Amazon OpenSearch Service Developer Guide. Tenez compte des éléments suivants lors de la configuration de votre collection :

   1. Donnez un nom et une description de votre choix à la collection.

   1. Pour rendre votre collection privée, sélectionnez **Création standard** dans la section **Sécurité**. Ensuite, dans la section **Paramètres d’accès réseau**, sélectionnez **VPC** comme **Type d’accès** et choisissez un point de terminaison de VPC. Pour plus d'informations sur la configuration d'un point de terminaison VPC pour une collection Amazon Serverless, consultez Access [Amazon OpenSearch OpenSearch Serverless à l'aide d'un point de terminaison d'interface ()AWS PrivateLink dans](https://docs.aws.amazon.com/opensearch-service/latest/developerguide/serverless-vpc.html) le manuel Amazon OpenSearch Service Developer Guide.

1. Une fois la collection créée, notez l’**ARN de la collection**, qui vous est utile lorsque vous créez la base de connaissances.

1. Dans le panneau de navigation de gauche, sélectionnez **Collections** sous **Sans serveur**. Sélectionnez ensuite votre collection de recherche vectorielle.

1. Cliquez sur l’onglet **Index**. Choisissez ensuite **Créer un index vectoriel**.

1. Dans la section **Détails de l’index vectoriel**, saisissez le nom de votre index dans le champ **Nom de l’index vectoriel**.

1. Dans la section **Champs vectoriels**, choisissez **Ajouter un champ vectoriel**. Amazon Bedrock stocke les vectorisations pour votre source de données dans ce champ. Fournissez les configurations suivantes :
   + **Nom du champ vectoriel** : donnez un nom au champ (par exemple **embeddings**).
   + **Moteur** : moteur vectoriel utilisé pour la recherche. Sélectionnez **faiss**.
   + **Dimensions** : nombre de dimensions du vecteur. Consultez le tableau suivant pour déterminer le nombre de dimensions que le vecteur doit contenir :  
****    
[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/fr_fr/bedrock/latest/userguide/knowledge-base-setup.html)
   + **Métrique de distance** : métrique permettant de mesurer la similarité entre les vecteurs. Nous vous recommandons d’utiliser **Euclidien** pour les vectorisations à virgule flottante.

1. Développez la section **Gestion des métadonnées** et ajoutez deux champs pour configurer l’index vectoriel afin de stocker des métadonnées supplémentaires qu’une base de connaissances pourra récupérer à l’aide de vecteurs. Le tableau suivant décrit les champs et les valeurs à spécifier pour chaque champ :  
****    
[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/fr_fr/bedrock/latest/userguide/knowledge-base-setup.html)

1. Notez les noms que vous avez choisis pour le nom d’index vectoriel, le nom de champ vectoriel et les noms de champs de mappage pour la gestion des métadonnées, qui vous sont utiles lorsque vous créez votre base de connaissances. Ensuite, choisissez **Créer**.

Une fois l’index vectoriel créé, vous pouvez [créer votre base de connaissances](knowledge-base-create.md). Le tableau suivant indique où vous allez saisir chaque information que vous avez notée :


| Champ | Champ correspondant dans la configuration de la base de connaissances (console) | Champ correspondant dans la configuration de la base de connaissances (API) | Description | 
| --- | --- | --- | --- | 
| ARN de la collection | ARN de la collection | collectionARN | Amazon Resource Name (ARN) de la collection de recherche vectorielle. | 
| Nom de l’index vectoriel | Nom de l’index vectoriel | vectorIndexName | Nom de l’index vectoriel. | 
| Nom du champ vectoriel | Champ vectoriel | vectorField | Nom du champ dans lequel stocker les vectorisations pour vos sources de données. | 
| Gestion des métadonnées (premier champ de mappage) | Champ de texte | textField | Nom du champ dans lequel stocker le texte brut provenant de vos sources de données. | 
| Gestion des métadonnées (deuxième champ de mappage) | Champ de métadonnées géré par Bedrock | metadataField | Nom du champ dans lequel stocker les métadonnées gérées par Amazon Bedrock.  | 

Pour une documentation plus détaillée sur la configuration d'un magasin vectoriel dans Amazon OpenSearch Serverless, consultez la section [Utilisation des collections de recherche vectorielle](https://docs.aws.amazon.com/opensearch-service/latest/developerguide/serverless-vector-search.html) dans le manuel Amazon OpenSearch Service Developer Guide.

------
#### [ Amazon OpenSearch Service Managed Clusters ]

**Important**  
Avant d'utiliser des ressources de domaine dans des clusters OpenSearch gérés, vous devez configurer certaines autorisations et politiques d'accès IAM. Pour de plus amples informations, veuillez consulter [Conditions préalables et autorisations requises pour utiliser les clusters OpenSearch gérés avec les bases de connaissances Amazon BedrockVue d’ensemble de la configuration des autorisations](kb-osm-permissions-prereq.md).
Si vous rencontrez des problèmes d'ingestion de données, cela peut indiquer une capacité OpenSearch de domaine insuffisante. Pour résoudre ce problème, augmentez la capacité de votre domaine en allouant des IOPS plus élevées et en augmentant les paramètres de débit. Pour plus d'informations, consultez [Bonnes pratiques opérationnelles pour Amazon OpenSearch Service](https://docs.aws.amazon.com/opensearch-service/latest/developerguide/bp.html).

1. Pour créer un domaine et un index vectoriel dans OpenSearch Cluster in the AWS Management Console, suivez les étapes décrites dans la section [Création et gestion de domaines de OpenSearch service](https://docs.aws.amazon.com/opensearch-service/latest/developerguide/createupdatedomains.html) dans le manuel *Amazon OpenSearch Service Developer Guide*.

   Tenez compte des éléments suivants lors de la configuration de votre domaine :

   1. Donnez le nom de votre choix au domaine.

   1. Nous vous recommandons de commencer rapidement à créer votre domaine à l’aide de l’option **Création facile**.
**Note**  
Cette option vous permet de bénéficier d’un domaine à faible débit. Si vous avez des charges de travail plus importantes qui nécessitent un débit plus élevé, choisissez l’option **Création standard**. Vous pourrez ajuster la capacité ultérieurement si nécessaire. Avec cette option, vous pouvez commencer avec la capacité la plus faible, qui pourra être modifiée ultérieurement si nécessaire.

   1. Pour Réseau, vous devez choisir **Accès public**. OpenSearch les domaines situés derrière un VPC ne sont pas pris en charge par votre base de connaissances.

   1. Pour **Version**, si vous utilisez des vectorisations binaires, Amazon Bedrock Knowledge Bases nécessite une version 2.16 ou ultérieure du moteur. En outre, une version 2.13 ou supérieure est requise pour créer un index k-nn. Pour plus d'informations, consultez [K-NN Search](https://docs.aws.amazon.com/opensearch-service/latest/developerguide/knn.html) dans le *guide du développeur Amazon OpenSearch Service*.

   1. Nous vous recommandons d’utiliser le **Mode double pile**.

   1. Nous vous recommandons d'activer le **contrôle d'accès détaillé** pour protéger les données de votre domaine et de contrôler davantage les autorisations qui accordent à votre rôle de service de base de connaissances l'accès au OpenSearch domaine et l'envoi de demandes.

   1. Conservez les valeurs par défaut pour tous les autres paramètres, puis choisissez **Créer** pour créer votre domaine.

1. Une fois le domaine créé, cliquez dessus pour noter l’**ARN du domaine** et le **Point de terminaison du domaine**, qui vous sont utiles lorsque vous créez la base de connaissances.

1. Après avoir créé le domaine, vous pouvez créer un index vectoriel en exécutant les commandes suivantes sur un OpenSearch tableau de bord ou en utilisant les commandes curl. Pour plus d’informations, consultez la [documentation OpenSearch ](https://opensearch.org/docs/latest/search-plugins/knn/knn-index/).

   Lors de l’exécution de la commande :
   + Donnez un nom au champ vectoriel (par exemple **embeddings**).
   + Assurez-vous que le vecteur utilisé pour la recherche est **faiss**. **nmslib** n’est pas pris en charge.
   + Consultez le tableau suivant pour déterminer le nombre de dimensions que le vecteur doit contenir :
**Note**  
Le modèle Vectorisations Titan V2 - Texte prend en charge plusieurs dimensions. Il peut également être 256 ou 512.  
****    
[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/fr_fr/bedrock/latest/userguide/knowledge-base-setup.html)
   + Vous pouvez ajouter deux champs pour configurer l’index vectoriel afin de stocker des métadonnées supplémentaires qu’une base de connaissances pourra récupérer à l’aide de vecteurs. Le tableau suivant décrit les champs et les valeurs à spécifier pour chacun d’entre eux :  
****    
[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/fr_fr/bedrock/latest/userguide/knowledge-base-setup.html)

   ```
   PUT /<index-name>
   {
       "settings": {
           "index": {
               "knn": true
           }
       },
       "mappings": {
           "properties": {
               "<vector-name>": {
                   "type": "knn_vector",
                   "dimension": <embedding-dimension>,
                   "data_type": "binary",          # Only needed for binary embeddings
                   "space_type": "l2" | "hamming", # Use l2 for float embeddings and hamming for binary embeddings
                   "method": {
                       "name": "hnsw",
                       "engine": "faiss",
                       "parameters": {
                           "ef_construction": 128,
                           "m": 24
                       }
                   }
               },
   
               "AMAZON_BEDROCK_METADATA": {
                   "type": "text",
                   "index": "false"
               },
               "AMAZON_BEDROCK_TEXT_CHUNK": {
                   "type": "text",
                   "index": "true"            
               }
           }
       }
   }
   ```

1. Notez l’ARN et le point de terminaison du domaine, ainsi que les noms que vous avez choisis pour le nom d’index vectoriel, le nom de champ vectoriel et les noms de champs de mappage pour la gestion des métadonnées, qui vous sont utiles lorsque vous créez votre base de connaissances.

Une fois l’index vectoriel créé, vous pouvez [créer votre base de connaissances](knowledge-base-create.md). Le tableau suivant indique où vous allez saisir chaque information que vous avez notée :


| Champ | Champ correspondant dans la configuration de la base de connaissances (console) | Champ correspondant dans la configuration de la base de connaissances (API) | Description | 
| --- | --- | --- | --- | 
| ARN du domaine | ARN du domaine | domainARN | Le nom de ressource Amazon (ARN) du OpenSearch domaine. | 
| Point de terminaison du domaine | Point de terminaison du domaine | domainEndpoint | Le point de terminaison pour se connecter au OpenSearch domaine. | 
| Nom de l’index vectoriel | Nom de l’index vectoriel | vectorIndexName | Nom de l’index vectoriel. | 
| Nom du champ vectoriel | Champ vectoriel | vectorField | Nom du champ dans lequel stocker les vectorisations pour vos sources de données. | 
| Gestion des métadonnées (premier champ de mappage) | Champ de texte | textField | Nom du champ dans lequel stocker le texte brut provenant de vos sources de données. | 
| Gestion des métadonnées (deuxième champ de mappage) | Champ de métadonnées géré par Bedrock | metadataField | Nom du champ dans lequel stocker les métadonnées gérées par Amazon Bedrock.  | 

------
#### [ Amazon S3 Vectors ]

Amazon S3 Vectors fournit un magasin de vecteurs économique dans Amazon S3 qui permet de stocker et d’interroger des données vectorielles. Il fournit un stockage durable et élastique de grands jeux de données vectorielles avec des performances d’interrogation inférieures à la seconde. Amazon S3 Vectors est parfaitement adapté aux charges de travail d’interrogation peu fréquentes et permet de réduire les coûts en cas d’utilisation dans des applications de génération à enrichissement contextuel (RAG) et de recherche sémantique.

Amazon S3 Vectors introduit les compartiments vectoriels S3, qui contiennent des index vectoriels que vous pouvez interroger en fonction de leur signification sémantique et de leur similitude. Il permet de fournir des temps de réponse aux requêtes inférieurs à la seconde et réduire les coûts tout en stockant des données vectorielles à grande échelle, en y accédant et en les interrogeant sans allouer d’infrastructure. Dans un compartiment vectoriel, vous pouvez organiser vos données vectorielles dans des index vectoriels. Votre compartiment vectoriel peut comporter plusieurs index vectoriels. Pour plus d’informations, consultez [Amazon S3 Vectors](https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-vectors.html) dans le *Guide de l’utilisateur Amazon S3*.

**Note**  
Vous pouvez créer une base de connaissances pour les vecteurs Amazon S3 dans tous les Région AWS sites où Amazon Bedrock et Amazon S3 Vectors sont disponibles. Pour plus d’informations sur la disponibilité régionale d’Amazon S3 Vectors, consultez [Amazon S3 Vectors](https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-vectors.html) dans le *Guide de l’utilisateur Amazon S3*.
Lorsque vous utilisez un nombre de jetons très élevé avec un découpage hiérarchique dans les bases de connaissances Amazon Bedrock, vous pouvez dépasser les limites de taille maximale des métadonnées, car les relations entre les fragments parent-enfant et le contexte hiérarchique sont stockés sous forme de métadonnées non filtrables dans les vecteurs Amazon S3. Pour plus d'informations sur les limites de taille des métadonnées par vecteur, consultez la section [Limitations et restrictions](https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-vectors-limitations.html) du *guide de l'utilisateur Amazon S3*. Pour en savoir plus sur les stratégies de fragmentation, consultez [Fonctionnement du découpage du contenu pour les bases de connaissances](kb-chunking.md).
<a name="metadata-support"></a>
**Prise en charge des métadonnées**  
Vous pouvez associer des métadonnées sous forme de paires clé-valeur à chaque vecteur. Par défaut, les métadonnées sont filtrables et peuvent être utilisées dans les requêtes de recherche de similarité pour filtrer en fonction de conditions telles que les dates, les catégories ou les préférences de l'utilisateur.

Vous pouvez également configurer les métadonnées pour qu'elles ne soient pas filtrables lors de la création de l'index vectoriel. Les index vectoriels Amazon S3 prennent en charge les types Chaîne, Booléen et Nombre.

Lorsque vous utilisez des vecteurs Amazon S3 avec les bases de connaissances Amazon Bedrock, vous pouvez joindre jusqu'à 1 Ko de métadonnées personnalisées (y compris des métadonnées filtrables et non filtrables) et 35 clés de métadonnées par vecteur. Pour plus d'informations sur les limites de taille des métadonnées par vecteur, consultez la section [Limitations et restrictions](https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-vectors-limitations.html) du *guide de l'utilisateur Amazon S3*.

Si les métadonnées dépassent ces limites, la tâche d'ingestion génère une exception lors du remplissage de l'index vectoriel. Pour plus d’informations, consultez [Amazon S3 Vectors](https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-vectors.html) dans le *Guide de l’utilisateur Amazon S3*.

**Autorisations requises**  
Assurez-vous que votre politique IAM autorise Amazon Bedrock à accéder à votre index vectoriel dans le compartiment vectoriel S3. Pour plus d’informations sur les autorisations requises, consultez [Création d’un rôle de service pour les bases de connaissances Amazon Bedrock](kb-permissions.md).

**Création d’un compartiment vectoriel S3 et d’un index vectoriel**  
Pour utiliser Amazon S3 Vectors avec votre base de connaissances, vous devez créer un compartiment vectoriel S3 et un index vectoriel. Vous pouvez créer un compartiment vectoriel et un index à l'aide de la console Amazon S3 ou du AWS SDK. AWS CLI Pour obtenir des instructions détaillées, consultez [Création d’un index vectoriel](https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-vectors-index-create.html) dans le *Guide de l’utilisateur Amazon S3*.

Tenez compte des éléments suivants lors de la création de vos compartiment et index vectoriels dans la [console Amazon S3](https://console.aws.amazon.com/s3/vector-buckets#).

1. Lorsque vous créez votre compartiment vectoriel S3, tenez compte des éléments suivants.
   + Fournissez un **nom de compartiment vectoriel** unique.
   + (Facultatif) Amazon S3 chiffre automatiquement les données à l’aide du **chiffrement par défaut côté serveur avec les clés gérées par Amazon S3 (SSE-S3)**. Vous pouvez choisir d'utiliser ce chiffrement par défaut ou le **chiffrement côté serveur avec des clés du service de gestion des AWS clés (SSE-KMS**) à la place.
**Note**  
Le type de chiffrement ne peut pas être modifié une fois que le compartiment vectoriel a été créé.

     Pour step-by-step obtenir des instructions, consultez la section [Chiffrement avec des clés AWS KMS](https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-vectors-bucket-encryption.html).

1. Une fois que vous avez créé le compartiment vectoriel S3, notez l’**Amazon Resource Name (ARN)** du compartiment vectoriel, qui vous est utile lorsque vous créez la base de connaissances.

1. Choisissez le compartiment vectoriel que vous avez créé, puis créez un index vectoriel. Lorsque vous créez l’index vectoriel, tenez compte des éléments suivants.
   + **Nom de l’index vectoriel** : donnez un nom au champ (par exemple **embeddings**).
   + **Dimensions** : nombre de dimensions du vecteur. Ce nombre doit être compris entre 1 et 4 096. Consultez le tableau suivant pour déterminer le nombre de dimensions que le vecteur doit contenir en fonction de votre sélection du modèle de vectorisation :  
****    
[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/fr_fr/bedrock/latest/userguide/knowledge-base-setup.html)
   + 
**Note**  
Amazon S3 Vectors ne prend en charge que les vectorisations à virgule flottante. Les vectorisations binaires ne sont pas prises en charge.

     **Métrique de distance** : métrique permettant de mesurer la similarité entre les vecteurs. Vous pouvez utiliser **Cosinus** ou **Euclidien**.

1. Développez les **Paramètres supplémentaires** et saisissez toutes les métadonnées non filtrables dans le champ **Métadonnées non filtrables**.

   Vous pouvez configurer jusqu’à 10 clés de métadonnées non filtrables. Choisissez **Ajouter une clé**, puis ajoutez `AMAZON_BEDROCK_TEXT` et `AMAZON_BEDROCK_METADATA` en tant que clés.

1. Sous **Chiffrement**, choisissez **Spécifier le type de chiffrement**. Vous avez la possibilité d'**utiliser les paramètres du bucket pour le chiffrement** ou de remplacer les paramètres de chiffrement de l'index vectoriel. Si vous remplacez les paramètres au niveau du compartiment, vous avez la possibilité de spécifier le type de chiffrement pour l'index vectoriel : chiffrement côté **serveur avec AWS des clés du service de gestion des clés (SSE-KMS) ou chiffrement côté serveur par défaut avec des clés gérées par **Amazon S3 (SSE-S3**)**. Pour plus d'informations sur la définition de la configuration du chiffrement pour les index vectoriels, consultez [Protection des données et chiffrement dans Amazon S3 Vectors](https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-vectors-data-encryption.html).

1. Sous **Tags (facultatif)**, vous pouvez ajouter des balises sous forme de paires clé-valeur afin de suivre et d'organiser les coûts des indices vectoriels à l'aide de AWS Billing and Cost Management. Saisissez une **Key (Clé)** et une **Value (Valeur)**. Choisissez **Add Tag (Ajouter une balise)** pour ajouter une autre balise. Vous pouvez saisir jusqu'à 50 balises pour un index vectoriel. Pour plus d'informations, consultez la section [Utilisation de balises avec les index vectoriels Amazon S3](https://docs.aws.amazon.com/console/s3/vector-index-create-with-tag).

1. Créez l’index vectoriel et notez l’**Amazon Resource Name (ARN)** de l’index vectoriel, qui vous est utile lorsque vous créez la base de connaissances.

**Création d’une base de connaissances pour le compartiment vectoriel S3**  
Après avoir rassemblé ces informations, vous pouvez [créer votre base de connaissances](knowledge-base-create.md). Lorsque vous créez votre base de connaissances avec le compartiment vectoriel S3, vous devez fournir l’ARN du compartiment vectoriel et de l’index vectoriel. L’index vectoriel stockera les vectorisations générées à partir de vos sources de données. Le tableau suivant récapitule l’endroit où vous allez saisir chaque information :


| Champ | Champ correspondant dans la configuration de la base de connaissances (console) | Champ correspondant dans la configuration de la base de connaissances (API) | Description | 
| --- | --- | --- | --- | 
| ARN du compartiment vectoriel | ARN du compartiment vectoriel S3 | vectorBucketArn | Amazon Resource Name (ARN) de votre compartiment vectoriel S3. | 
| ARN de l’index vectoriel | ARN de l’index vectoriel S3 | vectorIndexARN | Amazon Resource Name (ARN) de l’index vectoriel pour votre compartiment vectoriel S3. | 

------
#### [ Amazon Aurora (RDS) ]

1. Créez un cluster de bases de données (DB) Amazon Aurora, un schéma et une table en suivant les étapes décrites dans [Utilisation d’Aurora PostgreSQL comme base de connaissances](https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/AuroraPostgreSQL.VectorDB.html). Lorsque vous créez la table, configurez-la avec les colonnes et types de données suivants. Vous pouvez utiliser des noms de colonne de votre choix au lieu de ceux indiqués dans le tableau suivant. Notez les noms de colonne que vous choisissez afin de pouvoir les fournir lors de la configuration de la base de connaissances.

   Vous devez renseigner ces champs avant de créer la base de connaissances. Ils ne peuvent pas être mis à jour une fois la base de connaissances créée.
**Important**  
Le cluster Aurora doit résider dans le même emplacement Compte AWS que celui dans lequel la base de connaissances a été créée pour Amazon Bedrock.  
****    
[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/fr_fr/bedrock/latest/userguide/knowledge-base-setup.html)

1. Vous devez créer un index sur le vecteur des colonnes et le texte pour vos champs de texte et de vectorisation. Si vous utilisez le champ de métadonnées personnalisées, vous devez également créer un index GIN sur cette colonne. Les index GIN permettent de rechercher efficacement des paires clé-valeur dans des documents jsonb à des fins de filtrage des métadonnées. Pour plus d’informations, consultez [indexation jsonb](https://www.postgresql.org/docs/current/datatype-json.html#JSON-INDEXING) dans la *documentation PostgreSQL*.  
****    
[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/fr_fr/bedrock/latest/userguide/knowledge-base-setup.html)
**Note**  
Pour améliorer la précision et la latence des recherches hybrides avec du contenu en anglais, pensez à utiliser le dictionnaire « anglais » au lieu du dictionnaire « simple » :  

   ```
   CREATE INDEX ON bedrock_integration.bedrock_kb USING gin (to_tsvector('english', chunks));
   ```

1. (Facultatif) Si vous avez [ajouté des métadonnées à vos fichiers à des fins de filtrage](kb-test-config.md), nous vous recommandons de fournir le nom de colonne dans le champ de métadonnées personnalisées afin de stocker toutes vos métadonnées dans une seule colonne. Lors de l’[ingestion de données](kb-data-source-sync-ingest.md), cette colonne est renseignée avec toutes les informations contenues dans les fichiers de métadonnées provenant de vos sources de données. Si vous choisissez de renseigner ce champ, vous devez créer un index GIN sur cette colonne.
**Note**  
Si vous utilisez fréquemment des filtres de plage sur des métadonnées numériques, créez un index pour la clé concernée afin d’optimiser les performances. Par exemple, si vous utilisez des filtres tels que `"lessThan": { "key": "year", "value": 1989 }`, créez un index d’expression sur la clé `year`. Pour plus d’informations, consultez [Index sur des expressions](https://www.postgresql.org/docs/current/indexes-expressional.html) dans la *documentation PostgreSQL*.  

   ```
   CREATE INDEX ON your_table ((custom_metadata->>'year')::double precision
   ```

   Sinon, si vous ne fournissez pas ce nom de champ, vous pouvez créer une colonne pour chaque attribut de métadonnées de vos fichiers et spécifier le type de données (texte, nombre ou booléen). Par exemple, si l’attribut `genre` existe dans votre source de données, vous devez ajouter une colonne nommée `genre` et spécifier `text` comme type de données. Lors de l’[ingestion de données](kb-data-source-sync-ingest.md), ces colonnes distinctes sont renseignées avec les valeurs d’attribut correspondantes.

1. Configurez un AWS Secrets Manager secret pour votre cluster de base de données Aurora en suivant les étapes décrites dans [Gestion des mots de passe avec Amazon Aurora et AWS Secrets Manager](https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/rds-secrets-manager.html).

1. Notez les informations suivantes après avoir créé votre cluster de bases de données et configuré le secret :  
****    
[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/fr_fr/bedrock/latest/userguide/knowledge-base-setup.html)

------
#### [ Neptune Analytics graphs (GraphRAG) ]

1. Pour créer un graphique et un magasin de vecteurs dans l’analytique Neptune dans la AWS Management Console, suivez les étapes décrites dans [Indexation vectorielle dans l’analytique Neptune](https://docs.aws.amazon.com/neptune-analytics/latest/userguide/vector-index.html) dans le *Guide de l’utilisateur de l’analytique Neptune*.
**Note**  
Pour utiliser Neptune GraphRAG, créez un graphique d’analytique Neptune vide avec un index de recherche vectorielle. L’index de recherche vectorielle peut être créé seulement si le graphique est créé. Lorsque vous créez un [graphique d’analytique Neptune dans la console](https://docs.aws.amazon.com/neptune-analytics/latest/userguide/create-graph-using-console.html), vous spécifiez la dimension de l’index dans les **Paramètres de recherche vectorielle** vers la fin du processus.

   Tenez compte des éléments suivants lors de la création du graphique :

   1. Donnez le nom de votre choix au graphique.

   1. Sous **Source de données**, choisissez **Créer un graphique vide** et spécifiez le nombre de m- NCUs à allouer. Chaque m-NCU possède une capacité de mémoire d’environ un GiB, ainsi que des capacités de calcul et de mise en réseau correspondantes.
**Note**  
La capacité de votre graphique peut être modifiée ultérieurement. Nous vous recommandons de commencer par la plus petite instance, puis d’en choisir une autre, si nécessaire.

   1. Vous pouvez conserver les paramètres de connectivité réseau par défaut. Amazon Bedrock créera une connexion réseau avec le graphique d’analytique Neptune auquel vous associez la base de connaissances. Il n’est pas nécessaire de configurer la connectivité publique ou les points de terminaison privés pour votre graphique.

   1. Sous **Paramètres de recherche vectorielle**, choisissez **Utiliser la dimension vectorielle** et spécifiez le nombre de dimensions de chaque vecteur.
**Note**  
Le nombre de dimensions de chaque vecteur doit correspondre aux dimensions vectorielles du modèle de vectorisation. Consultez le tableau suivant pour déterminer le nombre de dimensions que le vecteur doit contenir :  
****    
[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/fr_fr/bedrock/latest/userguide/knowledge-base-setup.html)

   1. Conservez les valeurs par défaut pour tous les autres paramètres et créez le graphique.

1. Une fois le graphique créé, cliquez dessus pour noter l’**ARN de la ressource** et les **Dimensions vectorielles**, qui vous sont utiles lorsque vous créez la base de connaissances. Lorsque vous choisissez le modèle de vectorisation dans Amazon Bedrock, veillez à choisir un modèle ayant les mêmes dimensions que les **Dimensions vectorielles** que vous avez configurées sur votre graphique d’analytique Neptune.

Une fois l’index vectoriel créé, vous pouvez [créer votre base de connaissances](knowledge-base-create.md). Le tableau suivant indique où vous allez saisir chaque information que vous avez notée :


| Champ | Champ correspondant dans la configuration de la base de connaissances (console) | Champ correspondant dans la configuration de la base de connaissances (API) | Description | 
| --- | --- | --- | --- | 
| ARN du graphique | ARN du graphique d’analytique Neptune | graphARN | Amazon Resource Name (ARN) du graphique d’analytique Neptune. | 
| Gestion des métadonnées (premier champ de mappage) | Nom du champ de texte | textField | Nom du champ dans lequel stocker le texte brut provenant de vos sources de données. Vous pouvez fournir toute valeur pour ce champ, par exemple texte. | 
| Gestion des métadonnées (deuxième champ de mappage) | Champ de métadonnées géré par Bedrock | metadataField | Nom du champ dans lequel stocker les métadonnées gérées par Amazon Bedrock. Vous pouvez fournir toute valeur pour ce champ, par exemple métadonnées. | 

------
#### [ Pinecone ]

**Note**  
Si vous l'utilisezPinecone, vous acceptez d'autoriser l'accès AWS à la source tierce désignée en votre nom afin de vous fournir des services de boutique vectorielle. Vous êtes tenu de respecter toutes les conditions tierces applicables pour l’utilisation et le transfert de données à partir du service tiers.

Pour obtenir une documentation détaillée sur la configuration d’un magasin de vecteurs dans Pinecone, consultez [Pinecone comme base de connaissances pour Amazon Bedrock](https://docs.pinecone.io/docs/amazon-bedrock).

Lorsque vous configurez le magasin de vecteurs, notez les informations suivantes, que vous renseignerez lors de la création d’une base de connaissances :
+ **URL du point de terminaison** : URL du point de terminaison de la page de gestion d’index.
+ **ARN secret des informations d'identification** : nom de ressource Amazon (ARN) du secret que vous avez créé et AWS Secrets Manager qui contient le nom d'utilisateur et le mot de passe d'un utilisateur de base de données.
+ **(Facultatif) Clé KMS gérée par le client pour l’ARN du secret des informations d’identification** : si vous avez chiffré l’ARN du secret des informations d’identification, fournissez la clé KMS afin qu’Amazon Bedrock puisse le déchiffrer. 
+ **Espace de noms** : (Facultatif) espace de noms permettant d’écrire de nouvelles données dans votre base de données. Pour plus d’informations, consultez [Utilisation d’espaces de noms](https://docs.pinecone.io/docs/namespaces).

Vous devez fournir des configurations supplémentaires lors de la création d’un index Pinecone :
+ **Nom du champ de texte** : nom du champ dans lequel Amazon Bedrock doit stocker les fragments de texte brut.
+ **Nom du champ de métadonnées** : nom du champ dans lequel Amazon Bedrock doit stocker les métadonnées d’attribution de la source.

Pour accéder à votre index Pinecone, vous devez fournir la clé d’API Pinecone à Amazon Bedrock via AWS Secrets Manager.

**Pour définir un secret pour votre configuration Pinecone**

1. Suivez les étapes décrites dans [Créer un AWS Secrets Manager secret](https://docs.aws.amazon.com/secretsmanager/latest/userguide/create_secret.html), en définissant la clé `apiKey` et la valeur comme clé d'API pour accéder à votre Pinecone index.

1. Pour trouver votre clé d’API, ouvrez la [console Pinecone](https://app.pinecone.io/) et sélectionnez **Clés d’API**.

1. Après avoir créé le secret, prenez note de l’ARN de la clé KMS.

1. Associez des autorisations à votre fonction du service pour déchiffrer l’ARN de la clé KMS en suivant les étapes décrites dans [Autorisations permettant de déchiffrer un AWS Secrets Manager secret pour le magasin de vecteurs contenant votre base de connaissances](encryption-kb.md#encryption-kb-3p).

1. Ultérieurement, lorsque vous créerez votre base de connaissances, entrez l’ARN dans le champ **ARN du secret des informations d’identification**.

------
#### [ Redis Enterprise Cloud ]

**Note**  
Si vous l'utilisezRedis Enterprise Cloud, vous acceptez d'autoriser l'accès AWS à la source tierce désignée en votre nom afin de vous fournir des services de boutique vectorielle. Vous êtes tenu de respecter toutes les conditions tierces applicables pour l’utilisation et le transfert de données à partir du service tiers.

Pour obtenir une documentation détaillée sur la configuration d’un magasin de vecteurs dans Redis Enterprise Cloud, consultez [Intégration de Redis Enterprise Cloud à Amazon Bedrock](https://docs.redis.com/latest/rc/cloud-integrations/aws-marketplace/aws-bedrock/).

Lorsque vous configurez le magasin de vecteurs, notez les informations suivantes, que vous renseignerez lors de la création d’une base de connaissances :
+ **URL du point de terminaison** : URL du point de terminaison public de votre base de données.
+ **Nom de l’index vectoriel** : nom de l’index vectoriel de votre base de données.
+ **Champ vectoriel** : champ dans lequel les vectorisations seront stockées. Consultez le tableau suivant pour déterminer le nombre de dimensions que le vecteur doit contenir :  
****    
[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/fr_fr/bedrock/latest/userguide/knowledge-base-setup.html)
+ **Champ de texte** : nom du champ dans lequel Amazon Bedrock stocke les fragments de texte brut.
+ **Champ de métadonnées géré par Bedrock** : nom du champ dans lequel Amazon Bedrock stocke les métadonnées relatives à votre base de connaissances.

Pour accéder au cluster Redis Enterprise Cloud, vous devez fournir votre configuration de sécurité Redis Enterprise Cloud à Amazon Bedrock via AWS Secrets Manager.

**Pour définir un secret pour votre configuration Redis Enterprise Cloud**

1. Activez TLS pour utiliser la base de données avec Amazon Bedrock en suivant les étapes décrites dans [Transport Layer Security (TLS)](https://docs.redis.com/latest/rc/security/database-security/tls-ssl/).

1. Suivez les étapes décrites dans la [section Créer un AWS Secrets Manager secret](https://docs.aws.amazon.com/secretsmanager/latest/userguide/create_secret.html). Configurez les clés suivantes avec les valeurs appropriées de la configuration Redis Enterprise Cloud dans le secret :
   + `username` : nom d’utilisateur pour accéder à votre base de données Redis Enterprise Cloud. Pour trouver votre nom d’utilisateur, consultez la section **Sécurité** de votre base de données dans la [console Redis](http://app.redislabs.com/).
   + `password` : mot de passe pour accéder à votre base de données Redis Enterprise Cloud. Pour trouver votre mot de passe, consultez la section **Sécurité** de votre base de données dans la [console Redis](http://app.redislabs.com/).
   + `serverCertificate` : contenu du certificat délivré par l’autorité de certification Redis Cloud. Téléchargez le certificat de serveur depuis la console d’administration Redis en suivant les étapes de la section [Télécharger les certificats](https://docs.redis.com/latest/rc/security/database-security/tls-ssl/#download-certificates).
   + `clientPrivateKey` : clé privée du certificat délivré par l’autorité de certification Redis Cloud. Téléchargez le certificat de serveur depuis la console d’administration Redis en suivant les étapes de la section [Télécharger les certificats](https://docs.redis.com/latest/rc/security/database-security/tls-ssl/#download-certificates).
   + `clientCertificate` : clé publique du certificat délivré par l’autorité de certification Redis Cloud. Téléchargez le certificat de serveur depuis la console d’administration Redis en suivant les étapes de la section [Télécharger les certificats](https://docs.redis.com/latest/rc/security/database-security/tls-ssl/#download-certificates).

1. Après avoir créé le secret, prenez note de son ARN. Ultérieurement, lorsque vous créerez votre base de connaissances, entrez l’ARN dans le champ **ARN secret des informations d’identification**.

------
#### [ MongoDB Atlas ]

**Note**  
Si vous utilisez MongoDB Atlas, vous acceptez d'autoriser l'accès AWS à la source tierce désignée en votre nom afin de vous fournir des services de boutique vectorielle. Vous êtes tenu de respecter toutes les conditions tierces applicables pour l’utilisation et le transfert de données à partir du service tiers.

Pour obtenir une documentation détaillée sur la configuration d’un magasin de vecteurs dans MongoDB Atlas, consultez [Lancement d’un flux de travail RAG entièrement géré avec MongoDB Atlas et Amazon Bedrock](https://www.mongodb.com/developer/products/atlas/rag-workflow-with-atlas-amazon-bedrock/).

Lorsque vous configurez le magasin de vecteurs, notez les informations suivantes, que vous renseignerez lors de la création d’une base de connaissances :
+ **URL du point de terminaison** : URL du point de terminaison de votre cluster MongoDB Atlas.
+ **Nom de la base de données** : nom de la base de données de votre cluster MongoDB Atlas.
+ **Nom de la collection** : nom de la collection dans votre base de données.
+ **ARN secret des informations d'identification** : nom de ressource Amazon (ARN) du secret que vous avez créé et AWS Secrets Manager qui contient le nom d'utilisateur et le mot de passe d'un utilisateur de base de données dans votre cluster MongoDB Atlas. Le secret doit contenir les clés nommées `username` et `password`.
+ **(Facultatif) Clé KMS gérée par le client pour l’ARN du secret des informations d’identification** : si vous avez chiffré l’ARN du secret des informations d’identification, fournissez la clé KMS afin qu’Amazon Bedrock puisse le déchiffrer. 

Vous devez fournir des configurations supplémentaires à des fins de **Mappage des champs** lors de la création d’un index MongoDB Atlas :
+ **Nom de l’index vectoriel** : nom de l’index de recherche vectorielle MongoDB Atlas de votre collection.
+ **Nom du champ vectoriel** : nom du champ dans lequel Amazon Bedrock doit stocker les vectorisations.
+ **Nom du champ de texte** : nom du champ dans lequel Amazon Bedrock doit stocker les fragments de texte brut.
+ **Nom du champ de métadonnées** : nom du champ dans lequel Amazon Bedrock doit stocker les métadonnées d’attribution de la source.
+ **(Facultatif) Nom de l’index de recherche de texte** : nom de l’index de recherche MongoDB Atlas de votre collection.

**Important**  
Si vous envisagez d’utiliser le filtrage des métadonnées avec votre base de connaissances MongoDB Atlas, vous devez configurer manuellement les filtres dans votre index vectoriel. Le filtrage des métadonnées ne fonctionne pas par défaut et nécessite un paramétrage supplémentaire dans la configuration de votre index vectoriel MongoDB Atlas.

(Facultatif) Pour qu'Amazon Bedrock se connecte à votre cluster MongoDB Atlas, [consultez le flux de travail AWS PrivateLink RAG avec MongoDB](https://www.mongodb.com/developer/products/atlas/rag-workflow-with-atlas-amazon-bedrock/) Atlas à l'aide d'Amazon Bedrock.

------

# Conditions préalables et autorisations requises pour utiliser les clusters OpenSearch gérés avec les bases de connaissances Amazon Bedrock
<a name="kb-osm-permissions-prereq"></a>

Cette section explique comment configurer les autorisations si vous créez votre propre base de données vectorielle avec Amazon OpenSearch Service Managed Clusters. Cette configuration doit être effectuée avant de créer la base de connaissances. Les étapes supposent que vous avez déjà créé un domaine et un index vectoriel dans Amazon OpenSearch Service. Pour plus d'informations, consultez la section [Création et gestion OpenSearch de domaines de service](https://docs.aws.amazon.com/opensearch-service/latest/developerguide/createupdatedomains.html) dans le *guide du développeur Amazon OpenSearch Service*.

## Considérations clés
<a name="kb-osm-permissions-prereq-considerations"></a>

Voici quelques points essentiels à prendre en compte lors de l'utilisation des bases de connaissances Amazon Bedrock avec Amazon OpenSearch Service Managed Clusters.
+ Avant d'utiliser des ressources de domaine dans des clusters OpenSearch gérés, vous devez configurer certaines autorisations et politiques d'accès IAM. Pour intégrer les bases de connaissances aux clusters gérés, avant d’exécuter les étapes décrites dans cette section, si votre domaine possède une stratégie d’accès restrictive, vous devez accorder l’accès IAM requis et configurer les stratégies basées sur les ressources. Nous vous recommandons également de configurer un contrôle d’accès précis afin de limiter les autorisations.
+ Lorsque vous ingérez les données pour votre base de connaissances, si vous rencontrez des défaillances, cela peut indiquer une capacité de OpenSearch domaine insuffisante pour gérer la vitesse d'ingestion. Pour résoudre ce problème, augmentez la capacité de votre domaine en provisionnant des IOPS (opérations d’entrées/de sorties par seconde) plus élevées et en augmentant les paramètres de débit. Attendez quelques minutes que la nouvelle capacité soit provisionnée, puis réessayez le processus d’ingestion. Pour vérifier que le problème a été résolu, vous pouvez surveiller les performances pendant le processus de la nouvelle tentative. Si la limitation persiste, vous devrez peut-être ajuster davantage la capacité pour améliorer l’efficacité. Pour plus d'informations, consultez [Bonnes pratiques opérationnelles pour Amazon OpenSearch Service](https://docs.aws.amazon.com/opensearch-service/latest/developerguide/bp.html).

## Vue d’ensemble de la configuration des autorisations
<a name="kb-osm-permissions-prereq-overview"></a>

Pour intégrer les bases de connaissances aux clusters gérés, vous devez configurer les autorisations d’accès IAM et les stratégies basées sur les ressources suivantes. Nous vous recommandons d’activer des stratégies d’accès précises afin de mieux contrôler l’accès des utilisateurs et la granularité avec laquelle il doit être limité au niveau de la propriété.

Les étapes suivantes présentent une vue d’ensemble générale de la configuration des autorisations.

1. 

**Créer et utiliser un rôle de service de base de connaissances**

   Pour les autorisations que vous souhaitez configurer, bien que vous puissiez toujours fournir votre propre rôle personnalisé, nous vous recommandons de spécifier l’option permettant aux bases de connaissances Amazon Bedrock de créer le rôle de service de base de connaissances pour vous.

1. 

**Configurer une stratégie basée sur les ressources**

   Le OpenSearch domaine prend en charge les politiques basées sur les ressources, qui déterminent les principaux autorisés à accéder au domaine et à agir sur celui-ci. Pour l’utiliser avec les bases de connaissances, assurez-vous que la stratégie basée sur les ressources est correctement configurée pour votre domaine.

1. 

***(Fortement recommandé)* Fournir un mappage des rôles pour un contrôle précis des accès**

   Bien qu’il soit facultatif, nous vous recommandons d’activer le contrôle précis des accès pour contrôler la granularité selon laquelle les autorisations doivent être limitées au niveau de la propriété.

## Configuration des politiques IAM
<a name="kb-osm-permissions-iam"></a>

La politique d'accès de votre domaine doit accorder aux rôles de votre compte les autorisations nécessaires pour effectuer les actions d' OpenSearch API requises.

Si votre domaine dispose d’une stratégie d’accès restrictive, il peut être nécessaire de la mettre à jour comme suit :
+ Elle doit octroyer l’accès au service Amazon Bedrock et inclure les actions HTTP requises : `GET`, `POST`, `PUT` et `DELETE`.
+ Elle doit également octroyer à Amazon Bedrock l’autorisation d’effectuer l’action `es:DescribeDomain` sur votre ressource d’index. Cela permet aux bases de connaissances Amazon Bedrock d’effectuer les validations requises lors de la configuration d’une base de connaissances.

## (Facultatif) Contrôle précis des accès
<a name="kb-osm-permissions-console-fgap"></a>

Le contrôle précis des accès peut contrôler la granularité à laquelle les autorisations doivent être limitées au niveau de la propriété. Vous pouvez configurer des stratégies d’accès précises afin d’octroyer les autorisations de lecture-écriture requises au rôle de service créé par les bases de connaissances.

Pour configurer un contrôle précis des accès et fournir le mappage des rôles :

1. Assurez-vous que le contrôle d'accès détaillé est activé pour le OpenSearch domaine que vous avez créé.

1. Créez une OpenSearch interface utilisateur (tableaux de bord), si ce n'est pas déjà fait. Cela permettra de configurer le mappage des rôles.

1. Dans vos OpenSearch tableaux de bord, créez un OpenSearch rôle et spécifiez le nom de l'index vectoriel, ainsi que les autorisations du cluster et de l'index. Pour ajouter les autorisations, vous devez créer des groupes d’autorisations, puis ajouter les autorisations requises qui octroient l’accès afin d’effectuer un ensemble d’opérations, notamment `delete`, `search`, `get` et `index`, pour le rôle.

1. Après avoir ajouté les autorisations requises, vous devez saisir l'ARN de votre rôle de service de base de connaissances pour le OpenSearch rôle principal. Cette étape achèvera le mappage entre votre rôle de service de base de connaissances et le OpenSearch rôle, qui accordera ensuite à Amazon Bedrock Knowledge Bases les autorisations d'accéder à l'index vectoriel du OpenSearch domaine et d'effectuer les opérations requises.

**Topics**
+ [Considérations clés](#kb-osm-permissions-prereq-considerations)
+ [Vue d’ensemble de la configuration des autorisations](#kb-osm-permissions-prereq-overview)
+ [Configuration des politiques IAM](#kb-osm-permissions-iam)
+ [(Facultatif) Contrôle précis des accès](#kb-osm-permissions-console-fgap)
+ [Configuration de politiques basées sur les ressources pour les clusters gérés OpenSearch](kb-osm-permissions-slr-rbp.md)
+ [Configuration des OpenSearch autorisations avec un contrôle d'accès précis](kb-osm-permissions-console-fgap.md)

# Configuration de politiques basées sur les ressources pour les clusters gérés OpenSearch
<a name="kb-osm-permissions-slr-rbp"></a>

Lorsque vous créez votre base de connaissances, vous pouvez soit créer votre propre rôle personnalisé, soit laisser Amazon Bedrock en créer un pour vous. La façon dont vous configurez les autorisations varie selon que vous créez un nouveau rôle ou que vous utilisez un rôle existant. Si vous possédez déjà un rôle IAM, vous devez vous assurer que la politique d'accès de votre domaine n'empêche pas les rôles de votre compte d'effectuer les actions d' OpenSearch API nécessaires.

Si vous choisissez de laisser les bases de connaissances Amazon Bedrock créer le rôle IAM pour vous, vous devez vous assurer que la politique d'accès de votre domaine accorde les autorisations nécessaires pour effectuer les actions d' OpenSearch API requises par les rôles de votre compte. Si votre domaine possède une stratégie d’accès restrictive, cela peut empêcher votre rôle d’effectuer ces actions. Un exemple de stratégie basée sur les ressources est illustrée ci-dessous.

Vous pouvez dans ce cas :
+ Créez votre base de connaissances à l'aide d'un rôle IAM existant auquel votre OpenSearch domaine peut accorder l'accès à ce rôle pour effectuer les opérations nécessaires.
+ Vous pouvez également laisser Amazon Bedrock créer un nouveau rôle pour vous. Dans ce cas, vous devez vous assurer que la politique d'accès du domaine doit accorder aux rôles de votre compte les autorisations nécessaires pour effectuer les actions d' OpenSearch API nécessaires.

Les sections suivantes présentent un exemple de politique IAM qui accorde les autorisations nécessaires et indiquent comment mettre à jour la politique d'accès du domaine afin qu'elle accorde les autorisations nécessaires pour effectuer les opérations d' OpenSearch API nécessaires.

**Topics**
+ [Exemple de stratégies basées sur l’identité IAM et de stratégies basées sur les ressources](#kb-osm-permissions-iam)
+ [Création du rôle de service des bases de connaissances Amazon Bedrock](#kb-osm-permissions-slr)
+ [Mise à jour des stratégies basées sur les ressources](#kb-osm-permissions-console-rbp)

## Exemple de stratégies basées sur l’identité IAM et de stratégies basées sur les ressources
<a name="kb-osm-permissions-iam"></a>

Cette section fournit un exemple de politique d'identité et une politique basée sur les ressources que vous pouvez configurer pour votre OpenSearch domaine lors de l'intégration aux bases de connaissances Amazon Bedrock. Vous devez autoriser Amazon Bedrock à effectuer ces actions sur l’index que vous fournissez à votre base de connaissances.


****  

| Action | Ressource | Description | 
| --- | --- | --- | 
| es:ESHttpPost | arn:<partition>:es:<region>:<accountId>:domain/<domainName>/<indexName> | Pour insérer des informations dans l’index | 
| es:ESHttpGet |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/fr_fr/bedrock/latest/userguide/kb-osm-permissions-slr-rbp.html)  | Pour rechercher des informations à partir de l’index. Cette action est configurée à la fois au niveau domain/index et au niveau domain/index/\$1. Au niveau domain/index, il peut obtenir des détails de haut niveau sur l’indice, tels que le type de moteur. Pour extraire les informations stockées dans l’index, des autorisations sont requises au niveau domain/index/\$1 concerné. | 
| es:ESHttpHead |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/fr_fr/bedrock/latest/userguide/kb-osm-permissions-slr-rbp.html)  | Pour obtenir des informations à partir de l’index. Cette action est configurée à la fois au niveau domain/index et au niveau domain/index/\$1, au cas où des informations auraient besoin d’être obtenues à un niveau supérieur, par exemple pour savoir si un index particulier existe. | 
| es:ESHttpDelete | arn:<partition>:es:<region>:<accountId>:domain/<domainName>/<indexName> | Pour supprimer des informations de l’index | 
| es:DescribeDomain | arn:<partition>:es:<region>:<accountId>:domain/<domainName> | Pour effectuer des validations sur le domaine, telles que la version du moteur utilisée. | 

### Exemple de stratégie basée sur les identités
<a name="kb-osm-permissions-idpolicy"></a>

------
#### [ JSON ]

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Sid": "OpenSearchIndexAccess",
            "Effect": "Allow",
            "Action": [
                "es:ESHttpGet",
                "es:ESHttpPost",
                "es:ESHttpPut",
                "es:ESHttpDelete"
            ],
            "Resource": [
                "arn:aws:es:us-east-1:123456789012:domain/domainName/indexName/*"
            ]
        },
        {
            "Sid": "OpenSearchIndexGetAccess",
            "Effect": "Allow",
            "Action": [
                "es:ESHttpGet",
                "es:ESHttpHead"
            ],
            "Resource": [
            "arn:aws:es:us-east-1:123456789012:domain/domainName/indexName"
            ]
        },
        {
            "Sid": "OpenSearchDomainValidation",
            "Effect": "Allow",
            "Action": [
                "es:DescribeDomain"
            ],
            "Resource": [
            "arn:aws:es:us-east-1:123456789012:domain/domainName"
            ]
        }
    ]
}
```

------

### Exemple de stratégie basée sur les ressources
<a name="kb-osm-permissions-rbp"></a>

**Note**  
Assurez-vous que le rôle de service a été créé pour être utilisé dans la stratégie basée sur les ressources.

## Création du rôle de service des bases de connaissances Amazon Bedrock
<a name="kb-osm-permissions-slr"></a>

Lorsque vous créez la base de connaissances, vous pouvez choisir de créer et d’utiliser un nouveau rôle de service. Cette section explique comment créer le rôle de service des bases de connaissances Amazon Bedrock. En mappant les politiques basées sur les ressources et les politiques d'accès détaillées à ce rôle, Amazon Bedrock sera autorisé à envoyer des demandes au domaine. OpenSearch 

**Pour spécifier le rôle de service des bases de connaissances Amazon Bedrock :**

1. Dans la console Amazon Bedrock, accédez aux [bases de connaissances](https://console.aws.amazon.com/bedrock/home#/knowledge-bases).

1. Choisissez **Créer**, puis sélectionnez **Base de connaissances avec magasin de vecteurs**.

1. Choisissez **Créer et utiliser un nouveau rôle de service**. Vous pouvez soit utiliser le nom de rôle par défaut, soit fournir un nom de rôle personnalisé, et Amazon Bedrock créera automatiquement le rôle de service de la base de connaissances pour vous.

1. Continuez à parcourir la console pour configurer votre source de données et vos stratégies d’analyse et de segmentation.

1. Choisissez un modèle d'intégration puis, sous **Choisir un magasin vectoriel existant**, sélectionnez **Amazon OpenSearch** Managed Cluster.

**Important**  
Avant de créer la base de connaissances, procédez comme suit pour configurer les stratégies basées sur les ressources et les stratégies d’accès optimisées. Pour connaître les étapes détaillées relatives à la création de la base de connaissances, consultez [Création d’une base de connaissances en se connectant à une source de données dans Amazon Bedrock Knowledge Bases](knowledge-base-create.md).

## Mise à jour des stratégies basées sur les ressources
<a name="kb-osm-permissions-console-rbp"></a>

Si votre OpenSearch domaine possède une politique d'accès restrictive, vous pouvez suivre les instructions de cette page pour mettre à jour la politique basée sur les ressources. Ces autorisations permettent aux bases de connaissances d'utiliser l'index que vous fournissez et de récupérer la définition du OpenSearch domaine afin d'effectuer la validation requise sur le domaine.

**Pour configurer les politiques basées sur les ressources à partir du AWS Management Console**

1. Accédez à la [console Amazon OpenSearch Service](https://console.aws.amazon.com/aos/home?region=us-east-1#opensearch/dashboard).

1. Accédez au domaine que vous avez créé, puis accédez à **Configurations de sécurité** où la stratégie basée sur les ressources est configurée.

1. Modifiez la stratégie dans l’onglet **JSON**, puis mettez-la à jour de la même manière que [Exemple de stratégie basée sur les ressources](#kb-osm-permissions-rbp).

1. Vous pouvez désormais revenir à la console Amazon Bedrock et fournir les détails de votre OpenSearch domaine et de votre index, comme décrit dans [Configuration de la base de connaissances pour les clusters gérés](knowledge-base-setup.md#knowledge-base-setup-osm).

# Configuration des OpenSearch autorisations avec un contrôle d'accès précis
<a name="kb-osm-permissions-console-fgap"></a>

Bien que facultatif, nous vous recommandons vivement d'activer un contrôle d'accès précis pour votre OpenSearch domaine. À l'aide d'un contrôle d'accès précis, vous pouvez utiliser le contrôle d'accès basé sur les rôles, qui vous permet de créer un OpenSearch rôle avec des autorisations spécifiques et de le mapper au rôle de service de la base de connaissances. Le mappage accorde à votre base de connaissances les autorisations minimales requises qui lui permettent d'accéder au domaine et à l'index et d'effectuer des opérations sur le OpenSearch domaine et l'index.

Pour configurer et utiliser le contrôle précis des accès :

1. Assurez-vous que le contrôle d'accès détaillé est activé sur le OpenSearch domaine que vous utilisez.

1. Pour votre domaine qui utilise un contrôle d'accès précis, configurez les autorisations avec des politiques définies sous la forme d'un rôle. OpenSearch

1. Pour le domaine pour lequel vous créez un rôle, ajoutez un mappage de rôle au rôle de service de la base de connaissances.

Les étapes suivantes indiquent comment configurer votre OpenSearch rôle et garantir le mappage correct entre le OpenSearch rôle et le rôle de service de la base de connaissances.

**Pour créer un OpenSearch rôle et configurer les autorisations**  
Après avoir activé le contrôle d'accès détaillé et configuré Amazon Bedrock pour qu'il se connecte au OpenSearch Service, vous pouvez configurer les autorisations à l'aide du lien OpenSearch Tableaux de bord pour chaque domaine. OpenSearch 

**Pour configurer des autorisations relatives à un domaine pour autoriser l’accès à Amazon Bedrock :**

1. Ouvrez le OpenSearch tableau de bord du OpenSearch domaine avec lequel vous souhaitez travailler. Pour trouver le lien vers les tableaux de bord, accédez au domaine que vous avez créé dans la console de OpenSearch service. Pour les domaines en cours d'exécution OpenSearch, l'URL est au format,`domain-endpoint/_dashboards/`. Pour plus d'informations, consultez la section [Tableaux](https://docs.aws.amazon.com/opensearch-service/latest/developerguide/dashboards.html) de bord du *guide du développeur Amazon OpenSearch Service*.

1. Dans le OpenSearch tableau de bord, choisissez **Sécurité**, puis **Rôles**.

1. Choisissez **Créer un rôle**.

1. Entrez un nom pour le rôle, par exemple **kb\$1opensearch\$1role**.

1. Sous **Autorisations du cluster**, ajoutez les autorisations suivantes.
   + `indices:data/read/msearch`
   + `indices:data/write/bulk*`
   + `indices:data/read/mget*`

1. Sous **Autorisations de l’index**, indiquez le nom de l’index vectoriel. Choisissez **Créer un nouveau groupe d’autorisations**, puis **Créer un nouveau groupe d’actions**. Ajoutez les autorisations suivantes à un groupe d’actions, par exemple `KnowledgeBasesActionGroup`. Ajoutez les autorisations suivantes à un groupe d’actions.
   + `indices:admin/get`
   + `indices:data/read/msearch`
   + `indices:data/read/search`
   + `indices:data/write/index`
   + `indices:data/write/update`
   + `indices:data/write/delete`
   + `indices:data/write/delete/byquery`
   + `indices:data/write/bulk*`
   + `indices:admin/mapping/put`
   + `indices:data/read/mget*`  
![\[Les groupes d'actions à créer dans les OpenSearch tableaux de bord pour ajouter des autorisations de cluster et d'index.\]](http://docs.aws.amazon.com/fr_fr/bedrock/latest/userguide/images/kb/kb-test-os-action-groups.png)

1. Choisissez **Create** pour créer le OpenSearch rôle.

Voici un exemple de OpenSearch rôle auquel les autorisations ont été ajoutées.

![\[Exemple de OpenSearch rôle dans les OpenSearch tableaux de bord avec les autorisations ajoutées.\]](http://docs.aws.amazon.com/fr_fr/bedrock/latest/userguide/images/kb/kb-test-os-dashboards-permissions.png)


**Pour créer un mappage vers le rôle de service de votre base de connaissances**

1. Identifiez le rôle IAM à mapper.
   + Si vous avez créé votre propre rôle IAM personnalisé, vous pouvez copier son ARN depuis la console IAM.
   + Si vous autorisez les bases de connaissances à créer le rôle pour vous, vous pouvez noter l’ARN du rôle lors de la création de votre base de connaissances, puis le copier.

1. Ouvrez le OpenSearch tableau de bord du OpenSearch domaine avec lequel vous souhaitez travailler. L’URL est au format `domain-endpoint/_dashboards/`.

1. Dans le volet de navigation, choisissez **Sécurité**.

1. Recherchez le rôle que vous venez de créer dans la liste, par exemple **kb\$1opensearch\$1role**, puis ouvrez-le.

1. Dans l’onglet **Utilisateurs mappés**, sélectionnez **Gestion du mappage**.

1. Dans la **section Rôles principaux**, entrez l'ARN du rôle IAM AWS géré pour les bases de connaissances. Selon que vous avez créé votre propre rôle personnalisé ou que vous avez laissé les bases de connaissances le créer pour vous, copiez les informations ARN du rôle depuis la console IAM ou la console Amazon Bedrock, puis entrez ces informations pour les **rôles principaux dans la** console. OpenSearch Voici un exemple.

   ```
   arn:aws:iam::<accountId>:role/service-role/<knowledge-base-service-role>
   ```

1. Choisissez **Mappage**.

   Le rôle Service de base de connaissances peut désormais se connecter au OpenSearch rôle et effectuer les opérations requises sur le domaine et l'index.

# Création d’une base de connaissances en se connectant à une source de données dans Amazon Bedrock Knowledge Bases
<a name="knowledge-base-create"></a>

Lorsque vous créez une base de connaissances en vous connectant à une source de données, vous configurez ou spécifiez les éléments suivants :
+ Informations générales qui définissent et identifient la base de connaissances
+ Rôle de service avec autorisations d’accès à la base de connaissances
+ Configurations pour la base de connaissances, y compris le modèle de vectorisation à utiliser lors de la conversion des données à partir de la source de données, les configurations de stockage pour le service dans lequel les vectorisations doivent être stockées et, éventuellement, un emplacement S3 pour stocker les données multimodales

**Note**  
Vous ne pouvez créer aucune base de connaissances avec un utilisateur racine. Connectez-vous avec un utilisateur IAM avant de commencer ces étapes.

Développez la section correspondant à votre cas d’utilisation :

## Utilisation de la console
<a name="knowledge-base-create-console"></a>

**Pour configurer une base de connaissances**

1. Connectez-vous au AWS Management Console avec une identité IAM autorisée à utiliser la console Amazon Bedrock. Ouvrez ensuite la console Amazon Bedrock à l'adresse [https://console.aws.amazon.com/bedrock.](https://console.aws.amazon.com/bedrock)

1. Dans le volet de navigation de gauche, sélectionnez **Bases de connaissances**.

1. Dans la section **Bases de connaissances**, cliquez sur le bouton Créer et sélectionnez l’option permettant de créer une base de connaissances avec un magasin de vecteurs.

1. (Facultatif) Modifiez le nom par défaut et fournissez une description de votre base de connaissances.

1. Choisissez un rôle Gestion des identités et des accès AWS (IAM) qui autorise Amazon Bedrock à accéder aux autres services requis. AWS Vous pouvez soit laisser Amazon Bedrock créer le rôle de service, soit choisir d’utiliser votre [rôle personnalisé que vous avez créé pour l’analytique Neptune](kb-permissions.md#kb-permissions-neptune).

1. Choisissez une source de données à laquelle connecter votre base de connaissances.

1. (Facultatif) Ajoutez des balises à votre base de connaissances. Pour de plus amples informations, veuillez consulter [Balisage des ressources Amazon Bedrock](tagging.md).

1. (Facultatif) Configurez les services pour lesquels vous souhaitez fournir des journaux d’activité pour votre base de connaissances.

1. Passez à la section suivante et suivez les étapes décrites sous [Connexion d’une source de données à votre base de connaissances](data-source-connectors.md) pour configurer une source de données.

1. Dans la section **Modèle de représentations vectorielles continues**, procédez comme suit :

   1. Choisissez un modèle de vectorisation pour convertir vos données en vectorisations. Pour les données multimodales (images, audio et vidéo), sélectionnez un modèle d'intégration multimodal tel qu'Amazon Titan Multimodal Embeddings G1 ou Cohere Embed v3.
**Note**  
Lorsque vous utilisez Amazon Titan Multimodal Embeddings G1, vous devez fournir un compartiment de contenu S3 et vous ne pouvez utiliser que l'analyseur par défaut. Ce modèle est optimisé pour les cas d'utilisation de la recherche d'images. Pour des conseils complets sur le choix entre les approches multimodales, voir[Création d'une base de connaissances pour le contenu multimodal](kb-multimodal.md).

   1. (Facultatif) Développez la section **Configurations supplémentaires** pour afficher les options de configuration suivantes (sachant que certains modèles ne prennent pas en charge certaines configurations) :
      + **Type de vectorisations** : indiquez si vous souhaitez convertir les données en vectorisations à virgule flottante (float32) (plus précises, mais plus coûteuses) ou en vectorisations binaires (moins précises, mais moins coûteuses). Pour savoir quels modèles de vectorisations prennent en charge les vecteurs binaires, consultez les [modèles de vectorisations pris en charge](knowledge-base-supported.md).
      + **Dimensions vectorielles** : des valeurs plus élevées améliorent la précision, mais augmentent le coût et la latence.

1. Dans la section **Base de données vectorielles**, procédez comme suit :

   1. Choisissez un magasin de vecteurs pour stocker les vectorisations utilisées à des fins d’interrogation. Vous avez les options suivantes :
      + **Création rapide d’un magasin de vecteurs** : choisissez l’un des magasins de vecteurs disponibles afin qu’Amazon Bedrock le crée. Vous pouvez également éventuellement configurer le chiffrement AWS KMS des clés pour votre magasin de vecteurs.
**Note**  
Lorsque vous utilisez cette option, Amazon Bedrock gère automatiquement le placement des métadonnées pour chaque magasin de vecteurs.
        + **Amazon OpenSearch Serverless** — Amazon Bedrock Knowledge Bases crée une collection et un index de recherche vectorielle Amazon OpenSearch Serverless et les configure avec les champs obligatoires pour vous.
        + **Amazon Aurora PostgreSQL sans serveur** : Amazon Bedrock configure un magasin de vecteurs Amazon Aurora PostgreSQL sans serveur. Ce processus extrait les données texte non structurées d’un compartiment Amazon S3, les transforme en fragments de texte et en vecteurs, puis les stocke dans une base de données PostgreSQL. Pour plus d’informations, consultez [Création rapide d’une base de connaissances Aurora PostgreSQL pour Amazon Bedrock](https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/AuroraPostgreSQL.quickcreatekb.html).
        + **Analytique Amazon Neptune** : Amazon Bedrock améliore les applications d’IA générative à l’aide de techniques de génération à enrichissement contextuel (RAG) associées à des graphiques, afin que les utilisateurs finaux puissent obtenir des réponses plus précises et plus complètes.
        + **Amazon S3 Vectors** : Amazon Bedrock Knowledge Bases crée un compartiment vectoriel S3 et un index vectoriel qui stockeront les vectorisations générées à partir de vos sources de données.

          Vous pouvez créer une base de connaissances pour les vecteurs Amazon S3 dans tous les Région AWS sites où Amazon Bedrock et Amazon S3 Vectors sont disponibles. Pour plus d’informations sur la disponibilité régionale, consultez [Amazon S3 Vectors](https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-vectors.html) dans le *Guide de l’utilisateur Amazon S3*.
**Note**  
Lorsque vous utilisez des vecteurs Amazon S3 avec les bases de connaissances Amazon Bedrock, vous pouvez joindre jusqu'à 1 Ko de métadonnées personnalisées (y compris des métadonnées filtrables et non filtrables) et 35 clés de métadonnées par vecteur. Pour obtenir des informations détaillées sur les limites relatives aux métadonnées, voir [Prise en charge des métadonnées](knowledge-base-setup.md#metadata-support) dans[Conditions préalables à l’utilisation d’un magasin de vecteurs que vous avez créé pour une base de connaissances](knowledge-base-setup.md).
      + **Choisir un magasin de vecteurs que vous avez créé** : sélectionnez un magasin de vecteurs pris en charge et identifiez les noms des champs vectoriels et les noms des champs de métadonnées dans l’index vectoriel. Pour de plus amples informations, veuillez consulter [Conditions préalables à l’utilisation d’un magasin de vecteurs que vous avez créé pour une base de connaissances](knowledge-base-setup.md).
**Note**  
Si votre source de données est une instance Confluence, Microsoft ou Salesforce SharePoint, le seul service de boutique vectorielle pris en charge est Amazon OpenSearch Serverless.

   1. (Facultatif) Développez la section **Configurations supplémentaires** et modifiez les configurations pertinentes.

1. Si votre source de données contient des images, spécifiez un URI Amazon S3 dans lequel stocker les images que l’analyseur va extraire des données sous **Destination de stockage multimodal**. Les images peuvent être renvoyées lors de l’interrogation. Vous pouvez également choisir une clé gérée par le client au lieu de la clé par défaut Clé gérée par AWS pour chiffrer vos données.
**Note**  
Les données multimodales ne sont prises en charge qu’avec Amazon S3 et les sources de données personnalisées.
**Note**  
Lorsque vous utilisez des modèles d'intégration multimodaux :  
Amazon Titan Multimodal Embeddings G1 nécessite un compartiment de contenu S3 et fonctionne mieux avec les ensembles de données contenant uniquement des images à l'aide de l'analyseur par défaut
Cohere Embed v3 prend en charge les ensembles de données mixtes de texte et d'image et peut être utilisé avec n'importe quelle configuration d'analyseur
Pour les cas d'utilisation de la recherche d'images, évitez d'utiliser Bedrock Data Automation (BDA) ou des analyseurs de modèles de base avec Titan G1 en raison des limites liées aux jetons
La destination de stockage multimodale crée des copies de fichiers à des fins de récupération, ce qui peut entraîner des frais de stockage supplémentaires

1. Cliquez sur **Suivant** et passez en revue les détails de votre base de connaissances. Vous pouvez modifier toute section avant de créer votre base de connaissances.
**Note**  
Le temps nécessaire pour créer la base de connaissances dépend de vos configurations spécifiques. Une fois la base de connaissances créée, son statut change pour indiquer qu’elle est prête ou disponible.  
Une fois votre base de connaissances prête et disponible, synchronisez votre source de données pour la première fois et chaque fois que vous souhaitez tenir votre contenu à jour. Sélectionnez votre base de connaissances dans la console, puis cliquez sur **Synchroniser** dans la section de présentation des sources de données.

## Utilisation de l’API
<a name="knowledge-base-create-api"></a>

Pour créer une base de connaissances, envoyez une demande [CreateKnowledgeBase](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent_CreateKnowledgeBase.html) avec un [point de terminaison de compilation pour agents Amazon Bedrock](https://docs.aws.amazon.com/general/latest/gr/bedrock.html#bra-bt).

**Note**  
Si vous préférez laisser Amazon Bedrock créer et gérer un magasin de vecteurs pour vous, utilisez la console. Pour plus d’informations, développez la section **Utilisation de la console** de cette rubrique.

Les champs suivants sont obligatoires :


****  

| Champ | Description de base | 
| --- | --- | 
| name | Nom de la base de connaissances | 
| roleArn | ARN d’un [rôle de service Amazon Bedrock Knowledge Bases](kb-permissions.md). | 
| knowledgeBaseConfiguration | Contient des configurations pour la base de connaissances. Consultez les informations ci-dessous. | 
| storageConfiguration | (Obligatoire seulement si vous vous connectez à une source de données non structurée.) Contient des configurations pour le service de source de données que vous choisissez. | 

Les champs suivants sont facultatifs :


****  

| Champ | Cas d’utilisation | 
| --- | --- | 
| description | Description de la base de connaissances. | 
| clientToken | Pour garantir que la demande d’API n’est exécutée qu’une seule fois. Pour plus d’informations, consultez [Garantie de l’idempotence](https://docs.aws.amazon.com/ec2/latest/devguide/ec2-api-idempotency.html). | 
| tags | Pour associer des balises au flux. Pour de plus amples informations, veuillez consulter [Balisage des ressources Amazon Bedrock](tagging.md). | 

Dans le `knowledgeBaseConfiguration` champ, qui correspond à un [KnowledgeBaseConfiguration](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent_KnowledgeBaseConfiguration.html)objet, spécifiez-le `VECTOR` dans le `type` champ et incluez un [VectorKnowledgeBaseConfiguration](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent_VectorKnowledgeBaseConfiguration.html)objet. Dans l’objet, incluez les champs suivants :
+ `embeddingModelArn` : ARN du modèle de vectorisation à utiliser.
+ `embeddingModelConfiguration` : configurations pour le modèle de vectorisation. Pour afficher les valeurs possibles que vous pouvez spécifier pour chaque modèle pris en charge, consultez [Modèles et régions pris en charge pour les bases de connaissances Amazon Bedrock](knowledge-base-supported.md).
+ (Si vous prévoyez d'inclure des données multimodales, notamment des images, des figures, des graphiques ou des tableaux, dans votre base de connaissances) `supplementalDataStorageConfiguration` : correspond à un [SupplementalDataStorageLocation](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent_SupplementalDataStorageLocation.html)objet, dans lequel vous spécifiez l'emplacement S3 dans lequel vous souhaitez stocker les données extraites. Pour de plus amples informations, veuillez consulter [Options d’analyse structurée pour votre source de données](kb-advanced-parsing.md).

Dans le `storageConfiguration` champ, qui correspond à un [StorageConfiguration](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent_StorageConfiguration.html)objet, spécifiez le magasin de vecteurs auquel vous souhaitez vous connecter dans le `type` champ et incluez le champ correspondant à ce magasin de vecteurs. Consultez chaque type de configuration de magasin vectoriel sur [StorageConfiguration](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent_StorageConfiguration.html)pour plus de détails sur les informations que vous devez fournir.

Voici un exemple de demande pour créer une base de connaissances connectée à une collection Amazon OpenSearch Serverless. Les données provenant de sources de données connectées seront converties en intégrations vectorielles binaires avec Amazon Titan Text Embeddings V2 et les données multimodales extraites par l'analyseur seront configurées pour être stockées dans un bucket appelé. *MyBucket*

```
PUT /knowledgebases/ HTTP/1.1
Content-type: application/json

{
   "name": "MyKB",
   "description": "My knowledge base",
   "roleArn": "arn:aws:iam::111122223333:role/service-role/AmazonBedrockExecutionRoleForKnowledgeBase_123",
   "knowledgeBaseConfiguration": {
      "type": "VECTOR",
      "vectorKnowledgeBaseConfiguration": { 
         "embeddingModelArn": "arn:aws:bedrock:us-east-1::foundation-model/amazon.titan-embed-text-v2:0",
         "embeddingModelConfiguration": { 
            "bedrockEmbeddingModelConfiguration": { 
               "dimensions": 1024,
               "embeddingDataType": "BINARY"
            }
         },
         "supplementalDataStorageConfiguration": { 
            "storageLocations": [ 
               { 
                  "s3Location": { 
                     "uri": "arn:aws:s3:::MyBucket"
                  },
                  "type": "S3"
               }
            ]
         }
      }
   },
   "storageConfiguration": { 
      "opensearchServerlessConfiguration": { 
         "collectionArn": "arn:aws:aoss:us-east-1:111122223333:collection/abcdefghij1234567890",
         "fieldMapping": { 
            "metadataField": "metadata",
            "textField": "text",
            "vectorField": "vector"
         },
         "vectorIndexName": "MyVectorIndex"
      }
   }
}
```

**Topics**
+ [Connexion d’une source de données à votre base de connaissances](data-source-connectors.md)
+ [Personnalisation de l’ingestion pour une source de données](kb-data-source-customize-ingestion.md)
+ [Définition des configurations de sécurité pour votre base de connaissances](kb-create-security.md)

# Connexion d’une source de données à votre base de connaissances
<a name="data-source-connectors"></a>

Après avoir terminé les configurations de votre base de connaissances, vous connectez une source de données prise en charge à la base de connaissances.

Les bases de connaissances Amazon Bedrock permettent de se connecter à des sources de données non structurées ou à des magasins de données structurées via un moteur de requête. Sélectionnez une rubrique pour découvrir comment vous connecter à ce type de source de données :

**Support de contenu multimodal**  
Le contenu multimodal (images, fichiers audio et vidéo) n'est pris en charge qu'avec Amazon S3 et les sources de données personnalisées. Les autres types de sources de données ignoreront les fichiers multimodaux lors de l'ingestion. Pour des conseils complets sur l'utilisation de contenus multimodaux, voir[Création d'une base de connaissances pour le contenu multimodal](kb-multimodal.md).

Pour découvrir comment vous connecter à une source de données à l’aide de la console Amazon Bedrock, sélectionnez la rubrique correspondant à votre type de source de données au bas de cette page :

Pour vous connecter à une source de données à l'aide de l'API Amazon Bedrock, envoyez une [CreateDataSource](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent_CreateDataSource.html)demande à un point de [terminaison Agents for Amazon Bedrock.](https://docs.aws.amazon.com/general/latest/gr/bedrock.html#bra-rt)

Les champs suivants sont obligatoires :


****  

| Champ | Description de base | 
| --- | --- | 
| knowledgeBaseId | ID de la base de connaissances. | 
| name | Nom de la base de connaissances. | 
| dataSourceConfiguration | Spécifiez le service ou le type de source de données dans le champ type et incluez le champ correspondant. Pour plus de détails sur les configurations spécifiques à un service, sélectionnez la rubrique correspondant au service au bas de cette page. | 

Les champs suivants sont facultatifs :


****  

| Champ | Cas d’utilisation | 
| --- | --- | 
| description | Pour fournir une description de la source de données. | 
| vectorIngestionConfiguration | Contient des configurations pour personnaliser le processus d’ingestion. Pour de plus amples informations, veuillez consulter [Personnalisation de l’ingestion pour une source de données](kb-data-source-customize-ingestion.md). | 
| dataDeletionPolicy | Pour spécifier s’il faut conserver (RETAIN) les vectorisations dans le magasin de vecteurs ou les supprimer (DELETE). | 
| serverSideEncryptionConfiguration | Pour chiffrer les données transitoires lors de la synchronisation des données avec une clé gérée par le client, spécifiez son ARN dans le champ kmsKeyArn. | 
| clientToken | Pour garantir que la demande d’API n’est exécutée qu’une seule fois. Pour plus d’informations, consultez [Garantie de l’idempotence](https://docs.aws.amazon.com/ec2/latest/devguide/ec2-api-idempotency.html). | 

Sélectionnez une rubrique pour en savoir plus sur un service et sa configuration.

**Topics**
+ [Connexion à Amazon S3 pour votre base de connaissances](s3-data-source-connector.md)
+ [Connexion à Confluence pour votre base de connaissances](confluence-data-source-connector.md)
+ [Connectez-vous à Microsoft SharePoint pour accéder à votre base de connaissances](sharepoint-data-source-connector.md)
+ [Connexion à Salesforce pour votre base de connaissances](salesforce-data-source-connector.md)
+ [Analyse de pages Web pour votre base de connaissances](webcrawl-data-source-connector.md)
+ [Connexion de votre base de connaissances à une source de données personnalisée](custom-data-source-connector.md)

# Connexion à Amazon S3 pour votre base de connaissances
<a name="s3-data-source-connector"></a>

Amazon S3 est un service de stockage d’objets qui stocke les données en tant qu’objets dans des compartiments. Vous pouvez vous connecter à votre compartiment Amazon S3 pour accéder à votre base de connaissances Amazon Bedrock en utilisant la [console de AWS gestion d'Amazon Bedrock](https://console.aws.amazon.com/bedrock/home) ou l'[CreateDataSource](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent_CreateDataSource.html)API (voir Amazon Bedrock [pris en charge SDKs ](https://docs.aws.amazon.com/bedrock/latest/APIReference/welcome.html) et). AWS CLI

**Support de contenu multimodal**  
Les sources de données Amazon S3 prennent en charge le contenu multimodal, notamment les images, les fichiers audio et vidéo. Pour des conseils complets sur l'utilisation de contenus multimodaux, voir[Création d'une base de connaissances pour le contenu multimodal](kb-multimodal.md).

Vous pouvez charger un petit lot de fichiers dans un compartiment Amazon S3 via l’API ou la console Amazon S3. Vous pouvez également l'utiliser [AWS DataSync](https://docs.aws.amazon.com/datasync/latest/userguide/create-s3-location.html)pour télécharger plusieurs fichiers sur S3 en continu et transférer des fichiers selon un calendrier depuis un site, un périphérique, un autre cloud ou un système AWS de stockage.

Actuellement, seuls les compartiments S3 à usage général sont pris en charge.

Il existe des limites au nombre de fichiers et de Mo par fichier pouvant être indexés. Consultez [Quotas pour les bases de connaissances](https://docs.aws.amazon.com/bedrock/latest/userguide/quotas.html).

**Topics**
+ [Fonctionnalités prises en charge](#supported-features-s3-connector)
+ [Conditions préalables](#prerequisites-s3-connector)
+ [Configuration de la connexion](#configuration-s3-connector)

## Fonctionnalités prises en charge
<a name="supported-features-s3-connector"></a>
+ Champs de métadonnées des documents
+ Préfixes d’inclusion
+ Synchronisation incrémentielle du contenu ajouté, mis à jour et supprimé

## Conditions préalables
<a name="prerequisites-s3-connector"></a>

**Dans Amazon S3** :
+ Assurez-vous de noter l’URI du compartiment Amazon S3, l’Amazon Resource Name (ARN) et l’ID du compte AWS du propriétaire du compartiment. Vous trouverez l’URI et l’ARN dans la section des propriétés de la console Amazon S3. Votre compartiment doit se trouver dans la même région que votre base de connaissances Amazon Bedrock. Vous devez avoir l’autorisation d’accéder au compartiment.

**Dans votre AWS compte, assurez-vous** de :
+ Incluez les autorisations nécessaires pour vous connecter à votre source de données dans votre role/permissions politique Gestion des identités et des accès AWS (IAM) pour votre base de connaissances. Pour plus d'informations sur les autorisations requises pour que cette source de données soit ajoutée à votre IAM rôle dans la base de connaissances, consultez la section [Autorisations d'accès aux sources de données](https://docs.aws.amazon.com/bedrock/latest/userguide/kb-permissions.html#kb-permissions-access-ds).

**Note**  
Si vous utilisez la console, le IAM rôle doté de toutes les autorisations requises peut être créé pour vous dans le cadre des étapes de création d'une base de connaissances. Une fois votre source de données configurée et les autres configurations effectuées, le rôle IAM possédant toutes les autorisations requises est appliqué à votre base de connaissances spécifique.

## Configuration de la connexion
<a name="configuration-s3-connector"></a>

Afin de vous connecter à votre compartiment Amazon S3, vous devez fournir les informations de configuration nécessaires pour qu’Amazon Bedrock puisse accéder à vos données et les indexer. Vous devez également respecter les [Conditions préalables](#prerequisites-s3-connector).

Un exemple de configuration pour cette source de données est inclus dans cette section.

Pour plus d’informations sur les filtres d’inclusion, les champs de métadonnées des documents, la synchronisation incrémentielle et leur fonctionnement, développez les sections suivantes :

### Champs de métadonnées des documents
<a name="ds-s3-metadata-fields"></a>

Vous pouvez inclure un fichier distinct qui spécifie les métadonnées du document fields/attributes pour chaque fichier de votre source de données Amazon S3 et indique s'il convient de les inclure dans les intégrations lors de l'indexation de la source de données dans le magasin vectoriel. Par exemple, vous pouvez créer un fichier au format suivant, le nommer *fileName.extension.metadata.json* et le télécharger dans votre compartiment S3.

```
{
  "metadataAttributes": {
    "company": {
      "value": {
        "type": "STRING",
        "stringValue": "BioPharm Innovations"
      },
      "includeForEmbedding": true
    },
    "created_date": {
      "value": {
        "type": "NUMBER",
        "numberValue": 20221205
      },
      "includeForEmbedding": true
    },
    "author": {
      "value": {
        "type": "STRING",
        "stringValue": "Lisa Thompson"
      },
      "includeForEmbedding": true
    },
    "origin": {
      "value": {
        "type": "STRING",
        "stringValue": "Overview"
      },
      "includeForEmbedding": true
    }
  }
}
```

Le fichier de métadonnées doit porter le même nom que le fichier du document source associé, avec `.metadata.json` ajouté à la fin du nom du fichier. Il doit être stocké dans la même dossier ou au même emplacement que le fichier source dans votre compartiment Amazon S3. Sa taille ne doit pas dépasser la limite de 10 Ko. Pour plus d'informations sur les types de attribute/field données pris en charge et les opérateurs de filtrage que vous pouvez appliquer à vos champs de métadonnées, voir [Métadonnées et filtrage](https://docs.aws.amazon.com/bedrock/latest/userguide/kb-test-config.html).

### Préfixes d’inclusion
<a name="ds-s3-inclusion-exclusion"></a>

Vous pouvez spécifier un préfixe d’inclusion, qui est un préfixe de chemin Amazon S3, dans lequel vous pouvez utiliser un fichier ou un dossier S3 au lieu de l’intégralité du compartiment pour créer le connecteur de source de données S3.

### Synchronisation incrémentielle
<a name="ds-s3-incremental-sync"></a>

Le connecteur de source de données analyse le contenu nouveau, modifié et supprimé chaque fois que votre source de données se synchronise avec votre base de connaissances. Amazon Bedrockpeut utiliser le mécanisme de votre source de données pour suivre les modifications de contenu et explorer le contenu modifié depuis la dernière synchronisation. Lorsque vous synchronisez votre source de données avec votre base de connaissances pour la première fois, l’ensemble du contenu est indexé par défaut.

Pour synchroniser votre source de données avec votre base de connaissances, utilisez l'[StartIngestionJob](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent_StartIngestionJob.html)API ou sélectionnez votre base de connaissances dans la console et sélectionnez **Synchroniser** dans la section de présentation de la source de données.

**Important**  
Toutes les données que vous synchronisez à partir de votre source de données sont accessibles à toute personne disposant des autorisations `bedrock:Retrieve` pour récupérer les données. Cela peut également inclure toutes les données dont les autorisations de source de données sont contrôlées. Pour plus d’informations, consultez [Autorisations de la base de connaissances](https://docs.aws.amazon.com/bedrock/latest/userguide/kb-permissions.html).

------
#### [ Console ]

**Pour connecter un compartiment Amazon S3 pour à base de connaissances**

1. Suivez les étapes décrites dans [Création d’une base de connaissances en se connectant à une source de données dans Amazon Bedrock Knowledge Bases](knowledge-base-create.md) et choisissez **Amazon S3** comme source de données.

1. Indiquez un nom pour la source de données.

1. Spécifiez si le compartiment Amazon S3 se trouve dans votre AWS compte actuel ou dans un autre AWS compte. Votre compartiment doit se trouver dans la même région que votre base de connaissances.

1. (Facultatif) Si le compartiment Amazon S3 est chiffré avec une clé KMS, incluez la clé. Pour plus d’informations, consultez [Autorisations pour déchiffrer votre AWS KMS clé pour vos sources de données dans Amazon S3](encryption-kb.md#encryption-kb-ds).

1. (Facultatif) Dans la section **Analyse et découpage du contenu**, vous pouvez personnaliser le mode d’analyse et de découpage de vos données. Consultez les ressources suivantes pour en savoir plus sur ces personnalisations :
   + Pour plus d’informations sur les options d’analyse, consultez [Options d’analyse structurée pour votre source de données](kb-advanced-parsing.md).
   + Pour plus d’informations sur les stratégies de découpage, consultez [Fonctionnement du découpage du contenu pour les bases de connaissances](kb-chunking.md).
**Avertissement**  
Une fois connecté à la source de données, vous ne pouvez plus modifier la stratégie de découpage.
   + Pour plus d’informations sur la façon de personnaliser le découpage de vos données et le traitement de vos métadonnées avec une fonction Lambda, consultez [Utilisation d’une fonction Lambda de transformation personnalisée pour définir la manière dont vos données sont ingérées](kb-custom-transformation.md).

1. Dans la section **Paramètres avancés**, vous pouvez éventuellement configurer les éléments suivants :
   + **Clé KMS pour le stockage de données transitoires** — Vous pouvez chiffrer les données transitoires tout en les convertissant en données intégrées à l'aide de la clé KMS par défaut Clé gérée par AWS ou de votre propre clé. Pour de plus amples informations, veuillez consulter [Chiffrement du stockage des données transitoires lors de l’ingestion de données](encryption-kb.md#encryption-kb-ingestion).
   + **Politique de suppression des données** : vous pouvez supprimer les vectorisations de votre source de données qui sont stockées dans le magasin de vecteurs par défaut, ou choisir de conserver les données du magasin de vecteurs.

1. Continuez en choisissant un modèle de vectorisation et un magasin de vecteurs. Pour voir les étapes restantes, revenez à [Création d’une base de connaissances en se connectant à une source de données dans Amazon Bedrock Knowledge Bases](knowledge-base-create.md) et poursuivez après avoir connecté votre source de données.

------
#### [ API ]

Voici un exemple de configuration pour connecter votre base de connaissances Amazon Bedrock à Amazon S3. Vous configurez votre source de données à l'aide de l'API avec le SDK compatible AWS CLI ou compatible, tel que Python. Après avoir appelé [CreateKnowledgeBase](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent_CreateKnowledgeBase.html), vous appelez [CreateDataSource](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent_CreateDataSource.html)pour créer votre source de données avec vos informations de connexion`dataSourceConfiguration`.

Pour en savoir plus sur les personnalisations que vous pouvez appliquer à l’ingestion en incluant le champ facultatif `vectorIngestionConfiguration`, consultez [Personnalisation de l’ingestion pour une source de données](kb-data-source-customize-ingestion.md).

**AWS Command Line Interface**

```
aws bedrock-agent create-data-source \
 --name "S3-connector" \
 --description "S3 data source connector for Amazon Bedrock to use content in S3" \
 --knowledge-base-id "your-knowledge-base-id" \
 --data-source-configuration file://s3-bedrock-connector-configuration.json \
 --data-deletion-policy "DELETE" \
 --vector-ingestion-configuration '{"chunkingConfiguration":{"chunkingStrategy":"FIXED_SIZE","fixedSizeChunkingConfiguration":{"maxTokens":100,"overlapPercentage":10}}}'
                    
s3-bedrock-connector-configuration.json
{
    "s3Configuration": {
	    "bucketArn": "arn:aws:s3:::bucket-name",
	    "bucketOwnerAccountId": "000000000000",
	    "inclusionPrefixes": [
	        "documents/"
	    ]
    },
    "type": "S3"	
}
```

------

# Connexion à Confluence pour votre base de connaissances
<a name="confluence-data-source-connector"></a>

Atlassian Confluence est un outil de gestion du travail collaboratif conçu pour partager, stocker et travailler sur la planification de projets, le développement de logiciels et la gestion de produits. Vous pouvez vous connecter à votre instance Confluence pour votre base de connaissances Amazon Bedrock à l’aide de la [console de gestion AWS pour Amazon Bedrock](https://console.aws.amazon.com/bedrock/home) ou de l’API [CreateDataSource](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent_CreateDataSource.html) (consultez [les commandes de l’AWS CLI et les kits SDK pris en charge](https://docs.aws.amazon.com/bedrock/latest/APIReference/welcome.html) par Amazon Bedrock).

**Note**  
Le connecteur de source de données Confluence est proposé en version préliminaire et peut faire l’objet de modifications.  
Les sources de données Confluence ne prennent pas en charge les données multimodales, telles que les tableaux, les graphiques, les diagrammes ou autres images.

Amazon Bedrock prend en charge la connexion aux instances Confluence Cloud. Actuellement, seul le magasin de vecteurs Amazon OpenSearch sans serveur peut être utilisé avec cette source de données.

Il existe des limites au nombre de fichiers et de Mo par fichier pouvant être indexés. Consultez [Quotas pour les bases de connaissances](https://docs.aws.amazon.com/bedrock/latest/userguide/quotas.html).

**Topics**
+ [Fonctionnalités prises en charge](#supported-features-confluence-connector)
+ [Conditions préalables](#prerequisites-confluence-connector)
+ [Configuration de la connexion](#configuration-confluence-connector)

## Fonctionnalités prises en charge
<a name="supported-features-confluence-connector"></a>
+ Détection automatique des principaux champs d’un document
+ Filtres de contenu d’inclusion/exclusion
+ Synchronisation incrémentielle du contenu ajouté, mis à jour et supprimé
+ Authentification OAuth 2.0, authentification avec le jeton d’API Confluence

## Conditions préalables
<a name="prerequisites-confluence-connector"></a>

**Dans Confluence :**
+ Assurez-vous de notez l’URL de votre instance Confluence. Par exemple, pour Confluence Cloud, *https://example.atlassian.net*. L’URL de Confluence Cloud doit être l’URL de base se terminant par *.atlassian.net*.
+ Configurez les informations d’identification pour l’authentification de base : un nom d’utilisateur (e-mail du compte administrateur) et un mot de passe (jeton d’API Confluence) pour permettre à Amazon Bedrock de se connecter à votre instance Confluence Cloud. Pour en savoir plus sur la création d’un jeton d’API Confluence, consultez [Manage API tokens for your Atlassian account](https://support.atlassian.com/atlassian-account/docs/manage-api-tokens-for-your-atlassian-account/#Create-an-API-token) sur le site web Atlassian.
+ (Facultatif) Configurez une application OAuth 2.0 avec des informations d’identification comprenant une clé d’application, un secret d’application, un jeton d’accès et un jeton d’actualisation. Pour plus d’informations, consultez [OAuth 2.0 apps](https://developer.atlassian.com/cloud/confluence/oauth-2-3lo-apps/) sur le site web Atlassian.
+ Certaines autorisations ou portées de lecture doivent être activées pour que votre application OAuth 2.0 puisse se connecter à Confluence.

  API Confluence :
  + offline\$1access
  + read:content:confluence : afficher les contenus détaillés 
  + read:content-details:confluence : afficher les informations sur le contenu 
  + read:space-details:confluence : afficher les informations sur l’espace
  + read:audit-log:confluence : afficher les enregistrements d’audits 
  + read:page:confluence : afficher les pages 
  + read:attachment:confluence : afficher et télécharger les pièces jointes au contenu 
  + read:blogpost:confluence : afficher les articles de blog 
  + read:custom-content:confluence : afficher le contenu personnalisé 
  + read:comment:confluence : afficher les commentaires 
  + read:template:confluence : afficher les modèles de contenu 
  + read:label:confluence : afficher les étiquettes 
  + read:watcher:confluence : afficher les observateurs de contenu 
  + read:relation:confluence : afficher les relations des entités 
  + read:user:confluence : afficher les informations sur l’utilisateur 
  + read:configuration:confluence : afficher les paramètres Confluence 
  + read:space:confluence : afficher les informations sur l’espace 
  + read:space.property:confluence : afficher les propriétés de l’espace 
  + read:user.property:confluence : afficher les propriétés utilisateur 
  + read:space.setting:confluence : afficher les paramètres de l’espace 
  + read:analytics.content:confluence : afficher l’analytique du contenu
  + read:content.property:confluence : afficher les propriétés du contenu
  + read:content.metadata:confluence : afficher les récapitulatifs de contenu 
  + read:inlinetask:confluence : afficher les tâches 
  + read:task:confluence : afficher les tâches 
  + read:whiteboard:confluence : afficher les tableaux blancs 
  + read:app-data:confluence : lire les données d’application 
  + read:folder:confluence : afficher les dossiers
  + read:embed:confluence : afficher les données Smart Link

**Dans votre compte AWS** :
+ Pour l’authentification, assurez-vous de stocker vos informations d’identification dans un [secret AWS Secrets Manager](https://docs.aws.amazon.com/secretsmanager/latest/userguide/create_secret.html) et notez l’Amazon Resource Name (ARN) du secret. Suivez les instructions de la section **Configuration de la connexion** sur cette page pour inclure les paires clé-valeur qui doivent être incluses dans votre secret.
+ Incluez dans votre politique de rôle/d’autorisations Gestion des identités et des accès AWS (IAM) les autorisations nécessaires afin de vous connecter à votre source de données pour votre base de connaissances. Pour en savoir plus sur les autorisations requises afin d’ajouter cette source de données à votre rôle IAM dans la base de connaissances, consultez [Autorisations d’accès aux sources de données](https://docs.aws.amazon.com/bedrock/latest/userguide/kb-permissions.html#kb-permissions-access-ds).

**Note**  
Si vous utilisez la console, vous pouvez accéder à AWS Secrets Manager pour ajouter votre secret ou utiliser un secret existant dans le cadre de l’étape de configuration de la source de données. Le rôle IAM possédant toutes les autorisations requises peut être créé pour vous dans le cadre des étapes de la console pour créer une base de connaissances. Une fois votre source de données configurée et les autres configurations effectuées, le rôle IAM possédant toutes les autorisations requises est appliqué à votre base de connaissances spécifique.  
Nous vous recommandons d’actualiser ou de modifier régulièrement vos informations d’identification et votre secret. Pour votre propre sécurité, fournissez uniquement le niveau d’accès nécessaire. Nous vous recommandons de ne pas réutiliser vos informations d’identification et vos secrets d’une source de données à l’autre.

## Configuration de la connexion
<a name="configuration-confluence-connector"></a>

Afin de vous connecter à votre instance Confluence, vous devez fournir les informations de configuration nécessaires pour qu’Amazon Bedrock puisse accéder à vos données et les indexer. Vous devez également respecter les [Conditions préalables](#prerequisites-confluence-connector).

Un exemple de configuration pour cette source de données est inclus dans cette section.

Pour plus d’informations sur la détection automatique des champs d’un document, les filtres d’inclusion/exclusion, la synchronisation incrémentielle, les informations d’identification secrètes et leur fonctionnement, développez les sections suivantes :

### Détection automatique des principaux champs d’un document
<a name="ds-confluence-document-fields"></a>

Le connecteur de source de données détecte et indexe automatiquement les principaux champs de métadonnées de vos documents ou contenus. Par exemple, le connecteur de source de données peut indexer le contenu principal (ou son équivalent), le titre et la date de création ou de modification de vos documents, ou d’autres champs de base susceptibles de s’appliquer à ceux-ci.

**Important**  
Si votre contenu contient des informations sensibles, Amazon Bedrock peut répondre en utilisant des informations sensibles.

Vous pouvez appliquer des opérateurs de filtrage aux champs de métadonnées afin d’améliorer davantage la pertinence des réponses. Par exemple, « epoch\$1modification\$1time » pour connaître le nombre de secondes écoulées depuis le 1er janvier 1970 jusqu’au moment de la dernière mise à jour du document. Vous pouvez filtrer les données en fonction des plus récentes, pour lesquelles « epoch\$1modification\$1time » est *supérieur à* un certain nombre. Pour plus d’informations sur les opérateurs de filtrage que vous pouvez appliquer à vos champs de métadonnées, consultez [Métadonnées et filtrage](https://docs.aws.amazon.com/bedrock/latest/userguide/kb-test-config.html).

### Filtres d’inclusion et d’exclusion
<a name="ds-confluence-inclusion-exclusion"></a>

Vous pouvez inclure ou exclure l’indexation de certains contenus. Par exemple, vous pouvez spécifier un préfixe d’exclusion/un modèle d’expression régulière pour éviter d’indexer tout fichier dont le nom contient le mot « privé ». Vous pouvez également spécifier un préfixe d’inclusion/un modèle d’expression régulière pour inclure certaines entités ou certains types de contenu. Si vous spécifiez un filtre d’inclusion et un filtre d’exclusion et que les deux correspondent à un document, le filtre d’exclusion est prioritaire et le document n’est pas indexé.

Exemple de modèle d’expression régulière permettant d’exclure ou de filtrer les fichiers PDF dont le nom contient « privé » : *".\$1privé.\$1\$1\$1.pdf"*

Vous pouvez appliquer des filtres d’inclusion/exclusion aux types de contenus suivants :
+ `Space` : touche d’espace unique
+ `Page` : titre de la page principale
+ `Blog` : titre du blog principal
+ `Comment` : commentaires qui appartiennent à une page ou à un blog en particulier Spécifiez *Re: titre de la page/du blog*
+ `Attachment` : nom de fichier joint avec son extension

### Synchronisation incrémentielle
<a name="ds-confluence-incremental-sync"></a>

Le connecteur de source de données indexe le contenu nouveau, modifié et supprimé chaque fois que votre source de données se synchronise avec votre base de connaissances. Amazon Bedrock peut utiliser le mécanisme de votre source de données pour suivre les modifications et indexer le contenu modifié depuis la dernière synchronisation. Lorsque vous synchronisez votre source de données avec votre base de connaissances pour la première fois, l’ensemble du contenu est indexé par défaut.

Pour synchroniser votre source de données avec votre base de connaissances, utilisez l’API [StartIngestionJob](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent_StartIngestionJob.html) ou sélectionnez votre base de connaissances dans la console, puis sélectionnez **Synchroniser** dans la section Vue d’ensemble des sources de données.

**Important**  
Toutes les données que vous synchronisez à partir de votre source de données sont accessibles à toute personne disposant des autorisations `bedrock:Retrieve` pour récupérer les données. Cela peut également inclure toutes les données dont les autorisations de source de données sont contrôlées. Pour plus d’informations, consultez [Autorisations de la base de connaissances](https://docs.aws.amazon.com/bedrock/latest/userguide/kb-permissions.html).

### Informations d’identification secrètes
<a name="ds-confluence-secret-auth-credentials"></a>

(Si vous utilisez l’authentification de base) Vos informations d’identification secrètes dans AWS Secrets Manager doivent inclure les paires clé-valeur suivantes :
+ `username` : *adresse e-mail de l’utilisateur administrateur du compte Atlassian*
+ `password` : *jeton d’API Confluence*

(Si vous utilisez l’authentification OAuth 2.0) Vos informations d’identification dans AWS Secrets Manager doivent inclure les paires clé-valeur suivantes :
+ `confluenceAppKey` : *clé d’application*
+ `confluenceAppSecret` : *secret de l’application*
+ `confluenceAccessToken` : *jeton d’accès à l’application*
+ `confluenceRefreshToken` : *jeton d’actualisation de l’application*

**Note**  
Le jeton d’**accès** Confluence OAuth 2.0 a un délai d’expiration par défaut de 60 minutes. S’il expire alors que votre source de données est en cours de synchronisation (tâche de synchronisation), Amazon Bedrock utilise le jeton d’**actualisation** fourni pour le régénérer. Cette régénération actualise à la fois les jetons d’accès et ceux d’actualisation. Afin de conserver les jetons à jour entre la tâche de synchronisation actuelle et la suivante, Amazon Bedrock a besoin d’autorisations d’écriture (write/put) pour vos informations d’identification secrètes dans le cadre du rôle IAM de la base de connaissances.

**Note**  
Votre secret dans AWS Secrets Manager doit utiliser la même région que celle de votre base de connaissances.

------
#### [ Console ]

**Connexion d’une instance Confluence à votre base de connaissances**

1. Suivez les étapes décrites dans [Création d’une base de connaissances en se connectant à une source de données dans Amazon Bedrock Knowledge Bases](knowledge-base-create.md) et choisissez **Confluence** comme source de données.

1. Indiquez un nom et une description facultative de la source de données.

1. Indiquez l’URL de votre instance Confluence. Par exemple, pour Confluence Cloud, *https://example.atlassian.net*. L’URL de Confluence Cloud doit être l’URL de base se terminant par *.atlassian.net*.

1. Dans la section **Paramètres avancés**, vous pouvez éventuellement configurer les éléments suivants :
   + **Clé KMS pour le stockage de données transitoires**  : vous pouvez chiffrer les données transitoires lors de la conversion de vos données en vectorisations à l’aide de la Clé gérée par AWS par défaut ou de votre propre clé KMS. Pour plus d’informations, consultez [Chiffrement du stockage des données transitoires lors de l’ingestion de données](encryption-kb.md#encryption-kb-ingestion).
   + **Politique de suppression des données** : vous pouvez supprimer les vectorisations de votre source de données qui sont stockées dans le magasin de vecteurs par défaut, ou choisir de conserver les données du magasin de vecteurs.

1. Fournissez les informations d’authentification pour vous connecter à votre instance Confluence :
   + Pour l’authentification de base, rendez-vous sur AWS Secrets Manager pour ajouter vos informations d’identification secrètes ou utilisez un Amazon Resource Name (ARN) existant pour le secret que vous avez créé. Votre secret doit contenir l’adresse e-mail de l’administrateur du compte Atlassian comme nom d’utilisateur et un jeton d’API Confluence à la place d’un mot de passe. Pour en savoir plus sur la création d’un jeton d’API Confluence, consultez [Manage API tokens for your Atlassian account](https://support.atlassian.com/atlassian-account/docs/manage-api-tokens-for-your-atlassian-account/#Create-an-API-token) sur le site web Atlassian.
   + Pour l’authentification OAuth 2.0, rendez-vous sur AWS Secrets Manager pour ajouter vos informations d’identification secrètes ou utilisez un Amazon Resource Name (ARN) existant pour le secret que vous avez créé. Votre secret doit contenir la clé d’application, le secret d’application, le jeton d’accès et le jeton d’actualisation Confluence. Pour plus d’informations, consultez [OAuth 2.0 apps](https://developer.atlassian.com/cloud/confluence/oauth-2-3lo-apps/) sur le site web Atlassian.

1. (Facultatif) Dans la section **Analyse et découpage du contenu**, vous pouvez personnaliser le mode d’analyse et de découpage de vos données. Consultez les ressources suivantes pour en savoir plus sur ces personnalisations :
   + Pour plus d’informations sur les options d’analyse, consultez [Options d’analyse structurée pour votre source de données](kb-advanced-parsing.md).
   + Pour plus d’informations sur les stratégies de découpage, consultez [Fonctionnement du découpage du contenu pour les bases de connaissances](kb-chunking.md).
**Avertissement**  
Une fois connecté à la source de données, vous ne pouvez plus modifier la stratégie de découpage.
   + Pour plus d’informations sur la façon de personnaliser le découpage de vos données et le traitement de vos métadonnées avec une fonction Lambda, consultez [Utilisation d’une fonction Lambda de transformation personnalisée pour définir la manière dont vos données sont ingérées](kb-custom-transformation.md).

1. Utilisez des filtres/modèles d’expressions régulières pour inclure ou exclure certains contenus. Autrement, l’ensemble du contenu standard est indexé.

1. Continuez en choisissant un modèle de vectorisation et un magasin de vecteurs. Pour voir les étapes restantes, revenez à [Création d’une base de connaissances en se connectant à une source de données dans Amazon Bedrock Knowledge Bases](knowledge-base-create.md) et poursuivez après avoir connecté votre source de données.

------
#### [ API ]

Voici un exemple de configuration pour se connecter à Confluence Cloud pour votre base de connaissances Amazon Bedrock. Vous configurez votre source de données à l’aide de l’API avec l’AWS CLI ou d’un kit SDK compatible, tel que Python. Après avoir appelé [CreateKnowledgeBase](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent_CreateKnowledgeBase.html), vous appelez [CreateDataSource](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent_CreateDataSource.html) pour créer votre source de données contenant vos informations de connexion dans `dataSourceConfiguration`.

Pour en savoir plus sur les personnalisations que vous pouvez appliquer à l’ingestion en incluant le champ facultatif `vectorIngestionConfiguration`, consultez [Personnalisation de l’ingestion pour une source de données](kb-data-source-customize-ingestion.md).

**AWS Command Line Interface**

```
aws bedrock create-data-source \
 --name "Confluence Cloud/SaaS connector" \
 --description "Confluence Cloud/SaaS data source connector for Amazon Bedrock to use content in Confluence" \
 --knowledge-base-id "your-knowledge-base-id" \
 --data-source-configuration file://confluence-bedrock-connector-configuration.json \
 --data-deletion-policy "DELETE" \
 --vector-ingestion-configuration '{"chunkingConfiguration":[{"chunkingStrategy":"FIXED_SIZE","fixedSizeChunkingConfiguration":[{"maxTokens":"100","overlapPercentage":"10"}]}]}'

confluence-bedrock-connector-configuration.json
{
    "confluenceConfiguration": {
        "sourceConfiguration": {
            "hostUrl": "https://example.atlassian.net",
            "hostType": "SAAS",
            "authType": "OAUTH2_CLIENT_CREDENTIALS",
            "credentialsSecretArn": "arn:aws::secretsmanager:your-region:secret:AmazonBedrock-Confluence"
        },
        "crawlerConfiguration": {
            "filterConfiguration": {
                "type": "PATTERN",
                "patternObjectFilter": {
                    "filters": [
                        {
                            "objectType": "Attachment",
                            "inclusionFilters": [
                                ".*\\.pdf"
                            ],
                            "exclusionFilters": [
                                ".*private.*\\.pdf"
                            ]
                        }
                    ]
                }
            }
        }
    },
    "type": "CONFLUENCE"
}
```

------

# Connectez-vous à Microsoft SharePoint pour accéder à votre base de connaissances
<a name="sharepoint-data-source-connector"></a>

Microsoft SharePoint est un service Web collaboratif permettant de travailler sur des documents, des pages Web, des sites Web, des listes, etc. Vous pouvez vous connecter à votre SharePoint instance pour accéder à votre base de connaissances Amazon Bedrock en utilisant soit la [console de AWS gestion d'Amazon Bedrock](https://console.aws.amazon.com/bedrock/home), soit l'[CreateDataSource](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent_CreateDataSource.html)API (voir Amazon Bedrock [pris en charge SDKs ](https://docs.aws.amazon.com/bedrock/latest/APIReference/welcome.html) et). AWS CLI

**Note**  
SharePoint le connecteur de source de données est en version préliminaire et est sujet à modification.  
 SharePoint Les sources de données Microsoft ne prennent pas en charge les données multimodales, telles que les tableaux, les graphiques, les diagrammes ou autres images.

Amazon Bedrock prend en charge la connexion aux instances SharePoint en ligne. L'exploration de OneNote documents n'est actuellement pas prise en charge. Actuellement, seul le magasin vectoriel Amazon OpenSearch Serverless peut être utilisé avec cette source de données.

Il existe des limites au nombre de fichiers et de Mo par fichier pouvant être indexés. Consultez [Quotas pour les bases de connaissances](https://docs.aws.amazon.com/bedrock/latest/userguide/quotas.html).

**Topics**
+ [Fonctionnalités prises en charge](#supported-features-sharepoint-connector)
+ [Conditions préalables](#prerequisites-sharepoint-connector)
+ [Configuration de la connexion](#configuration-sharepoint-connector)

## Fonctionnalités prises en charge
<a name="supported-features-sharepoint-connector"></a>
+ Détection automatique des principaux champs d’un document
+ Filtres de contenu d’inclusion/exclusion
+ Synchronisation incrémentielle du contenu ajouté, mis à jour et supprimé
+ SharePoint Authentification uniquement par application

## Conditions préalables
<a name="prerequisites-sharepoint-connector"></a>

### SharePoint (En ligne)
<a name="prerequisites-sharepoint-connector-online"></a>

**Dans votre SharePoint (en ligne), suivez les étapes suivantes pour utiliser l'authentification SharePoint réservée aux applications :**
+ Prenez note de l'URL de votre site SharePoint en ligne/URLs. Par exemple, *https://yourdomain.sharepoint.com/sites/mysite*. Votre URL doit commencer par *https* et contenir *sharepoint.com*. L'URL de votre site doit être le SharePoint site réel, pas *sharepoint.com/* ou *sites/mysite/home.aspx*
+ Prenez note du nom de domaine de l'URL de votre instance SharePoint en ligne/URLs.
+ Copiez votre ID de locataire Microsoft 365. Vous trouverez celui-ci dans les propriétés sur le portail Microsoft Entra. Consultez [Rechercher votre ID de client Microsoft 365](https://learn.microsoft.com/en-us/sharepoint/find-your-office-365-tenant-id) pour plus de détails.
**Note**  
Pour obtenir un exemple d’application, consultez [Inscrire une application cliente dans Microsoft Entra ID](https://learn.microsoft.com/en-us/azure/healthcare-apis/register-application) (anciennement Azure Active Directory) sur le site web Microsoft Learn. 
+ Configurez les SharePoint informations d'identification réservées aux applications.
+ Copiez l'ID client et la valeur secrète du client lorsque vous accordez l'autorisation à SharePoint App-Only. Pour plus d'informations, consultez la section [Octroi d'accès via SharePoint App-Only](https://learn.microsoft.com/en-us/sharepoint/dev/solution-guidance/security-apponly-azureacs).
**Note**  
Vous n'avez pas besoin de configurer d'autorisation d'API pour SharePoint App-Only. Cependant, vous devez configurer les autorisations APP sur le SharePoint côté. Pour plus d'informations sur les autorisations APP requises, consultez la documentation Microsoft sur l'[octroi d'accès via SharePoint App-Only](https://learn.microsoft.com/en-us/sharepoint/dev/solution-guidance/security-apponly-azureacs).

### Compte AWS
<a name="prerequisites-sharepoint-connector-account"></a>

**Dans votre AWS compte, assurez-vous** de :
+ Pour l’authentification, assurez-vous de stocker vos informations d’identification dans un [secret AWS Secrets Manager](https://docs.aws.amazon.com/secretsmanager/latest/userguide/create_secret.html) et notez l’Amazon Resource Name (ARN) du secret. Suivez les instructions de la section **Configuration de la connexion** sur cette page pour inclure les paires clé-valeur qui doivent être incluses dans votre secret.
+ Incluez les autorisations nécessaires pour vous connecter à votre source de données dans votre role/permissions politique Gestion des identités et des accès AWS (IAM) pour votre base de connaissances. Pour plus d'informations sur les autorisations requises pour que cette source de données soit ajoutée à votre IAM rôle dans la base de connaissances, consultez la section [Autorisations d'accès aux sources de données](https://docs.aws.amazon.com/bedrock/latest/userguide/kb-permissions.html#kb-permissions-access-ds).

**Note**  
Si vous utilisez la console, vous pouvez accéder AWS Secrets Manager à pour ajouter votre secret ou utiliser un secret existant dans le cadre de l'étape de configuration de la source de données. Le IAM rôle doté de toutes les autorisations requises peut être créé pour vous dans le cadre des étapes de la console pour créer une base de connaissances. Une fois que vous avez configuré votre source de données et les autres configurations, le IAM rôle doté de toutes les autorisations requises est appliqué à votre base de connaissances spécifique.  
Nous vous recommandons d’actualiser ou de modifier régulièrement vos informations d’identification et votre secret. Pour votre propre sécurité, fournissez uniquement le niveau d’accès nécessaire. Nous vous recommandons de ne pas réutiliser vos informations d’identification et vos secrets d’une source de données à l’autre.

## Configuration de la connexion
<a name="configuration-sharepoint-connector"></a>

Pour vous connecter à votre SharePoint instance, vous devez fournir les informations de configuration nécessaires afin qu'Amazon Bedrock puisse accéder à vos données et les analyser. Vous devez également respecter les [Conditions préalables](#prerequisites-sharepoint-connector).

Un exemple de configuration pour cette source de données est inclus dans cette section.

Pour plus d’informations sur la détection automatique des champs d’un document, les filtres d’inclusion/exclusion, la synchronisation incrémentielle, les informations d’identification secrètes et leur fonctionnement, développez les sections suivantes :

### Détection automatique des principaux champs d’un document
<a name="ds-sharepoint-document-fields"></a>

Le connecteur de source de données détecte et indexe automatiquement les principaux champs de métadonnées de vos documents ou contenus. Par exemple, le connecteur de source de données peut indexer le contenu principal (ou son équivalent), le titre et la date de création ou de modification de vos documents, ou d’autres champs de base susceptibles de s’appliquer à ceux-ci.

**Important**  
Si votre contenu contient des informations sensibles, vous Amazon Bedrock pouvez répondre en utilisant des informations sensibles.

Vous pouvez appliquer des opérateurs de filtrage aux champs de métadonnées afin d’améliorer davantage la pertinence des réponses. Par exemple, « epoch\$1modification\$1time » pour connaître le nombre de secondes écoulées depuis le 1er janvier 1970 jusqu’au moment de la dernière mise à jour du document. Vous pouvez filtrer les données en fonction des plus récentes, pour lesquelles « epoch\$1modification\$1time » est *supérieur à* un certain nombre. Pour plus d’informations sur les opérateurs de filtrage que vous pouvez appliquer à vos champs de métadonnées, consultez [Métadonnées et filtrage](https://docs.aws.amazon.com/bedrock/latest/userguide/kb-test-config.html).

### Filtres d’inclusion et d’exclusion
<a name="ds-sharepoint-inclusion-exclusion"></a>

Vous pouvez inclure ou exclure l’indexation de certains contenus. Par exemple, vous pouvez spécifier un modèle d' prefix/regular expression d'exclusion pour ignorer l'analyse de tout fichier dont le nom contient le mot « privé ». Vous pouvez également spécifier un modèle d' prefix/regular expression d'inclusion pour inclure certaines entités de contenu ou certains types de contenu. Si vous spécifiez un filtre d’inclusion et un filtre d’exclusion et que les deux correspondent à un document, le filtre d’exclusion est prioritaire et le document n’est pas indexé.

Exemple de modèle d’expression régulière permettant d’exclure ou de filtrer les fichiers PDF dont le nom contient « privé » : *".\$1privé.\$1\$1\$1.pdf"*

Vous pouvez appliquer inclusion/exclusion des filtres aux types de contenu suivants :
+ `Page` : titre de la page principale
+ `Event` : nom de l’événement
+ `File` : nom du fichier avec son extension pour les pièces jointes et tous les fichiers du document

L'exploration de OneNote documents n'est actuellement pas prise en charge.

### Synchronisation incrémentielle
<a name="ds-sharepoint-incremental-sync"></a>

Le connecteur de source de données analyse le contenu nouveau, modifié et supprimé chaque fois que votre source de données se synchronise avec votre base de connaissances. Amazon Bedrock peut utiliser le mécanisme de votre source de données pour suivre les modifications de contenu et explorer le contenu modifié depuis la dernière synchronisation. Lorsque vous synchronisez votre source de données avec votre base de connaissances pour la première fois, l’ensemble du contenu est indexé par défaut.

Pour synchroniser votre source de données avec votre base de connaissances, utilisez l'[StartIngestionJob](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent_StartIngestionJob.html)API ou sélectionnez votre base de connaissances dans la console et sélectionnez **Synchroniser** dans la section de présentation de la source de données.

**Important**  
Toutes les données que vous synchronisez à partir de votre source de données sont accessibles à toute personne disposant des autorisations `bedrock:Retrieve` pour récupérer les données. Cela peut également inclure toutes les données dont les autorisations de source de données sont contrôlées. Pour plus d’informations, consultez [Autorisations de la base de connaissances](https://docs.aws.amazon.com/bedrock/latest/userguide/kb-permissions.html).

### Informations d’identification secrètes
<a name="ds-sharepoint-secret-auth-credentials"></a>

Lorsque vous utilisez l'authentification SharePoint App-Only, vos informations d'authentification secrètes AWS Secrets Manager doivent inclure les paires clé-valeur suivantes :
+ `clientId`: *client ID associated with your Microsoft Entra SharePoint application*
+ `clientSecret`: *client secret associated with your Microsoft Entra SharePoint application*
+ `sharePointClientId`: *client ID generated when registering your SharePoint app for App-Only authentication*
+ `sharePointClientSecret`: *client secret generated when registering your SharePoint app for App-Only authentication*

**Note**  
Votre code secret AWS Secrets Manager doit utiliser la même région que celle de votre base de connaissances.

------
#### [ Console ]

**Connect une SharePoint instance à votre base de connaissances**<a name="connect-sharepoint-console"></a>

1. Suivez les étapes décrites dans [Création d’une base de connaissances en se connectant à une source de données dans Amazon Bedrock Knowledge Bases](knowledge-base-create.md) et choisissez **SharePoint**comme source de données.

1. Indiquez un nom et une description facultative de la source de données.

1. Indiquez l'URL de votre SharePoint site/URLs. Par exemple, pour SharePoint Online,*https://yourdomain.sharepoint.com/sites/mysite*. Votre URL doit commencer par *https* et contenir *sharepoint.com*. L'URL de votre site doit être le SharePoint site réel, pas *sharepoint.com/* ou *sites/mysite/home.aspx*

1. Indiquez le nom de domaine de votre SharePoint instance.

1. Dans la section **Paramètres avancés**, vous pouvez éventuellement configurer les éléments suivants :
   + **Clé KMS pour le stockage de données transitoires** — Vous pouvez chiffrer les données transitoires tout en les convertissant en données intégrées à l'aide de la clé KMS par défaut Clé gérée par AWS ou de votre propre clé. Pour de plus amples informations, veuillez consulter [Chiffrement du stockage des données transitoires lors de l’ingestion de données](encryption-kb.md#encryption-kb-ingestion).
   + **Politique de suppression des données** : vous pouvez supprimer les vectorisations de votre source de données qui sont stockées dans le magasin de vecteurs par défaut, ou choisir de conserver les données du magasin de vecteurs.

1. Fournissez les informations d'authentification pour vous connecter à votre SharePoint instance. Pour l' SharePoint authentification par application uniquement :

   1. Fournissez l’ID de locataire. Vous trouverez celui-ci dans les propriétés sur le portail Azure Active Directory.

   1. Accédez AWS Secrets Manager à pour ajouter vos informations d'identification secrètes ou utilisez un Amazon Resource Name (ARN) existant pour le secret que vous avez créé. Votre code secret doit contenir l'identifiant SharePoint client et le secret SharePoint client générés lorsque vous avez enregistré l'application uniquement au niveau du locataire ou au niveau du site, ainsi que l'identifiant client Entra et le secret client Entra générés lorsque vous enregistrez l'application dans Entra.

1. (Facultatif) Dans la section **Analyse et découpage du contenu**, vous pouvez personnaliser le mode d’analyse et de découpage de vos données. Consultez les ressources suivantes pour en savoir plus sur ces personnalisations :
   + Pour plus d’informations sur les options d’analyse, consultez [Options d’analyse structurée pour votre source de données](kb-advanced-parsing.md).
   + Pour plus d’informations sur les stratégies de découpage, consultez [Fonctionnement du découpage du contenu pour les bases de connaissances](kb-chunking.md).
**Avertissement**  
Une fois connecté à la source de données, vous ne pouvez plus modifier la stratégie de découpage.
   + Pour plus d’informations sur la façon de personnaliser le découpage de vos données et le traitement de vos métadonnées avec une fonction Lambda, consultez [Utilisation d’une fonction Lambda de transformation personnalisée pour définir la manière dont vos données sont ingérées](kb-custom-transformation.md).

1. Choisissez d'utiliser des modèles d' filters/regular expressions pour inclure ou exclure certains contenus. Autrement, l’ensemble du contenu standard est indexé.

1. Continuez en choisissant un modèle de vectorisation et un magasin de vecteurs. Pour voir les étapes restantes, revenez à [Création d’une base de connaissances en se connectant à une source de données dans Amazon Bedrock Knowledge Bases](knowledge-base-create.md) et poursuivez après avoir connecté votre source de données.

------
#### [ API ]

Voici un exemple de configuration pour vous connecter à SharePoint Online pour votre base de connaissances Amazon Bedrock. Vous configurez votre source de données à l'aide de l'API avec le SDK compatible AWS CLI ou compatible, tel que Python. Après avoir appelé [CreateKnowledgeBase](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent_CreateKnowledgeBase.html), vous appelez [CreateDataSource](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent_CreateDataSource.html)pour créer votre source de données avec vos informations de connexion`dataSourceConfiguration`.

Pour en savoir plus sur les personnalisations que vous pouvez appliquer à l’ingestion en incluant le champ facultatif `vectorIngestionConfiguration`, consultez [Personnalisation de l’ingestion pour une source de données](kb-data-source-customize-ingestion.md).

**AWS Command Line Interface**

```
aws bedrock-agent create-data-source \
 --name "SharePoint Online connector" \
 --description "SharePoint Online data source connector for Amazon Bedrock to use content in SharePoint" \
 --knowledge-base-id "your-knowledge-base-id" \
 --data-source-configuration file://sharepoint-bedrock-connector-configuration.json \
 --data-deletion-policy "DELETE"
```

**Contenu de `sharepoint-bedrock-connector-configuration.json`**

```
{
    "sharePointConfiguration": {
        "sourceConfiguration": {
            "tenantId": "888d0b57-69f1-4fb8-957f-e1f0bedf64de",
            "hostType": "ONLINE",
            "domain": "yourdomain",
            "siteUrls": [
                "https://yourdomain.sharepoint.com/sites/mysite"
            ],
            "authType": "OAUTH2_SHAREPOINT_APP_ONLY_CLIENT_CREDENTIALS",
            "credentialsSecretArn": "arn:aws::secretsmanager:your-region:secret:AmazonBedrock-SharePoint"
        },
        "crawlerConfiguration": {
            "filterConfiguration": {
                "type": "PATTERN",
                "patternObjectFilter": {
                    "filters": [
                        {
                            "objectType": "File",
                            "inclusionFilters": [
                                ".*\\.pdf"
                            ],
                            "exclusionFilters": [
                                ".*private.*\\.pdf"
                            ]
                        }
                    ]
                }
            }
        }
    },
    "type": "SHAREPOINT"
}
```

------

**Important**  
L'authentification OAuth2 .0 n'est pas recommandée. Nous vous recommandons d'utiliser l'authentification SharePoint uniquement par application.

## Utilisation de 0 OAuth2.
<a name="sharepoint-connector-oauth"></a>

La OAuth version 2.0 vous permet d'authentifier et d'autoriser l'accès aux SharePoint ressources pour les SharePoint connecteurs intégrés aux bases de connaissances.

### Conditions préalables
<a name="sharepoint-connector-oauth-prereq"></a>

**Dans SharePoint le cas de l'authentification OAuth 2.0, assurez-vous** de :
+ Prenez note de l'URL de votre site SharePoint en ligne/URLs. Par exemple, *https://yourdomain.sharepoint.com/sites/mysite*. Votre URL doit commencer par *https* et contenir *sharepoint.com*. L'URL de votre site doit être le SharePoint site réel, pas *sharepoint.com/* ou *sites/mysite/home.aspx*
+ Prenez note du nom de domaine de l'URL de votre instance SharePoint en ligne/URLs.
+ Copiez votre ID de locataire Microsoft 365. Vous pouvez trouver votre identifiant de locataire dans les propriétés de votre portail Microsoft Entra ou dans votre OAuth application.

  Prenez note du nom d'utilisateur et du mot de passe du SharePoint compte administrateur, puis copiez l'ID client et la valeur secrète du client lors de l'enregistrement d'une application.
**Note**  
Pour obtenir un exemple d’application, consultez [Inscrire une application cliente dans Microsoft Entra ID](https://learn.microsoft.com/en-us/azure/healthcare-apis/register-application) (anciennement Azure Active Directory) sur le site web Microsoft Learn. 
+ Certaines autorisations de lecture sont requises pour se connecter SharePoint lorsque vous enregistrez une application.
  + SharePoint: AllSites .Read (Delegated) — Lit les éléments de toutes les collections de sites
+ Vous devrez peut-être désactiver les paramètres de **sécurité par défaut** sur le portail Azure via un utilisateur administrateur. Pour plus d'informations sur la gestion des paramètres de sécurité par défaut sur le portail Azure, consultez la [documentation Microsoft sur la procédure à suivre pour définir les paramètres enable/disable de sécurité par défaut](https://learn.microsoft.com/en-us/microsoft-365/business-premium/m365bp-conditional-access?view=o365-worldwide&tabs=secdefaults#security-defaults-1).
+ Il se peut que vous deviez désactiver l'authentification multifactorielle (MFA) dans SharePoint votre compte afin qu'Amazon Bedrock ne soit pas empêché d'explorer votre contenu. SharePoint 

Pour respecter les conditions préalables, assurez-vous d’avoir terminé les étapes décrites dans [Compte AWS](#prerequisites-sharepoint-connector-account).

### Informations d’identification secrètes
<a name="sharepoint-secret-auth-credentials-oauth"></a>

Pour la configuration de la connexion pour la version OAuth2 .0, vous pouvez effectuer les mêmes étapes pour la détection automatique des principaux champs du document, des inclusion/exclusion filtres et de la synchronisation incrémentielle, comme décrit dans. [Configuration de la connexion](#configuration-sharepoint-connector)

**Pour l'authentification OAuth 2.0, vos informations d'authentification secrètes AWS Secrets Manager doivent inclure ces paires clé-valeur**.
+ `username`: *SharePoint admin username*
+ `password`: *SharePoint admin password*
+ `clientId`: *OAuth app client ID*
+ `clientSecret`: *OAuth app client secret*

### Connect une SharePoint instance à votre base de connaissances
<a name="sharepoint-connector-oauth-using"></a>

Pour connecter une SharePoint instance à votre base de connaissances lorsque vous utilisez la version OAuth2 .0 :
+ (console) Dans la console, suivez les mêmes étapes que celles décrites dans la section [Connecter une SharePoint instance à votre base de connaissances](https://docs.aws.amazon.com/bedrock/latest/userguide/sharepoint-data-source-connector.html#connect-sharepoint-console). Lorsque vous souhaitez fournir les informations d'authentification pour vous connecter à votre SharePoint instance.
  + Fournissez l’ID de locataire. Vous trouverez celui-ci dans les propriétés sur le portail Azure Active Directory.
  + Accédez AWS Secrets Manager à pour ajouter vos informations d'authentification secrètes ou utilisez un Amazon Resource Name (ARN) existant pour le secret que vous avez créé. Votre code secret doit contenir le nom d'utilisateur et le mot de passe de l' SharePoint administrateur, ainsi que l'identifiant client et le secret client de l'application que vous avez enregistrés. Pour obtenir un exemple d’application, consultez [Inscrire une application cliente dans Microsoft Entra ID](https://learn.microsoft.com/en-us/azure/healthcare-apis/register-application) (anciennement Azure Active Directory) sur le site web Microsoft Learn.
+ (API) Voici un exemple d'utilisation de l'`CreateDataSource`API pour créer votre source de données avec vos informations de connexion pour OAuth2 .0.

  ```
  aws bedrock-agent create-data-source \
   --name "SharePoint Online connector" \
   --description "SharePoint Online data source connector for Amazon Bedrock to use content in SharePoint" \
   --knowledge-base-id "your-knowledge-base-id" \
   --data-source-configuration file://sharepoint-bedrock-connector-configuration.json \
   --data-deletion-policy "DELETE"
  ```

  **Contenu de `sharepoint-bedrock-connector-configuration.json`**

  ```
  {
      "sharePointConfiguration": {
          "sourceConfiguration": {
              "tenantId": "888d0b57-69f1-4fb8-957f-e1f0bedf64de",
              "hostType": "ONLINE",
              "domain": "yourdomain",
              "siteUrls": [
                  "https://yourdomain.sharepoint.com/sites/mysite"
              ],
              "authType": "OAUTH2_CLIENT_CREDENTIALS",
              "credentialsSecretArn": "arn:aws::secretsmanager:your-region:secret:AmazonBedrock-SharePoint"
          },
          "crawlerConfiguration": {
              "filterConfiguration": {
                  "type": "PATTERN",
                  "patternObjectFilter": {
                      "filters": [
                          {
                              "objectType": "File",
                              "inclusionFilters": [
                                  ".*\\.pdf"
                              ],
                              "exclusionFilters": [
                                  ".*private.*\\.pdf"
                              ]
                          }
                      ]
                  }
              }
          }
      },
      "type": "SHAREPOINT"
  }
  ```

# Connexion à Salesforce pour votre base de connaissances
<a name="salesforce-data-source-connector"></a>

Salesforce est un outil de gestion de la relation client (CRM) permettant de gérer les équipes d’assistance, de vente et de marketing. Vous pouvez vous connecter à votre instance Salesforce pour votre base de connaissances Amazon Bedrock en utilisant la [console de gestion AWS pour Amazon Bedrock](https://console.aws.amazon.com/bedrock/home) ou l’API [CreateDataSource](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent_CreateDataSource.html) (consultez [les commandes de l’AWS CLI et les kits SDK pris en charge](https://docs.aws.amazon.com/bedrock/latest/APIReference/welcome.html) par Amazon Bedrock).

**Note**  
Le connecteur de source de données Salesforce est proposé en version préliminaire et peut faire l’objet de modifications.  
Les sources de données Salesforce ne prennent pas en charge les données multimodales, telles que les tableaux, les graphiques, les diagrammes ou autres images.

Actuellement, seul le magasin de vecteurs Amazon OpenSearch sans serveur peut être utilisé avec cette source de données.

Il existe des limites au nombre de fichiers et de Mo par fichier pouvant être indexés. Consultez [Quotas pour les bases de connaissances](https://docs.aws.amazon.com/bedrock/latest/userguide/quotas.html).

**Topics**
+ [Fonctionnalités prises en charge](#supported-features-salesforce-connector)
+ [Conditions préalables](#prerequisites-salesforce-connector)
+ [Configuration de la connexion](#configuration-salesforce-connector)

## Fonctionnalités prises en charge
<a name="supported-features-salesforce-connector"></a>
+ Détection automatique des principaux champs d’un document
+ Filtres de contenu d’inclusion/exclusion
+ Synchronisation incrémentielle du contenu ajouté, mis à jour et supprimé
+ Authentification OAuth 2.0

## Conditions préalables
<a name="prerequisites-salesforce-connector"></a>

**Dans Salesforce** :
+ Assurez-vous de noter l’URL de votre instance Salesforce. Par exemple, *https://company.salesforce.com/*. L’instance doit exécuter une application connectée Salesforce.
+ Créez une application connectée Salesforce et configurez les informations d’identification client. Ensuite, pour l’application sélectionnée, copiez la clé consommateur (ID client) et le secret consommateur (secret client) à partir des paramètres OAuth. Pour plus d’informations, consultez [Create a Connected App](https://help.salesforce.com/s/articleView?id=sf.connected_app_create.htm&type=5) et [Configure a Connected App for the OAuth 2.0 Client Credentials Flow](https://help.salesforce.com/s/articleView?id=sf.connected_app_client_credentials_setup.htm&type=5) dans la documentation Salesforce.
**Note**  
Pour les applications connectées Salesforce, sous Flux d’informations d’identification client, assurez-vous de rechercher et de sélectionner le nom ou l’alias des informations d’identifications de votre client dans le champ « Exécuter sous ».

**Dans votre compte AWS** :
+ Pour l’authentification, assurez-vous de stocker vos informations d’identification dans un [secret AWS Secrets Manager](https://docs.aws.amazon.com/secretsmanager/latest/userguide/create_secret.html) et notez l’Amazon Resource Name (ARN) du secret. Suivez les instructions de la section **Configuration de la connexion** sur cette page pour inclure les paires clé-valeur qui doivent être incluses dans votre secret.
+ Incluez dans votre politique de rôle/d’autorisations Gestion des identités et des accès AWS (IAM) les autorisations nécessaires afin de vous connecter à votre source de données pour votre base de connaissances. Pour en savoir plus sur les autorisations requises afin d’ajouter cette source de données à votre rôle IAM dans la base de connaissances, consultez [Autorisations d’accès aux sources de données](https://docs.aws.amazon.com/bedrock/latest/userguide/kb-permissions.html#kb-permissions-access-ds).

**Note**  
Si vous utilisez la console, vous pouvez accéder à AWS Secrets Manager pour ajouter votre secret ou utiliser un secret existant dans le cadre de l’étape de configuration de la source de données. Le rôle IAM possédant toutes les autorisations requises peut être créé pour vous dans le cadre des étapes de la console pour créer une base de connaissances. Une fois votre source de données configurée et les autres configurations effectuées, le rôle IAM possédant toutes les autorisations requises est appliqué à votre base de connaissances spécifique.  
Nous vous recommandons d’actualiser ou de modifier régulièrement vos informations d’identification et votre secret. Pour votre propre sécurité, fournissez uniquement le niveau d’accès nécessaire. Nous vous recommandons de ne pas réutiliser vos informations d’identification et vos secrets d’une source de données à l’autre.

## Configuration de la connexion
<a name="configuration-salesforce-connector"></a>

Afin de vous connecter à votre instance Salesforce, vous devez fournir les informations de configuration nécessaires pour qu’Amazon Bedrock puisse accéder à vos données et les indexer. Vous devez également respecter les [Conditions préalables](#prerequisites-salesforce-connector).

Un exemple de configuration pour cette source de données est inclus dans cette section.

Pour plus d’informations sur la détection automatique des champs d’un document, les filtres d’inclusion/exclusion, la synchronisation incrémentielle, les informations d’identification secrètes et leur fonctionnement, développez les sections suivantes :

### Détection automatique des principaux champs d’un document
<a name="ds-salesforce-document-fields"></a>

Le connecteur de source de données détecte et indexe automatiquement les principaux champs de métadonnées de vos documents ou contenus. Par exemple, le connecteur de source de données peut indexer le contenu principal (ou son équivalent), le titre et la date de création ou de modification de vos documents, ou d’autres champs de base susceptibles de s’appliquer à ceux-ci.

**Important**  
Si votre contenu contient des informations sensibles, Amazon Bedrock peut répondre en utilisant des informations sensibles.

Vous pouvez appliquer des opérateurs de filtrage aux champs de métadonnées afin d’améliorer davantage la pertinence des réponses. Par exemple, « epoch\$1modification\$1time » pour connaître le nombre de secondes écoulées depuis le 1er janvier 1970 jusqu’au moment de la dernière mise à jour du document. Vous pouvez filtrer les données en fonction des plus récentes, pour lesquelles « epoch\$1modification\$1time » est *supérieur à* un certain nombre. Pour plus d’informations sur les opérateurs de filtrage que vous pouvez appliquer à vos champs de métadonnées, consultez [Métadonnées et filtrage](https://docs.aws.amazon.com/bedrock/latest/userguide/kb-test-config.html).

### Filtres d’inclusion et d’exclusion
<a name="ds-salesforce-inclusion-exclusion"></a>

Vous pouvez inclure ou exclure l’indexation de certains contenus. Par exemple, vous pouvez spécifier un préfixe d’exclusion/un modèle d’expression régulière pour éviter d’indexer tout fichier dont le nom contient le mot « privé ». Vous pouvez également spécifier un préfixe d’inclusion/un modèle d’expression régulière pour inclure certaines entités ou certains types de contenu. Si vous spécifiez un filtre d’inclusion et un filtre d’exclusion et que les deux correspondent à un document, le filtre d’exclusion est prioritaire et le document n’est pas indexé.

Exemple de modèle d’expression régulière permettant d’exclure ou de filtrer les campagnes dont le nom contient « privé » : *".\$1privé.\$1"*

Vous pouvez appliquer des filtres d’inclusion/exclusion aux types de contenus suivants :
+ `Account` : numéro/identifiant de compte
+ `Attachment` : nom de fichier joint avec son extension
+ `Campaign` : nom de la campagne et identifiants associés
+ `ContentVersion` : Version du document et identifiants associés
+ `Partner` : champs d’informations sur les partenaires, y compris les identifiants associés
+ `Pricebook2` : nom de la liste de produits/prix
+ `Case` : numéro de demande/de problème d’un client et autres champs d’information, y compris les identifiants associés (Attention : peut contenir des informations personnelles que vous pouvez choisir d’exclure ou de filtrer)
+ `Contact` : champs d’informations d’un client (Attention : peut contenir des informations personnelles que vous pouvez choisir d’exclure ou de filtrer)
+ `Contract` : nom du contrat et identifiants associés
+ `Document` : nom de fichier avec son extension
+ `Idea` : champs d’informations d’une idée et identifiants associés
+ `Lead` : champs d’informations d’un nouveau client potentiel (Attention : peut contenir des informations personnelles que vous pouvez choisir d’exclure ou de filtrer)
+ `Opportunity` : champs d’informations d’une vente/affaire en attente et identifiants associés
+ `Product2` : champs d’informations d’un produit et identifiants associés
+ `Solution` : nom de la solution à la demande/au problème d’un client et identifiants associés
+ `Task` : champs d’informations d’une tâche et identifiants associés
+ `FeedItem` : identifiant d’une publication du flux Chatter
+ `FeedComment` : identifiant de la publication du flux Chatter à laquelle appartiennent les commentaires
+ `Knowledge__kav` : titre de l’article de la base de connaissances
+ `User` : alias utilisateur au sein de votre organisation
+ `CollaborationGroup` : nom du groupe Chatter (unique)

### Synchronisation incrémentielle
<a name="ds-salesforce-incremental-sync"></a>

Le connecteur de source de données indexe le contenu nouveau, modifié et supprimé chaque fois que votre source de données se synchronise avec votre base de connaissances. Amazon Bedrock peut utiliser le mécanisme de votre source de données pour suivre les modifications et indexer le contenu modifié depuis la dernière synchronisation. Lorsque vous synchronisez votre source de données avec votre base de connaissances pour la première fois, l’ensemble du contenu est indexé par défaut.

Pour synchroniser votre source de données avec votre base de connaissances, utilisez l’API [StartIngestionJob](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent_StartIngestionJob.html) ou sélectionnez votre base de connaissances dans la console, puis sélectionnez **Synchroniser** dans la section Vue d’ensemble des sources de données.

**Important**  
Toutes les données que vous synchronisez à partir de votre source de données sont accessibles à toute personne disposant des autorisations `bedrock:Retrieve` pour récupérer les données. Cela peut également inclure toutes les données dont les autorisations de source de données sont contrôlées. Pour plus d’informations, consultez [Autorisations de la base de connaissances](https://docs.aws.amazon.com/bedrock/latest/userguide/kb-permissions.html).

### Informations d’identification secrètes
<a name="ds-salesforce-secret-auth-credentials"></a>

(Pour l’authentification OAuth 2.0) Vos informations d’identification dans AWS Secrets Manager doivent inclure les paires clé-valeur suivantes :
+ `consumerKey` : *ID client de l’application*
+ `consumerSecret` : *secret client de l’application*
+ `authenticationUrl` : *URL de l’instance Salesforce ou URL à laquelle demander le jeton d’authentification*

**Note**  
Votre secret dans AWS Secrets Manager doit utiliser la même région que celle de votre base de connaissances.

------
#### [ Console ]

**Connexion d’une instance Salesforce à votre base de connaissances**

1. Suivez les étapes décrites dans [Création d’une base de connaissances en se connectant à une source de données dans Amazon Bedrock Knowledge Bases](knowledge-base-create.md) et choisissez **Salesforce** comme source de données.

1. Indiquez un nom et une description facultative de la source de données.

1. Fournissez l’URL de votre instance Salesforce. Par exemple, *https://company.salesforce.com/*. L’instance doit exécuter une application connectée Salesforce.

1. Dans la section **Paramètres avancés**, vous pouvez éventuellement configurer les éléments suivants :
   + **Clé KMS pour le stockage de données transitoires**  : vous pouvez chiffrer les données transitoires lors de la conversion de vos données en vectorisations à l’aide de la Clé gérée par AWS par défaut ou de votre propre clé KMS. Pour plus d’informations, consultez [Chiffrement du stockage des données transitoires lors de l’ingestion de données](encryption-kb.md#encryption-kb-ingestion).
   + **Politique de suppression des données** : vous pouvez supprimer les vectorisations de votre source de données qui sont stockées dans le magasin de vecteurs par défaut, ou choisir de conserver les données du magasin de vecteurs.

1. Fournissez les informations d’authentification pour vous connecter à votre instance Salesforce :

   1. Pour l’authentification OAuth 2.0, rendez-vous sur AWS Secrets Manager pour ajouter vos informations d’identification secrètes ou utilisez un Amazon Resource Name (ARN) existant pour le secret que vous avez créé. Votre secret doit contenir la clé consommateur Salesforce Connected App (ID client), le secret consommateur (secret client) et l’URL d’instance Salesforce ou l’URL auprès de laquelle demander le jeton d’authentification. Pour plus d’informations, consultez [Create a Connected App](https://help.salesforce.com/s/articleView?id=sf.connected_app_create.htm&type=5) et [Configure a Connected App for the OAuth 2.0 Client Credentials Flow](https://help.salesforce.com/s/articleView?id=sf.connected_app_client_credentials_setup.htm&type=5) dans la documentation Salesforce.

1. (Facultatif) Dans la section **Analyse et découpage du contenu**, vous pouvez personnaliser le mode d’analyse et de découpage de vos données. Consultez les ressources suivantes pour en savoir plus sur ces personnalisations :
   + Pour plus d’informations sur les options d’analyse, consultez [Options d’analyse structurée pour votre source de données](kb-advanced-parsing.md).
   + Pour plus d’informations sur les stratégies de découpage, consultez [Fonctionnement du découpage du contenu pour les bases de connaissances](kb-chunking.md).
**Avertissement**  
Une fois connecté à la source de données, vous ne pouvez plus modifier la stratégie de découpage.
   + Pour plus d’informations sur la façon de personnaliser le découpage de vos données et le traitement de vos métadonnées avec une fonction Lambda, consultez [Utilisation d’une fonction Lambda de transformation personnalisée pour définir la manière dont vos données sont ingérées](kb-custom-transformation.md).

1. Utilisez des filtres/modèles d’expressions régulières pour inclure ou exclure certains contenus. Autrement, l’ensemble du contenu standard est indexé.

1. Continuez en choisissant un modèle de vectorisation et un magasin de vecteurs. Pour voir les étapes restantes, revenez à [Création d’une base de connaissances en se connectant à une source de données dans Amazon Bedrock Knowledge Bases](knowledge-base-create.md) et poursuivez après avoir connecté votre source de données.

------
#### [ API ]

Voici un exemple de configuration pour connecter votre base de connaissances Amazon Bedrock à Salesforce. Vous configurez votre source de données à l’aide de l’API avec l’AWS CLI ou d’un kit SDK compatible, tel que Python. Après avoir appelé [CreateKnowledgeBase](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent_CreateKnowledgeBase.html), vous appelez [CreateDataSource](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent_CreateDataSource.html) pour créer votre source de données contenant vos informations de connexion dans `dataSourceConfiguration`.

Pour en savoir plus sur les personnalisations que vous pouvez appliquer à l’ingestion en incluant le champ facultatif `vectorIngestionConfiguration`, consultez [Personnalisation de l’ingestion pour une source de données](kb-data-source-customize-ingestion.md).

**AWS Command Line Interface**

```
aws bedrock create-data-source \
 --name "Salesforce connector" \
 --description "Salesforce data source connector for Amazon Bedrock to use content in Salesforce" \
 --knowledge-base-id "your-knowledge-base-id" \
 --data-source-configuration file://salesforce-bedrock-connector-configuration.json \
 --data-deletion-policy "DELETE" \
 --vector-ingestion-configuration '{"chunkingConfiguration":[{"chunkingStrategy":"FIXED_SIZE","fixedSizeChunkingConfiguration":[{"maxTokens":"100","overlapPercentage":"10"}]}]}'

salesforce-bedrock-connector-configuration.json
{
    "salesforceConfiguration": {
        "sourceConfiguration": {
            "hostUrl": "https://company.salesforce.com/",
            "authType": "OAUTH2_CLIENT_CREDENTIALS",
            "credentialsSecretArn": "arn:aws::secretsmanager:your-region:secret:AmazonBedrock-Salesforce"
        },
        "crawlerConfiguration": {
            "filterConfiguration": {
                "type": "PATTERN",
                "patternObjectFilter": {
                    "filters": [
                        {
                            "objectType": "Campaign",
                            "inclusionFilters": [
                                ".*public.*"
                            ],
                            "exclusionFilters": [
                                ".*private.*"
                            ]
                        }
                    ]
                }
            }
        }
    },
    "type": "SALESFORCE"
}
```

------

# Analyse de pages Web pour votre base de connaissances
<a name="webcrawl-data-source-connector"></a>

Le robot d’indexation fourni par Amazon Bedrock se connecte aux URL que vous avez sélectionnées pour les utiliser dans votre base de connaissances Amazon Bedrock et les analyse. Vous pouvez analyser les pages du site Web conformément à la portée ou aux limites que vous avez définies pour les URL sélectionnées. Vous pouvez analyser les pages d’un site Web à l’aide de la [console de gestion AWS pour Amazon Bedrock](https://console.aws.amazon.com/bedrock/home) ou de l’API [CreateDataSource](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent_CreateDataSource.html) (consultez [les commandes de l’AWS CLI et les kits SDK pris en charge](https://docs.aws.amazon.com/bedrock/latest/APIReference/welcome.html) par Amazon Bedrock). Actuellement, seul le magasin de vecteurs Amazon OpenSearch sans serveur peut être utilisé avec cette source de données.

**Note**  
Le connecteur de source de données du robot d’indexation est en version préliminaire et peut faire l’objet de modifications.

Lorsque vous sélectionnez des sites Web à analyser, vous devez respecter la [Politique d’AWS en matière d’utilisation acceptable](https://aws.amazon.com/aup/) et toutes les autres conditions d’Amazon. N’oubliez pas que vous ne devez utiliser le robot d’indexation que pour indexer vos propres pages Web ou les pages Web que vous êtes autorisé à indexer et que vous devez respecter les configurations robots.txt.

Le robot d’indexation respecte robots.txt conformément à la norme [RFC 9309](https://www.rfc-editor.org/rfc/rfc9309.html)

Le nombre d’éléments de contenu de page Web et le nombre de Mo par élément de contenu pouvant être analysés sont limités. Consultez [Quotas pour les bases de connaissances](https://docs.aws.amazon.com/bedrock/latest/userguide/quotas.html).

**Topics**
+ [Fonctionnalités prises en charge](#supported-features-webcrawl-connector)
+ [Conditions préalables](#prerequisites-webcrawl-connector)
+ [Configuration de la connexion](#configuration-webcrawl-connector)

## Fonctionnalités prises en charge
<a name="supported-features-webcrawl-connector"></a>

Le robot d’indexation se connecte aux pages HTML et les analyse à partir de l’URL d’origine, en parcourant tous les liens enfants sous le même domaine principal et le même chemin d’accès. Si l’une des pages HTML fait référence à des documents pris en charge, le robot d’indexation récupérera ces documents, qu’ils se trouvent ou non sous le même domaine principal. Vous pouvez modifier le comportement d’indexation en modifiant la configuration d’indexation. Consultez [Configuration de la connexion](#configuration-webcrawl-connector).

Les éléments suivants sont pris en charge pour vous permettre de :
+ sélectionner plusieurs URL sources à analyser et définir la portée des URL afin d’analyser uniquement l’hôte ou d’inclure également les sous-domaines ;
+ analyser les pages Web statiques qui font partie de vos URL sources ;
+ spécifier un suffixe agent utilisateur personnalisé pour définir les règles de votre propre robot ;
+ inclure ou exclure certaines URL qui correspondent à un modèle de filtre ;
+ respecter les directives standard de robots.txt telles que « Autoriser » et « Interdire » ;
+ limiter la portée des URL à analyser et exclure éventuellement les URL qui correspondent à un modèle de filtre ;
+ limiter le taux d’indexation des URL et le nombre maximum de pages à analyser ;
+ consulter l’état des URL indexées dans Amazon CloudWatch.

## Conditions préalables
<a name="prerequisites-webcrawl-connector"></a>

**Pour utiliser le robot d’indexation, assurez-vous de :**
+ vérifier que vous êtes autorisé à analyser vos URL sources ;
+ vérifier que le chemin d’accès à robots.txt correspondant à vos URL sources n’empêche pas l’analyse des URL. Le robot d’indexation respecte les normes de robots.txt : `disallow` par défaut si robots.txt n’est pas trouvé pour le site Web. Le robot d’indexation respecte robots.txt conformément à la norme [RFC 9309](https://www.rfc-editor.org/rfc/rfc9309.html). Vous pouvez également spécifier un suffixe d’en-tête agent utilisateur personnalisé pour définir les règles de votre propre robot. Pour plus d’informations, consultez Accès à l’URL du robot d’indexation dans les instructions [Configuration de la connexion](#configuration-webcrawl-connector) de cette page ;
+ [activer la livraison des journaux CloudWatch Logs](https://docs.aws.amazon.com/bedrock/latest/userguide/knowledge-bases-logging.html) et suivre des exemples de journaux du robot d’indexation pour connaître l’état de votre tâche d’ingestion de données pour l’ingestion de contenu Web et savoir si certaines URL ne peuvent pas être récupérées.

**Note**  
Lorsque vous sélectionnez des sites Web à analyser, vous devez respecter la [Politique d’AWS en matière d’utilisation acceptable](https://aws.amazon.com/aup/) et toutes les autres conditions d’Amazon. N’oubliez pas que vous ne devez utiliser le robot d’indexation que pour indexer vos propres pages Web ou les pages Web que vous êtes autorisé à analyser.

## Configuration de la connexion
<a name="configuration-webcrawl-connector"></a>

Pour plus d’informations sur la portée de synchronisation pour l’indexation des URL, les filtres d’inclusion/exclusion, l’accès aux URL, la synchronisation incrémentielle et leur fonctionnement, sélectionnez les sections suivantes :

### Portée de synchronisation pour l’indexation des URL
<a name="ds-sync-scope"></a>

Vous pouvez limiter la portée des URL à analyser en fonction de la relation spécifique entre l’URL de chaque page et les URL d’origine. Pour accélérer les analyses, vous pouvez limiter les URL à celles qui ont le même hôte et le même chemin d’URL initial que l’URL d’origine. Pour des analyses plus étendues, vous pouvez choisir d’analyser les URL avec le même hôte ou dans n’importe quel sous-domaine de l’URL d’origine.

Choisissez parmi les options décrites ci-dessous.
+ Par défaut : limitez l’indexation aux pages Web qui appartiennent au même hôte et dont le chemin URL initial est le même. Par exemple, avec une URL d’origine « https://aws.amazon.com/bedrock/ », seuls ce chemin et les pages Web qui en découlent seront analysés, comme « https://aws.amazon.com/bedrock/agents/ ». Les URL sœurs telles que « https://aws.amazon.com/ec2/ » ne sont pas analysées, par exemple.
+ Hôte uniquement : limitez l’indexation aux pages Web appartenant au même hôte. Par exemple, si l’URL d’origine est « https://aws.amazon.com/bedrock/ », les pages Web contenant « https://aws.amazon.com » seront également analysées, comme « https://aws.amazon.com/ec2 ».
+ Sous-domaines : incluez l’indexation de toute page Web dont le domaine principal est celui de l’URL d’origine. Par exemple, si l’URL d’origine est « https://aws.amazon.com/bedrock/ », toute page Web contenant « amazon.com » (sous-domaine) sera analysée, comme « https://www.amazon.com ».

**Note**  
Assurez-vous de ne pas indexer un nombre potentiellement excessif de pages Web. Il n’est pas recommandé d’analyser des sites Web volumineux, tels que wikipedia.org, sans filtres ni limites de portée. L’indexation de sites Web volumineux prendra beaucoup de temps.  
Les [types de fichiers pris en charge](https://docs.aws.amazon.com/bedrock/latest/userguide/knowledge-base-ds.html) sont analysés quelle que soit leur portée et s’il n’existe aucun modèle d’exclusion pour le type de fichier.

Le robot d’indexation prend en charge les sites Web statiques.

Vous pouvez également limiter le taux d’indexation des URL afin de contrôler la limitation de la vitesse d’indexation. Vous définissez le nombre maximal d’URL à analyser par hôte et par minute. En outre, vous pouvez également définir le nombre maximal (jusqu’à 25 000) de pages Web à analyser. Notez que si le nombre total de pages Web provenant de vos URL sources dépasse le maximum défini, votre tâche de synchronisation/ingestion de sources de données échouera.

### Filtres d’inclusion et d’exclusion
<a name="ds-inclusion-exclusion"></a>

Vous pouvez inclure ou exclure certaines URL en fonction de votre portée. Les [types de fichiers pris en charge](https://docs.aws.amazon.com/bedrock/latest/userguide/knowledge-base-ds.html) sont analysés quelle que soit leur portée et s’il n’existe aucun modèle d’exclusion pour le type de fichier. Si vous spécifiez un filtre d’inclusion et un filtre d’exclusion et que les deux correspondent à une URL, le filtre d’exclusion est prioritaire et le contenu Web n’est pas analysé.

**Important**  
Les filtres de modèles d’expression régulière problématiques qui entraînent un [retour sur trace catastrophique](https://docs.aws.amazon.com/codeguru/detector-library/python/catastrophic-backtracking-regex/) et une vision prospective sont rejetés.

Exemple de modèle de filtre d’expression régulière pour exclure les URL se terminant par « .pdf » ou les pièces jointes de pages Web PDF : *« .\$1\$1.pdf\$1 »*

### Accès à l’URL du robot d’indexation
<a name="ds-webcrawl-identity-crawling"></a>

Vous pouvez utiliser le robot d’indexation pour explorer les pages des sites Web que vous êtes autorisé à analyser.

Lorsque vous sélectionnez des sites Web à analyser, vous devez respecter la [Politique d’AWS en matière d’utilisation acceptable](https://aws.amazon.com/aup/) et toutes les autres conditions d’Amazon. N’oubliez pas que vous ne devez utiliser le robot d’indexation que pour indexer vos propres pages Web ou les pages Web que vous êtes autorisé à analyser.

Le robot d’indexation respecte robots.txt conformément à la norme [RFC 9309](https://www.rfc-editor.org/rfc/rfc9309.html)

Vous pouvez spécifier à certains robots Agent utilisateur « d’autoriser » ou de « refuser » à l’agent utilisateur d’analyser vos URL sources. Vous pouvez modifier le fichier robots.txt de votre site Web pour contrôler la façon dont le robot d’indexation explore vos URL sources. Le robot recherchera d’abord les règles `bedrockbot-UUID `, puis les règles `bedrockbot` génériques dans le fichier robots.txt.

Vous pouvez également ajouter un suffixe Agent utilisateur qui peut être utilisé pour autoriser votre robot à figurer sur la liste des systèmes de protection contre les robots. Notez qu’il n’est pas nécessaire d’ajouter ce suffixe au fichier `robots.txt` pour s’assurer que personne ne puisse usurper la chaîne Agent utilisateur. Par exemple, pour autoriser le robot d’indexation à indexer tout le contenu du site Web et interdire l’indexation à tout autre robot, utilisez la directive suivante :

```
User-agent: bedrockbot-UUID # Amazon Bedrock Web Crawler
Allow: / # allow access to all pages
User-agent: * # any (other) robot
Disallow: / # disallow access to any pages
```

### Synchronisation incrémentielle
<a name="ds-incremental-sync"></a>

Chaque fois que le robot d’indexation s’exécute, il récupère le contenu de toutes les URL accessibles depuis les URL sources et qui correspondent à la portée et aux filtres. Pour les synchronisations incrémentielles après la première synchronisation de l’ensemble du contenu, Amazon Bedrock mettra à jour votre base de connaissances avec du contenu nouveau et modifié, et supprimera l’ancien contenu qui n’est plus présent. Parfois, le robot d’indexation peut ne pas être en mesure de savoir si le contenu a été supprimé du site Web ; dans ce cas, il préférera conserver l’ancien contenu de votre base de connaissances.

Pour synchroniser votre source de données avec votre base de connaissances, utilisez l’API [StartIngestionJob](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent_StartIngestionJob.html) ou sélectionnez votre base de connaissances dans la console, puis sélectionnez **Synchroniser** dans la section Vue d’ensemble des sources de données.

**Important**  
Toutes les données que vous synchronisez à partir de votre source de données sont accessibles à toute personne disposant des autorisations `bedrock:Retrieve` pour récupérer les données. Cela peut également inclure toutes les données dont les autorisations de source de données sont contrôlées. Pour plus d’informations, consultez [Autorisations de la base de connaissances](https://docs.aws.amazon.com/bedrock/latest/userguide/kb-permissions.html).

------
#### [ Console ]

**Connexion d’une source de données du robot d’indexation à votre base de connaissances**

1. Suivez les étapes décrites dans [Création d’une base de connaissances en se connectant à une source de données dans Amazon Bedrock Knowledge Bases](knowledge-base-create.md) et choisissez **Robot d’indexation** comme source de données.

1. Indiquez un nom et une description facultative de la source de données.

1. Indiquez les **URL source** des URL que vous souhaitez explorer. Vous pouvez ajouter jusqu’à 9 URL supplémentaires en sélectionnant **Ajouter des URL sources**. En fournissant une URL source, vous confirmez que vous êtes autorisé à analyser son domaine.

1. Dans la section **Paramètres avancés**, vous pouvez éventuellement configurer les éléments suivants :
   + **Clé KMS pour le stockage de données transitoires**  : vous pouvez chiffrer les données transitoires lors de la conversion de vos données en vectorisations à l’aide de la Clé gérée par AWS par défaut ou de votre propre clé KMS. Pour plus d’informations, consultez [Chiffrement du stockage des données transitoires lors de l’ingestion de données](encryption-kb.md#encryption-kb-ingestion).
   + **Politique de suppression des données** : vous pouvez supprimer les vectorisations de votre source de données qui sont stockées dans le magasin de vecteurs par défaut, ou choisir de conserver les données du magasin de vecteurs.

1. (Facultatif) Fournissez un suffixe Agent utilisateur pour **bedrock-UUID-** qui identifie le robot d’indexation ou le robot lorsqu’il accède à un serveur Web.

1. Configurez les éléments suivants dans la section **Portée de la synchronisation** :

   1. Sélectionnez une **gamme de domaines du site Web** pour indexer vos URL sources :
      + Par défaut : limitez l’indexation aux pages Web qui appartiennent au même hôte et dont le chemin URL initial est le même. Par exemple, avec une URL d’origine « https://aws.amazon.com/bedrock/ », seuls ce chemin et les pages Web qui en découlent seront analysés, comme « https://aws.amazon.com/bedrock/agents/ ». Les URL sœurs telles que « https://aws.amazon.com/ec2/ » ne sont pas analysées, par exemple.
      + Hôte uniquement : limitez l’indexation aux pages Web appartenant au même hôte. Par exemple, si l’URL d’origine est « https://aws.amazon.com/bedrock/ », les pages Web contenant « https://aws.amazon.com » seront également analysées, comme « https://aws.amazon.com/ec2 ».
      + Sous-domaines : incluez l’indexation de toute page Web dont le domaine principal est celui de l’URL d’origine. Par exemple, si l’URL d’origine est « https://aws.amazon.com/bedrock/ », toute page Web contenant « amazon.com » (sous-domaine) sera analysée, comme « https://www.amazon.com ».
**Note**  
Assurez-vous de ne pas indexer un nombre potentiellement excessif de pages Web. Il n’est pas recommandé d’analyser des sites Web volumineux, tels que wikipedia.org, sans filtres ni limites de portée. L’indexation de sites Web volumineux prendra beaucoup de temps.  
Les [types de fichiers pris en charge](https://docs.aws.amazon.com/bedrock/latest/userguide/knowledge-base-ds.html) sont analysés quelle que soit leur portée et s’il n’existe aucun modèle d’exclusion pour le type de fichier.

   1. Entrez la **limitation maximale de la vitesse d’indexation de site Web**. Ingérez entre 1 et 300 URL par hôte et par minute. Une vitesse d’indexation plus élevée augmente la charge, mais prend moins de temps.

   1. Entrez un **nombre maximum de pages pour la synchronisation des sources de données** compris entre 1 et 25 000. Limitez le nombre maximum de pages Web analysées à partir de vos URL sources. Si le nombre de pages Web dépasse ce nombre, la synchronisation des sources de données échouera et aucune page Web ne sera ingérée. 

   1. Pour les modèles **URL Regex** (facultatif), vous pouvez ajouter des **modèles d’inclusion** ou **modèles d’exclusion** en saisissant le modèle d’expression régulière dans le champ. Vous pouvez ajouter jusqu’à 25 modèles d’inclusion et 25 modèles d’exclusion en sélectionnant **Ajouter un nouveau modèle**. Les modèles d’inclusion et d’exclusion sont analysés en fonction de votre portée. En cas de conflit, le modèle d’exclusion est prioritaire.

1. (Facultatif) Dans la section **Analyse et découpage du contenu**, vous pouvez personnaliser le mode d’analyse et de découpage de vos données. Consultez les ressources suivantes pour en savoir plus sur ces personnalisations :
   + Pour plus d’informations sur les options d’analyse, consultez [Options d’analyse structurée pour votre source de données](kb-advanced-parsing.md).
   + Pour plus d’informations sur les stratégies de découpage, consultez [Fonctionnement du découpage du contenu pour les bases de connaissances](kb-chunking.md).
**Avertissement**  
Une fois connecté à la source de données, vous ne pouvez plus modifier la stratégie de découpage.
   + Pour plus d’informations sur la façon de personnaliser le découpage de vos données et le traitement de vos métadonnées avec une fonction Lambda, consultez [Utilisation d’une fonction Lambda de transformation personnalisée pour définir la manière dont vos données sont ingérées](kb-custom-transformation.md).

1. Continuez en choisissant un modèle de vectorisation et un magasin de vecteurs. Pour voir les étapes restantes, revenez à [Création d’une base de connaissances en se connectant à une source de données dans Amazon Bedrock Knowledge Bases](knowledge-base-create.md) et poursuivez après avoir connecté votre source de données.

------
#### [ API ]

Pour connecter une base de connaissances à une source de données à l’aide de WebCrawler, envoyez une demande [CreateDataSource](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent_CreateDataSource.html) avec un [point de terminaison de compilation pour agents Amazon Bedrock](https://docs.aws.amazon.com/general/latest/gr/bedrock.html#bra-bt), spécifiez `WEB` dans le champ `type` de [DataSourceConfiguration](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent_DataSourceConfiguration.html) et incluez le champ `webConfiguration`. Voici un exemple de configuration du robot d’indexation pour votre base de connaissances Amazon Bedrock.

```
{
    "webConfiguration": {
        "sourceConfiguration": {
            "urlConfiguration": {
                "seedUrls": [{
                    "url": "https://www.examplesite.com"
                }]
            }
        },
        "crawlerConfiguration": {
            "crawlerLimits": {
                "rateLimit": 50,
                "maxPages": 100
            },
            "scope": "HOST_ONLY",
            "inclusionFilters": [
                "https://www\.examplesite\.com/.*\.html"
            ],
            "exclusionFilters": [
                "https://www\.examplesite\.com/contact-us\.html"
            ],
            "userAgent": "CustomUserAgent"
        }
    },
    "type": "WEB"
}
```

Pour en savoir plus sur les personnalisations que vous pouvez appliquer à l’ingestion en incluant le champ facultatif `vectorIngestionConfiguration`, consultez [Personnalisation de l’ingestion pour une source de données](kb-data-source-customize-ingestion.md).

------

# Connexion de votre base de connaissances à une source de données personnalisée
<a name="custom-data-source-connector"></a>

Au lieu de choisir un service de source de données pris en charge, vous pouvez vous connecter à une source de données personnalisée pour bénéficier des avantages suivants :
+ Flexibilité et contrôle des types de données auxquels vous souhaitez que votre base de connaissances ait accès
+ Possibilité d’utiliser les opérations de l’API `KnowledgeBaseDocuments` pour ingérer ou supprimer directement les documents sans avoir à synchroniser les modifications
+ Possibilité de consulter les documents de votre source de données directement via l’API ou la console Amazon Bedrock
+ Possibilité de télécharger des documents dans la source de données directement dans le AWS Management Console ou de les ajouter en ligne.
+ Possibilité d’ajouter des métadonnées directement à chaque document lors de l’ajout ou de la mise à jour d’un document dans la source de données Pour plus d’informations sur l’utilisation des métadonnées pour le filtrage lors de l’extraction d’informations à partir d’une source de données, consultez l’onglet **Métadonnées et filtrage** dans [Configuration et personnalisation de la génération de requêtes et de réponses](kb-test-config.md).

**Support de contenu multimodal**  
Les sources de données personnalisées prennent en charge le contenu multimodal, notamment les images, les fichiers audio et vidéo codés en base64 jusqu'à 10 Mo. Pour des conseils complets sur l'utilisation de contenus multimodaux, voir[Création d'une base de connaissances pour le contenu multimodal](kb-multimodal.md).

Pour connecter une base de connaissances à une source de données personnalisée, envoyez une [CreateDataSource](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent_CreateDataSource.html)demande à un point de terminaison [Agents for Amazon Bedrock Build-time](https://docs.aws.amazon.com/general/latest/gr/bedrock.html#bra-bt). Spécifiez l’ID de la base de connaissances (`knowledgeBaseId`) à laquelle vous souhaitez vous connecter, attribuez un `name` à la source de données, puis spécifiez le champ `type` dans `dataSourceConfiguration` sur `CUSTOM`. Voici un exemple minimal de création de cette source de données :

```
PUT /knowledgebases/KB12345678/datasources/ HTTP/1.1
Content-type: application/json

{
    "name": "MyCustomDataSource",
    "dataSourceConfiguration": {
        "type": "CUSTOM"
    }
}
```

Vous pouvez inclure l’un des champs facultatifs suivants pour configurer la source de données :


****  

| Champ | Cas d’utilisation | 
| --- | --- | 
| description | Pour fournir une description de la source de données. | 
| clientToken | Pour garantir que la demande d’API n’est exécutée qu’une seule fois. Pour plus d’informations, consultez [Garantie de l’idempotence](https://docs.aws.amazon.com/ec2/latest/devguide/ec2-api-idempotency.html). | 
| serverSideEncryptionConfiguration | Pour spécifier une clé KMS personnalisée pour le stockage de données transitoires lors de la conversion de vos données en vectorisations. Pour de plus amples informations, consultez [Chiffrement du stockage des données transitoires lors de l’ingestion de données](encryption-kb.md#encryption-kb-ingestion). | 
| dataDeletionPolicy | Pour configurer ce qu’il convient de faire avec les vectorisations de votre source de données dans votre magasin de vecteurs, si vous supprimez la source de données. Spécifiez RETAIN pour conserver les données dans le magasin de vecteurs ou l’option par défaut DELETE pour les supprimer. | 
| vectorIngestionConfiguration | Pour configurer les options d’ingestion de la source de données. Voir ci-dessous pour plus d’informations. | 

Le `vectorIngestionConfiguration` champ correspond à un [VectorIngestionConfiguration](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent_VectorIngestionConfiguration.html)objet contenant les champs suivants :
+ chunkingConfiguration : pour configurer la stratégie à utiliser pour le découpage des documents de la source de données. Pour plus d’informations sur les stratégies de découpage, consultez [Fonctionnement du découpage du contenu pour les bases de connaissances](kb-chunking.md).
+ parsingConfiguration : pour configurer la stratégie à utiliser pour analyser la source de données. Pour plus d’informations sur les options d’analyse, consultez [Options d’analyse structurée pour votre source de données](kb-advanced-parsing.md).
+ customTransformationConfiguration — Pour personnaliser la façon dont les données sont transformées et pour appliquer une fonction Lambda pour une meilleure personnalisation. Pour plus d’informations sur la façon de personnaliser le découpage de vos données et le traitement de vos métadonnées avec une fonction Lambda, consultez [Utilisation d’une fonction Lambda de transformation personnalisée pour définir la manière dont vos données sont ingérées](kb-custom-transformation.md).

Après avoir configuré votre source de données personnalisée, vous pouvez y ajouter des documents et les ingérer directement dans la base de connaissances. Contrairement à d’autres sources de données, vous n’avez pas besoin de synchroniser une source de données personnalisée. Pour découvrir comment ingérer directement des documents, consultez [Ingestion des modifications directement dans une base de connaissances](kb-direct-ingestion.md).

# Personnalisation de l’ingestion pour une source de données
<a name="kb-data-source-customize-ingestion"></a>

Vous pouvez personnaliser l'ingestion vectorielle lorsque vous connectez une source de données dans le AWS Management Console ou en modifiant la valeur du `vectorIngestionConfiguration` champ lors de l'envoi d'une [CreateDataSource](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent_CreateDataSource.html)demande.

Sélectionnez une rubrique pour savoir comment inclure des configurations permettant de personnaliser l’ingestion lors de la connexion à une source de données :

**Topics**
+ [Choix de l’outil à utiliser pour l’analyse](#kb-data-source-customize-parsing)
+ [Choix d’une stratégie de découpage](#kb-data-source-customize-chunking)
+ [Utilisation d’une fonction Lambda lors de l’ingestion](#kb-data-source-customize-lambda)

## Choix de l’outil à utiliser pour l’analyse
<a name="kb-data-source-customize-parsing"></a>

Vous pouvez personnaliser la façon dont les documents contenus dans vos données sont analysés. Pour en savoir plus sur les options d’analyse des données dans les bases de connaissances Amazon Bedrock, consultez [Options d’analyse structurée pour votre source de données](kb-advanced-parsing.md).

**Avertissement**  
Une fois connecté à la source de données, vous ne pouvez plus modifier la stratégie d’analyse. Pour utiliser une stratégie d’analyse différente, vous pouvez ajouter une nouvelle source de données.  
Vous ne pouvez pas ajouter d’emplacement S3 pour stocker des données multimodales (notamment des images, des figures, des graphiques et des tableaux) après avoir créé une base de connaissances. Si vous souhaitez inclure des données multimodales et utiliser un analyseur qui les prend en charge, vous devez créer une nouvelle base de connaissances.

Les étapes du choix d'une stratégie d'analyse varient selon que vous utilisez l'API Amazon Bedrock AWS Management Console ou l'API Amazon Bedrock et selon la méthode d'analyse que vous choisissez. Si vous choisissez une méthode d’analyse qui prend en charge les données multimodales, vous devez spécifier un URI S3 dans lequel stocker les données multimodales extraites de vos documents. Ces données peuvent être renvoyées dans une requête de la base de connaissances.
+ Dans le AWS Management Console, procédez comme suit :

  1. Sélectionnez la stratégie d’analyse lorsque vous vous connectez à une source de données lors de la configuration d’une base de connaissances ou lorsque vous ajoutez une nouvelle source de données à votre base de connaissances existante.

  1. (Si vous choisissez l’automatisation des données Amazon Bedrock ou un modèle de fondation comme stratégie d’analyse) Spécifiez un URI S3 dans lequel stocker les données multimodales extraites de vos documents dans la section **Destination de stockage multimodal** lorsque vous sélectionnez un modèle de vectorisation et configurez votre magasin de vecteurs. Vous pouvez également utiliser une clé gérée par le client pour chiffrer vos données S3.
+ Dans l’API Amazon Bedrock, procédez comme suit :

  1. (Si vous envisagez d'utiliser Amazon Bedrock Data Automation ou un modèle de base comme stratégie d'analyse) Incluez un [SupplementalDataStorageLocation](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent_SupplementalDataStorageLocation.html)dans une [VectorKnowledgeBaseConfiguration[CreateKnowledgeBase](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent_CreateKnowledgeBase.html)](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent_VectorKnowledgeBaseConfiguration.html)demande.

  1. Incluez un [ParsingConfiguration](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent_ParsingConfiguration.html)dans le `parsingConfiguration` champ du [VectorIngestionConfiguration](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent_VectorIngestionConfiguration.html)dans la [CreateDataSource](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent_CreateDataSource.html)demande.
**Note**  
Si vous omettez cette configuration, les bases de connaissances Amazon Bedrock utilisent l’analyseur par défaut Amazon Bedrock.

Pour plus de détails sur la façon de spécifier une stratégie d’analyse dans l’API, développez la section correspondant à la stratégie d’analyse que vous souhaitez utiliser :

### Analyseur par défaut Amazon Bedrock
<a name="w2aac28c10c23c15c17c11c13b1"></a>

Pour utiliser l’analyseur par défaut, n’incluez aucun champ `parsingConfiguration` dans la `VectorIngestionConfiguration`.

### Analyseur d’automatisation des données Amazon Bedrock (version préliminaire)
<a name="w2aac28c10c23c15c17c11c13b3"></a>

Pour utiliser l'analyseur Amazon Bedrock Data Automation, spécifiez `BEDROCK_DATA_AUTOMATION` dans le `parsingStrategy` champ `ParsingConfiguration` et incluez un [BedrockDataAutomationConfiguration](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent_BedrockDataAutomationConfiguration.html)dans le `bedrockDataAutomationConfiguration` champ, selon le format suivant :

```
{
    "parsingStrategy": "BEDROCK_DATA_AUTOMATION",
    "bedrockDataAutomationConfiguration": {
        "parsingModality": "string"
    }
}
```

### Modèle de fondation
<a name="w2aac28c10c23c15c17c11c13b5"></a>

Pour utiliser un modèle de base comme analyseur syntaxique, spécifiez le `BEDROCK_FOUNDATION_MODEL` dans le `parsingStrategy` champ `ParsingConfiguration` et incluez un [BedrockFoundationModelConfiguration](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent_BedrockFoundationModelConfiguration.html)dans le `bedrockFoundationModelConfiguration` champ, selon le format suivant :

```
{
    "parsingStrategy": "BEDROCK_FOUNDATION_MODEL",
    "bedrockFoundationModelConfiguration": {
        "modelArn": "string",
        "parsingModality": "string",
        "parsingPrompt": {
            "parsingPromptText": "string"
        }
    }
}
```

## Choix d’une stratégie de découpage
<a name="kb-data-source-customize-chunking"></a>

Vous pouvez personnaliser la façon dont les documents contenus dans vos données sont découpés à des fins de stockage et d’extraction. Pour en savoir plus sur les options de découpage des données dans les bases de connaissances Amazon Bedrock, consultez [Fonctionnement du découpage du contenu pour les bases de connaissances](kb-chunking.md).

**Avertissement**  
Une fois connecté à la source de données, vous ne pouvez plus modifier la stratégie de découpage.

Dans le, AWS Management Console vous choisissez la stratégie de segmentation lorsque vous vous connectez à une source de données. Avec l'API Amazon Bedrock, vous incluez un [ChunkingConfiguration](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent_ChunkingConfiguration.html)dans le `chunkingConfiguration` champ du [VectorIngestionConfiguration](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent_VectorIngestionConfiguration.html).

**Note**  
Si vous omettez cette configuration, Amazon Bedrock divise votre contenu en fragments d’environ 300 jetons, tout en préservant les limites de phrases.

Développez la section qui correspond à la stratégie d’analyse que vous souhaitez utiliser :

### Pas de découpage
<a name="w2aac28c10c23c15c17c13c13b1"></a>

Pour traiter chaque document de votre source de données comme un bloc source unique, spécifiez `NONE` dans le champ `chunkingStrategy` de la `ChunkingConfiguration`, au format suivant :

```
{
    "chunkingStrategy": "NONE"
}
```

### Découpage de taille fixe
<a name="w2aac28c10c23c15c17c13c13b3"></a>

Pour diviser chaque document de votre source de données en morceaux de taille approximativement identique, spécifiez `FIXED_SIZE` dans le `chunkingStrategy` champ du `ChunkingConfiguration` et incluez un [FixedSizeChunkingConfiguration](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent_FixedSizeChunkingConfiguration.html)dans le `fixedSizeChunkingConfiguration` champ, comme dans le format suivant :

```
{
    "chunkingStrategy": "FIXED_SIZE",
    "fixedSizeChunkingConfiguration": {
        "maxTokens": number,
        "overlapPercentage": number
    }
}
```

### Découpage hiérarchique
<a name="w2aac28c10c23c15c17c13c13b5"></a>

Pour diviser chaque document de votre source de données en deux niveaux, la deuxième couche contenant de plus petits fragments dérivés de la première couche, spécifiez `HIERARCHICAL` dans le champ `chunkingStrategy` de la `ChunkingConfiguration` et incluez le champ `hierarchicalChunkingConfiguration`, au format suivant :

```
{
    "chunkingStrategy": "HIERARCHICAL",
    "hierarchicalChunkingConfiguration": {
        "levelConfigurations": [{
            "maxTokens": number
        }],
        "overlapTokens": number
    }
}
```

### Découpage sémantique
<a name="w2aac28c10c23c15c17c13c13b7"></a>

Pour diviser chaque document de votre source de données en fragments qui privilégient le sens sémantique par rapport à la structure syntaxique, spécifiez `SEMANTIC` dans le champ `chunkingStrategy` de la `ChunkingConfiguration` et incluez le champ `semanticChunkingConfiguration`, au format suivant :

```
{
    "chunkingStrategy": "SEMANTIC",
    "semanticChunkingConfiguration": {
        "breakpointPercentileThreshold": number,
        "bufferSize": number,
        "maxTokens": number
    }
}
```

## Utilisation d’une fonction Lambda lors de l’ingestion
<a name="kb-data-source-customize-lambda"></a>

Vous pouvez post-traiter la façon dont les blocs source de vos données sont écrits dans le magasin de vecteurs à l’aide d’une fonction Lambda de la manière suivante :
+ Incluez une logique de découpage pour fournir une stratégie de découpage personnalisée.
+ Incluez une logique pour spécifier les métadonnées au niveau des fragments.

Pour en savoir plus sur l’écriture d’une fonction Lambda personnalisée pour l’ingestion, consultez [Utilisation d’une fonction Lambda de transformation personnalisée pour définir la manière dont vos données sont ingérées](kb-custom-transformation.md). Dans le, AWS Management Console vous choisissez la fonction Lambda lorsque vous vous connectez à une source de données. Avec l'API Amazon Bedrock, vous incluez un [CustomTransformationConfiguration](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent_CustomTransformationConfiguration.html)dans le `CustomTransformationConfiguration` champ du Lambda [VectorIngestionConfiguration](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent_VectorIngestionConfiguration.html)et spécifiez l'ARN du Lambda, comme dans le format suivant :

```
{
    "transformations": [{
        "transformationFunction": {
            "transformationLambdaConfiguration": {
                "lambdaArn": "string"
            }
        },
        "stepToApply": "POST_CHUNKING"
    }],
    "intermediateStorage": {
        "s3Location": {
            "uri": "string"
        }
    }
}
```

Vous spécifiez également l’emplacement S3 dans lequel stocker la sortie après avoir appliqué la fonction Lambda.

Vous pouvez inclure le champ `chunkingConfiguration` pour appliquer la fonction Lambda après avoir appliqué l’une des options de découpage proposées par Amazon Bedrock.

# Définition des configurations de sécurité pour votre base de connaissances
<a name="kb-create-security"></a>

Après avoir créé une base de connaissances, vous devrez peut-être définir les configurations de sécurité suivantes :

**Topics**
+ [Configuration de stratégies d’accès aux données pour votre base de connaissances](#kb-create-security-data)
+ [Configurez des politiques d'accès réseau pour votre base de connaissances Amazon OpenSearch Serverless](#kb-create-security-network)

## Configuration de stratégies d’accès aux données pour votre base de connaissances
<a name="kb-create-security-data"></a>

Si vous utilisez un [rôle personnalisé](kb-permissions.md), définissez des configurations de sécurité pour la base de connaissances que vous venez de créer. Si vous laissez Amazon Bedrock créer un rôle de service pour vous, vous pouvez ignorer cette étape. Suivez les étapes indiquées dans l’onglet correspondant à la base de données que vous avez configurée.

------
#### [ Amazon OpenSearch Serverless ]

Pour restreindre l'accès à la collection Amazon OpenSearch Serverless au rôle de service de base de connaissances, créez une politique d'accès aux données. Vous pouvez procéder de différentes manières :
+ Utilisez la console Amazon OpenSearch Service en suivant les étapes décrites dans la section [Création de politiques d'accès aux données (console)](https://docs.aws.amazon.com/opensearch-service/latest/developerguide/serverless-data-access.html#serverless-data-access-console) dans le manuel Amazon OpenSearch Service Developer Guide.
+ Utilisez l'AWSAPI en envoyant une [CreateAccessPolicy](https://docs.aws.amazon.com/opensearch-service/latest/ServerlessAPIReference/API_CreateAccessPolicy.html)demande avec un point de [terminaison OpenSearch sans serveur](https://docs.aws.amazon.com/general/latest/gr/opensearch-service.html#opensearch-service-regions). Pour un AWS CLI exemple, voir [Création de politiques d'accès aux données (AWS CLI)](https://docs.aws.amazon.com/opensearch-service/latest/developerguide/serverless-data-access.html#serverless-data-access-cli).

Appliquez la politique d'accès aux données suivante, en spécifiant la collection Amazon OpenSearch Serverless et votre rôle de service :

```
[
    {
        "Description": "${data access policy description}",
        "Rules": [
          {
            "Resource": [
              "index/${collection_name}/*"
            ],
            "Permission": [
                "aoss:DescribeIndex",
                "aoss:ReadDocument",
                "aoss:WriteDocument"
            ],
            "ResourceType": "index"
          }
        ],
        "Principal": [
            "arn:aws:iam::${account-id}:role/${kb-service-role}"
        ]
    }
]
```

------
#### [ Pinecone, Redis Enterprise Cloud or MongoDB Atlas ]

Pour intégrer un index vectoriel MongoDB Atlas PineconeRedis Enterprise Cloud, associez la politique d'identité suivante à votre rôle de service de base de connaissances afin de lui permettre d'accéder au AWS Secrets Manager secret de l'index vectoriel.

------
#### [ JSON ]

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [{
        "Effect": "Allow",
        "Action": [
            "bedrock:AssociateThirdPartyKnowledgeBase"
        ],
        "Resource": "*",
        "Condition": {
            "StringEquals": {
                "bedrock:ThirdPartyKnowledgeBaseCredentialsSecretArn": "arn:aws:secretsmanager:us-east-1:123456789012:secret:${secret-id}"
            }
        }
    }]
}
```

------

------

## Configurez des politiques d'accès réseau pour votre base de connaissances Amazon OpenSearch Serverless
<a name="kb-create-security-network"></a>

Si vous utilisez une collection Amazon OpenSearch Serverless privée pour votre base de connaissances, elle n'est accessible que via un point de terminaison AWS PrivateLink VPC. Vous pouvez créer une collection Amazon OpenSearch Serverless privée lorsque vous [configurez votre collection vectorielle Amazon OpenSearch Serverless ou vous pouvez rendre privée une collection](knowledge-base-setup.md) Amazon OpenSearch Serverless existante (y compris une collection créée pour vous par la console Amazon Bedrock) lorsque vous configurez sa politique d'accès au réseau.

Les ressources suivantes du manuel Amazon OpenSearch Service Developer Guide vous aideront à comprendre la configuration requise pour une collection Amazon OpenSearch Serverless privée :
+ Pour plus d'informations sur la configuration d'un point de terminaison VPC pour une collection privée Amazon Serverless, consultez Accéder à Amazon OpenSearch Serverless à l'[aide d'un point de terminaison d'interface](https://docs.aws.amazon.com/opensearch-service/latest/developerguide/serverless-vpc.html) (). OpenSearch AWS PrivateLink
+ Pour plus d'informations sur les politiques d'accès au réseau dans Amazon OpenSearch Serverless, consultez la section [Accès réseau pour Amazon OpenSearch Serverless](https://docs.aws.amazon.com/opensearch-service/latest/developerguide/serverless-network.html).

Pour autoriser une base de connaissances Amazon Bedrock à accéder à une collection privée Amazon OpenSearch Serverless, vous devez modifier la politique d'accès réseau de la collection Amazon OpenSearch Serverless afin d'autoriser Amazon Bedrock en tant que service source. Choisissez l’onglet correspondant à votre méthode préférée, puis suivez les étapes :

------
#### [ Console ]

1. Ouvrez la console Amazon OpenSearch Service à l'adresse [https://console.aws.amazon.com/aos/](https://console.aws.amazon.com/aos/).

1. Dans le volet de navigation de gauche, sélectionnez **Collections**. Choisissez ensuite votre collection.

1. Dans la section **Réseau**, sélectionnez la **stratégie associée**.

1. Choisissez **Modifier**.

1. Pour **Sélectionner une méthode de définition de stratégie**, effectuez l’une des opérations suivantes :
   + Laissez **Sélectionner une méthode de définition de stratégie** comme **éditeur visuel** et configurez les paramètres suivants dans la section **Règle 1** :

     1. (Facultatif) Dans le champ **Nom de la règle**, saisissez un nom pour la règle d’accès réseau.

     1. Sous **Accéder aux collections à partir de**, sélectionnez **Privé (recommandé)**.

     1. Sélectionnez **Accès privé au service AWS**. Saisissez **bedrock.amazonaws.com** dans la zone de texte.

     1. Désélectionnez **Activer l'accès aux OpenSearch tableaux de bord**.
   + Choisissez **JSON**, puis collez la stratégie suivante dans l’**éditeur JSON**.

     ```
     [
         {                                        
             "AllowFromPublic": false,
             "Description":"${network access policy description}",
             "Rules":[
                 {
                     "ResourceType": "collection",
                     "Resource":[
                         "collection/${collection-id}"
                     ]
                 }
             ],
             "SourceServices":[
                 "bedrock.amazonaws.com"
             ]
         }
     ]
     ```

1. Choisissez **Mettre à jour**.

------
#### [ API ]

Pour modifier la politique d'accès au réseau de votre collection Amazon OpenSearch Serverless, procédez comme suit :

1. Envoyez une [GetSecurityPolicy](https://docs.aws.amazon.com/opensearch-service/latest/ServerlessAPIReference/API_GetSecurityPolicy.html)demande avec un point de [terminaison OpenSearch sans serveur](https://docs.aws.amazon.com/general/latest/gr/opensearch-service.html#opensearch-service-regions). Renseignez `name` pour la stratégie, puis `network` comme `type`. Notez le `policyVersion` dans la réponse.

1. Envoyez une [UpdateSecurityPolicy](https://docs.aws.amazon.com/opensearch-service/latest/ServerlessAPIReference/API_UpdateSecurityPolicy.html)demande avec un point de [terminaison OpenSearch sans serveur](https://docs.aws.amazon.com/general/latest/gr/opensearch-service.html#opensearch-service-regions). Spécifiez les champs suivants de façon minimale :  
****    
[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/fr_fr/bedrock/latest/userguide/kb-create-security.html)

   ```
   [
       {                                        
           "AllowFromPublic": false,
           "Description":"${network access policy description}",
           "Rules":[
               {
                   "ResourceType": "collection",
                   "Resource":[
                       "collection/${collection-id}"
                   ]
               }
           ],
           "SourceServices":[
               "bedrock.amazonaws.com"
           ]
       }
   ]
   ```

Pour un AWS CLI exemple, voir [Création de politiques d'accès aux données (AWS CLI)](https://docs.aws.amazon.com/opensearch-service/latest/developerguide/serverless-data-access.html#serverless-data-access-cli).

------
+ Utilisez la console Amazon OpenSearch Service en suivant les étapes de la section [Création de politiques réseau (console)](https://docs.aws.amazon.com/opensearch-service/latest/developerguide/serverless-network.html#serverless-network-console). Au lieu de créer une stratégie réseau, notez la **stratégie associée** dans la sous-section **Réseau** des détails de la collection.

# Synchronisation de vos données avec votre base de connaissances Amazon Bedrock
<a name="kb-data-source-sync-ingest"></a>

Après avoir créé votre base de connaissances, vous devez ingérer ou synchroniser vos données afin qu’elles puissent être interrogées. L’ingestion convertit les données brutes de votre source de données en vectorisations, sur la base du modèle de vectorisation et des configurations que vous avez spécifiés.

Avant de commencer l’ingestion, vérifiez que votre source de données remplit les conditions suivantes :
+ Vous avez configuré les informations de connexion pour votre source de données. Pour configurer un connecteur de source de données afin d’analyser vos données depuis votre référentiel de sources de données, consultez [Connecteurs de source de données pris en charge](https://docs.aws.amazon.com/bedrock/latest/userguide/data-source-connectors.html). Vous configurez votre source de données dans le cadre de la création de votre base de connaissances.
+ Vous avez configuré le modèle de vectorisation et le magasin de vecteurs que vous avez choisis. Consultez les [modèles de vectorisation pris en charge](https://docs.aws.amazon.com/bedrock/latest/userguide/knowledge-base-supported.html) et les [magasins de vecteurs pour les bases de connaissances](https://docs.aws.amazon.com/bedrock/latest/userguide/knowledge-base-setup.html). Vous configurez vos vectorisations dans le cadre de la création de votre base de connaissances.
+ Le format des fichiers est pris en charge. Pour plus d’informations, consultez [Formats de documents pris en charge](https://docs.aws.amazon.com/bedrock/latest/userguide/knowledge-base-ds.html#kb-ds-supported-doc-formats-limits).
+ Les fichiers ne dépassent pas la **taille des fichiers de tâche d’ingestion** spécifiée dans [Points de terminaison et quotas Amazon Bedrock](https://docs.aws.amazon.com/general/latest/gr/bedrock.html) dans les Références générales AWS.
+ Si votre source de données contient des fichiers de métadonnées, vérifiez les conditions suivantes pour vous assurer qu’ils ne sont pas ignorés :
  + Chaque fichier `.metadata.json` porte le même nom et la même extension que le fichier source auquel il est associé.
  + Si l’index vectoriel de votre base de connaissances se trouve dans un magasin de vecteurs Amazon OpenSearch sans serveur, vérifiez qu’il est configuré avec le moteur `faiss`. Si l’index vectoriel est configuré avec le moteur `nmslib`, vous devrez effectuer l’une des opérations suivantes :
    + [Créer une nouvelle base de connaissances](knowledge-base-create.md) dans la console et laisser Amazon Bedrock créer automatiquement pour vous un index vectoriel dans Amazon OpenSearch sans serveur
    + [Créer un autre index vectoriel](knowledge-base-setup.md) dans le magasin de vecteurs et sélectionner `faiss` comme **moteur** [Créer ensuite une base de connaissances](knowledge-base-create.md) et spécifier le nouvel index vectoriel
  + Si l’index vectoriel de votre base de connaissances se trouve dans un cluster de bases de données Amazon Aurora, nous vous recommandons d’utiliser le champ de métadonnées personnalisées pour stocker toutes vos métadonnées dans une seule colonne et de créer un index sur cette colonne. Si vous ne fournissez pas de champ de métadonnées personnalisées, vous devez vérifier que le tableau de votre index contient une colonne pour chaque propriété de métadonnées de vos fichiers de métadonnées avant de commencer l’ingestion. Pour plus d’informations, consultez [Conditions préalables à l’utilisation d’un magasin de vecteurs que vous avez créé pour une base de connaissances](knowledge-base-setup.md).

Chaque fois que vous ajoutez, modifiez ou supprimez des fichiers de votre source de données, vous devez synchroniser cette dernière afin qu’elle soit réindexée dans la base de connaissances. La synchronisation étant incrémentielle, Amazon Bedrock ne traite que les documents ajoutés, modifiés ou supprimés depuis la dernière synchronisation.

Pour découvrir comment intégrer vos données dans votre base de connaissances et les synchroniser avec vos données les plus récentes, choisissez l’onglet correspondant à votre méthode préférée, puis suivez les étapes :

------
#### [ Console ]

**Pour intégrer vos données dans votre base de connaissances et les synchroniser avec vos données les plus récentes**

1. Ouvrez la console Amazon Bedrock à l’adresse [https://console.aws.amazon.com/bedrock/](https://console.aws.amazon.com/bedrock/).

1. Dans le volet de navigation de gauche, sélectionnez **Base de connaissances** et choisissez votre base de connaissances.

1. Dans la section **Source de données**, sélectionnez **Synchroniser** pour commencer l’ingestion de données ou la synchronisation avec vos données les plus récentes. Pour arrêter une source de données en cours de synchronisation, sélectionnez **Arrêter**. Une source de données doit être en cours de synchronisation pour arrêter la synchronisation de la source de données. Vous pouvez sélectionner à nouveau **Synchroniser** pour ingérer le reste de vos données.

1. Lorsque l’ingestion de données est terminée, une bannière verte apparaît en cas de réussite.
**Note**  
Une fois la synchronisation des données terminée, les vectorisations des données récemment synchronisées peuvent prendre quelques minutes pour apparaître dans votre base de connaissances et pouvoir être interrogées si vous utilisez un magasin de vecteurs autre qu’Amazon Aurora (RDS).

1. Vous pouvez choisir une source de données pour afficher son **historique de synchronisation**. Sélectionnez **Afficher les avertissements** pour savoir pourquoi une tâche d’ingestion de données a échoué.

------
#### [ API ]

Pour intégrer vos données dans votre base de connaissances et les synchroniser avec vos données les plus récentes, envoyez une demande [StartIngestionJob](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent_StartIngestionJob.html) avec un [point de terminaison de compilation pour agents Amazon Bedrock](https://docs.aws.amazon.com/general/latest/gr/bedrock.html#bra-bt). Spécifiez `knowledgeBaseId` et `dataSourceId`. Vous pouvez également arrêter une tâche d’ingestion de données en cours d’exécution en envoyant une demande [StopIngestionJob](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent_StopIngestionJob.html). Spécifiez `dataSourceId`, `ingestionJobId` et `knowledgeBaseId`. Une tâche d’ingestion de données doit être en cours d’exécution pour arrêter l’ingestion de données. Vous pouvez envoyer à nouveau une demande `StartIngestionJob` pour ingérer le reste de vos données lorsque vous serez prêt.

Utilisez le `ingestionJobId` renvoyé dans la réponse d’une demande [GetIngestionJob](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent_GetIngestionJob.html) avec un [point de terminaison de compilation pour agents Amazon Bedrock](https://docs.aws.amazon.com/general/latest/gr/bedrock.html#bra-bt) afin de suivre l’état de la tâche d’ingestion. Spécifiez également `knowledgeBaseId` et `dataSourceId`.
+ Lorsque la tâche d’ingestion est terminée, l’élément `status` de la réponse indique `COMPLETE`.
**Note**  
Une fois l’ingestion de données terminée, les vectorisations des données récemment ingérées peuvent prendre quelques minutes pour être disponibles dans le magasin de vecteurs afin pouvoir être interrogées si vous utilisez un magasin de vecteurs autre qu’Amazon Aurora (RDS).
+ L’objet `statistics` de la réponse renvoie des informations indiquant si l’ingestion a réussi ou non pour les documents dans la source de données.

Vous pouvez également consulter les informations relatives à toutes les tâches d’ingestion d’une source de données en envoyant une demande [ListIngestionJobs](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent_ListIngestionJobs.html) avec un [point de terminaison de compilation pour agents Amazon Bedrock](https://docs.aws.amazon.com/general/latest/gr/bedrock.html#bra-bt) au moment de la création. Spécifiez le `dataSourceId` et le `knowledgeBaseId` de la base de connaissances dans laquelle les données sont ingérées.
+ Filtrez les résultats en spécifiant le statut à rechercher dans l’objet `filters`.
+ Pour effectuer un tri en fonction de l’heure à laquelle la tâche a été lancée ou du statut d’une tâche, spécifiez l’objet `sortBy`. Vous pouvez spécifier un ordre de tri croissant ou décroissant.
+ Spécifiez le nombre maximum de résultats à renvoyer en réponse dans le champ `maxResults`. Si le nombre de résultats est supérieur à ce que vous avez défini, la réponse renvoie un `nextToken` que vous pouvez envoyer dans une autre demande [ListIngestionJobs](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent_ListIngestionJobs.html) afin de voir le lot suivant de tâches.

------

# Ingestion des modifications directement dans une base de connaissances
<a name="kb-direct-ingestion"></a>

Les bases de connaissances Amazon Bedrock vous permettent de modifier votre source de données et de synchroniser les modifications en une seule étape. Vous pouvez tirer parti de cette fonctionnalité si votre base de connaissances est connectée à l’un des types de sources de données suivants :
+ Amazon S3
+ Personnalisé

Grâce à l’ingestion directe, vous pouvez directement ajouter, mettre à jour ou supprimer des fichiers dans une base de connaissances en une seule action et votre base de connaissances peut accéder aux documents sans avoir besoin de les synchroniser. L’ingestion directe utilise les opérations d’API `KnowledgeBaseDocuments` pour indexer les documents que vous soumettez directement dans le magasin de vecteurs configuré pour la base de connaissances. Vous pouvez également consulter les documents de votre base de connaissances directement à l’aide de ces opérations, sans avoir à accéder à la source de données connectée.

## Différences par rapport à la synchronisation d’une source de données
<a name="kb-direct-ingestion-sync-diff"></a>

Les bases de connaissances Amazon Bedrock proposent également un ensemble d’opérations de l’API `IngestionJob` liées à la [synchronisation de votre source de données](kb-data-source-sync-ingest.md). Lorsque vous synchronisez votre source de données avec une demande [StartIngestionJob](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent_StartIngestionJob.html), les bases de connaissances Amazon Bedrock analysent chaque document de la source de données connectée et vérifient s’il a déjà été indexé dans le magasin de vecteurs configuré pour la base de connaissances. Si ce n’est pas le cas, il est indexé dans le magasin de vecteurs.

Avec une demande [IngestKnowledgeBaseDocuments](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent_IngestKnowledgeBaseDocuments.html), vous soumettez un ensemble de documents à indexer directement dans le magasin de vecteurs. Par conséquent, vous ignorez l’étape consistant à ajouter des documents dans la source de données. Consultez les paragraphes suivants pour comprendre le cas d’utilisation de ces deux ensembles d’opérations d’API :

**Si vous utilisez une source de données personnalisée**  
Vous n’avez pas besoin de synchroniser ou d’utiliser les opérations `IngestionJob`. Les documents que vous ajoutez, modifiez ou supprimez lors des opérations `KnowledgeBaseDocuments` ou dans la AWS Management Console font partie à la fois de la source de données personnalisée et de votre base de connaissances.

**Si vous utilisez une source de données Amazon S3**  
Vous utilisez les deux ensembles d’opérations dans différents cas d’utilisation :
+ Après avoir connecté la base de connaissances à la source de données S3 pour la première fois, vous devez synchroniser votre source de données dans la AWS Management Console ou en soumettant une demande [StartIngestionJob](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent_StartIngestionJob.html) via l’API Amazon Bedrock.
+ Indexez les documents dans le magasin de vecteurs configuré pour votre base de connaissances ou supprimez les documents indexés de la manière suivante :

  1. Ajoutez des documents dans votre emplacement S3 ou supprimez-en des documents. Synchronisez ensuite votre source de données dans la AWS Management Console ou soumettez une demande `StartIngestionJob` dans l’API. Pour plus de détails sur la synchronisation et l’opération `StartIngestionJob`, consultez [Synchronisation de vos données avec votre base de connaissances Amazon Bedrock](kb-data-source-sync-ingest.md).

  1. Ingérez des documents S3 dans la base de connaissances directement à l’aide d’une demande `IngestKnowledgeBaseDocuments`. Pour plus de détails sur l’ingestion directe de documents, consultez [Ingestion de documents directement dans une base de connaissances](kb-direct-ingestion-add.md).
**Avertissement**  
Pour les sources de données S3, les modifications que vous indexez dans la base de connaissances directement dans la AWS Management Console ou avec les opérations de l’API `KnowledgeBaseDocuments` ne sont pas reflétées dans l’emplacement S3. Vous pouvez utiliser ces opérations d’API pour rendre immédiatement disponibles les modifications apportées à votre base de connaissances en une seule étape. Cependant, vous devez effectuer les mêmes modifications dans votre emplacement S3 afin qu’elles ne soient pas remplacées la prochaine fois que vous synchroniserez votre source de données dans la AWS Management Console ou avec `StartIngestionJob`.  
Ne soumettez pas simultanément une demande `IngestKnowledgeBaseDocuments` et `StartIngestionJob`.

Sélectionnez une rubrique pour savoir comment procéder à l’ingestion directe des documents contenus dans vos sources de données :

**Topics**
+ [Différences par rapport à la synchronisation d’une source de données](#kb-direct-ingestion-sync-diff)
+ [Conditions préalables à l’ingestion directe](kb-direct-ingestion-prereq.md)
+ [Ingestion de documents directement dans une base de connaissances](kb-direct-ingestion-add.md)
+ [Affichage des informations relatives aux documents de votre source de données](kb-direct-ingestion-view.md)
+ [Suppression directe des documents d’une base de connaissances](kb-direct-ingestion-delete.md)

# Conditions préalables à l’ingestion directe
<a name="kb-direct-ingestion-prereq"></a>

Pour utiliser l’ingestion directe, un rôle IAM doit être autorisé à utiliser les opérations d’API `KnowledgeBaseDocs`. Si la politique [AmazonBedrockFullAccess](security-iam-awsmanpol.md#security-iam-awsmanpol-AmazonBedrockFullAccess)AWSgérée est attachée à votre rôle IAM, vous pouvez ignorer cette section.

La politique suivante peut être associée à un rôle IAM pour lui permettre d’effectuer une ingestion directe sur les bases de connaissances que vous spécifiez dans le champ `Resource`.

------
#### [ JSON ]

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Sid": "DirectIngestion",
            "Effect": "Allow",
            "Action": [
                "bedrock:StartIngestionJob",
                "bedrock:IngestKnowledgeBaseDocuments",
                "bedrock:GetKnowledgeBaseDocuments",
                "bedrock:ListKnowledgeBaseDocuments",
                "bedrock:DeleteKnowledgeBaseDocuments"
            ],
            "Resource": [
                "arn:aws:bedrock:us-east-1:123456789012:knowledge-base/${KnowledgeBaseId}"
            ]
        }
    ]
}
```

------

Pour restreindre davantage les autorisations, vous pouvez omettre des actions ou spécifier des ressources et des clés de condition permettant de filtrer les autorisations. Pour plus d’informations sur les actions, les ressources et les clés de condition, consultez les rubriques suivantes dans la *Référence des autorisations de service* :
+ [Actions définies par Amazon Bedrock](https://docs.aws.amazon.com/service-authorization/latest/reference/list_amazonbedrock.html#amazonbedrock-actions-as-permissions) : découvrez les actions, les types de ressources auxquels vous pouvez les appliquer dans le champ `Resource` et les clés de condition qui vous permettent de filtrer les autorisations dans le champ `Condition`.
+ [Types de ressources définis par Amazon Bedrock](https://docs.aws.amazon.com/service-authorization/latest/reference/list_amazonbedrock.html#amazonbedrock-resources-for-iam-policies) : découvrez les types de ressources dans Amazon Bedrock.
+ [Clés de condition pour Amazon Bedrock](https://docs.aws.amazon.com/service-authorization/latest/reference/list_amazonbedrock.html#amazonbedrock-policy-keys) : découvrez les clés de condition dans Amazon Bedrock.

# Ingestion de documents directement dans une base de connaissances
<a name="kb-direct-ingestion-add"></a>

Cette rubrique décrit comment ingérer des documents directement dans une base de connaissances. Des restrictions s’appliquent aux types de documents que vous pouvez ingérer directement en fonction de votre source de données. Reportez-vous au tableau suivant pour connaître les restrictions relatives aux méthodes que vous pouvez utiliser pour spécifier les documents à ingérer :


****  

| Type de source de données | Document défini en ligne | Document dans un emplacement Amazon S3 | 
| --- | --- | --- | 
| Amazon S3 | ![\[Red circular icon with an X symbol, indicating cancellation or denial.\]](http://docs.aws.amazon.com/fr_fr/bedrock/latest/userguide/images/icons/icon-no.png)Non | ![\[Green circular icon with a white checkmark symbol inside.\]](http://docs.aws.amazon.com/fr_fr/bedrock/latest/userguide/images/icons/icon-yes.png)Oui | 
| Personnalisé | ![\[Green circular icon with a white checkmark symbol inside.\]](http://docs.aws.amazon.com/fr_fr/bedrock/latest/userguide/images/icons/icon-yes.png)Oui | ![\[Green circular icon with a white checkmark symbol inside.\]](http://docs.aws.amazon.com/fr_fr/bedrock/latest/userguide/images/icons/icon-yes.png)Oui | 

Développez la section correspondant à votre cas d’utilisation :

**Note**  
Lorsque vous utilisez la console, vous pouvez ingérer jusqu’à 10 documents directement dans votre base de connaissances. Quand vous utilisez l’API `IngestKnowledgeBaseDocuments`, il est possible d’ingérer jusqu’à 25 documents dans votre base de connaissances. Pour plus d’informations sur ce quota, consultez [Quotas de service Amazon Bedrock](https://docs.aws.amazon.com/general/latest/gr/bedrock.html#limits_bedrock) dans le *Guide de référence générale AWS *.

## Utilisation de la console
<a name="kb-direct-ingestion-add-console"></a>

Pour ajouter ou modifier des documents directement dans le AWS Management Console, procédez comme suit :

1. Connectez-vous au AWS Management Console avec une identité IAM autorisée à utiliser la console Amazon Bedrock. Ouvrez ensuite la console Amazon Bedrock à l'adresse [https://console.aws.amazon.com/bedrock.](https://console.aws.amazon.com/bedrock)

1. Dans le volet de navigation de gauche, sélectionnez **Bases de connaissances**.

1. Dans la section **Bases de connaissances**, sélectionnez la base de connaissances dans laquelle vous souhaitez ingérer les documents.

1. Dans la section **Source de données**, sélectionnez la source de données pour laquelle vous souhaitez ajouter, modifier ou supprimer des documents.

1. Dans la section **Document**, choisissez **Ajouter des documents**. Ensuite, effectuez l’une des actions suivantes :
   + Pour ajouter ou modifier un document directement, sélectionnez **Ajouter directement des documents**. Ensuite, procédez comme suit :

     1. Dans le champ **Identifiant du document**, spécifiez un nom unique pour le document. Si vous spécifiez un nom qui existe déjà dans la source de données, le document correspondant sera remplacé.

     1. Pour charger un document, sélectionnez **Charger**. Pour définir un document en ligne, sélectionnez **Ajouter un document en ligne**, choisissez un format et entrez le texte du document dans le champ.

     1. (Facultatif) Pour associer des métadonnées au document, sélectionnez **Ajouter des métadonnées** et entrez une clé, un type et une valeur.
   + Pour ajouter ou modifier un document en spécifiant son emplacement S3, sélectionnez **Ajouter des documents S3**. Ensuite, procédez comme suit :

     1. Dans le champ **Identifiant du document**, spécifiez un nom unique pour le document. Si vous spécifiez un nom qui existe déjà dans la source de données, le document correspondant sera remplacé.

     1. Spécifiez si l'**emplacement S3** du document se trouve dans votre AWS compte courant ou sur un autre compte. Spécifiez ensuite l’URI S3 du document.

     1. (Facultatif) Pour associer des métadonnées au document, choisissez une **source de métadonnées**. Spécifiez l’URI S3 des métadonnées ou sélectionnez **Ajouter des métadonnées** et entrez une clé, un type et une valeur.

1. Pour ingérer le document et les métadonnées associées, choisissez **Ajouter**.

## Utilisation de l’API
<a name="kb-direct-ingestion-add-api"></a>

Pour intégrer des documents directement dans une base de connaissances à l'aide de l'API Amazon Bedrock, envoyez une [IngestKnowledgeBaseDocuments](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent_IngestKnowledgeBaseDocuments.html)demande à un point de [terminaison Agents for Amazon Bedrock](https://docs.aws.amazon.com/general/latest/gr/bedrock.html#bra-bt) et spécifiez l'ID de la base de connaissances et de la source de données à laquelle elle est connectée.

**Note**  
Si vous spécifiez un identifiant de document ou un emplacement S3 qui existe déjà dans la base de connaissances, le document correspondant sera remplacé par le nouveau contenu.

Le corps de la demande contient un champ qui correspond à un ensemble d'[KnowledgeBaseDocument](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent_KnowledgeBaseDocument.html)objets, chacun représentant le contenu et les métadonnées facultatives d'un document à ajouter à la source de données et à intégrer dans la base de connaissances. `documents` Un objet [KnowledgeBaseDocument](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent_KnowledgeBaseDocument.html) contient les champs suivants :
+ contenu : correspond à un [DocumentContent](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent_DocumentContent.html)objet contenant des informations sur le contenu du document à ajouter.
+ metadata — (Facultatif) Fait référence à un [DocumentMetadata](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent_DocumentMetadata.html)objet contenant des informations sur les métadonnées du document à ajouter. Pour plus d’informations sur l’utilisation des métadonnées lors de la récupération, consultez la section **Métadonnées et filtrage** dans [Configuration et personnalisation de la génération de requêtes et de réponses](kb-test-config.md).

Cliquez sur l’une des rubriques suivantes pour découvrir comment ingérer des documents pour différents types de sources de données ou pour consulter des exemples :

**Topics**
+ [Ingestion d’un document dans une base de connaissances connectée à une source de données personnalisée](#kb-direct-ingestion-add-custom)
+ [Ingestion d’un document dans une base de connaissances connectée à une source de données Amazon S3](#kb-direct-ingestion-add-s3)
+ [Exemple de corps de demande](#w2aac28c10c23c19c17c11b3c19)

### Ingestion d’un document dans une base de connaissances connectée à une source de données personnalisée
<a name="kb-direct-ingestion-add-custom"></a>

Si le `dataSourceId` que vous spécifiez appartient à une source de données personnalisée, vous pouvez ajouter du contenu et des métadonnées pour chaque [KnowledgeBaseDocument](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent_KnowledgeBaseDocument.html)objet du `documents` tableau.

Le contenu d’un document ajouté à une source de données personnalisée peut être défini de la manière suivante :

#### Définition du document en ligne
<a name="kb-direct-ingestion-add-custom-inline"></a>

Vous pouvez définir les types de documents suivants en ligne :

------
#### [ Text ]

Si le document est du texte, l'[DocumentContent](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent_DocumentContent.html)objet doit être au format suivant :

```
{ 
    "custom": { 
        "customDocumentIdentifier": { 
            "id": "string"
        },
        "inlineContent": { 
            "textContent": { 
                "data": "string"
            },
            "type": "TEXT"
        },
        "sourceType": "IN_LINE"
    },
    "dataSourceType": "CUSTOM"
}
```

Incluez l’ID du document dans le champ `id` et le texte du document dans le champ `data`.

------
#### [ Bytes ]

Si le document contient plus que du texte, convertissez-le en chaîne Base64. L'[DocumentContent](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent_DocumentContent.html)objet doit alors être au format suivant :

```
{ 
    "custom": { 
        "customDocumentIdentifier": { 
            "id": "string"
        },
        "inlineContent": { 
            "byteContent": { 
                "data": blob,
                "mimeType": "string"
            },
            "type": "BYTE"
        },
        "sourceType": "IN_LINE"
    },
    "dataSourceType": "CUSTOM"
}
```

Incluez un identifiant pour le document dans le champ `id`, le document codé en Base64 dans le champ `data` et le type MIME dans le champ `mimeType`.

------

#### Ingestion du document depuis S3
<a name="w2aac28c10c23c19c17c11b3c15b7b3"></a>

Si vous ingérez un document depuis un emplacement S3, l'[DocumentContent](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent_DocumentContent.html)objet du `content` champ doit être de la forme suivante :

```
{ 
    "custom": { 
        "customDocumentIdentifier": { 
            "id": "string"
        },
        "s3Location": { 
            "bucketOwnerAccountId": "string",
            "uri": "string"
        },
        "sourceType": "S3"
    },
    "dataSourceType": "CUSTOM"
}
```

Incluez l’ID du document dans le champ `id`, le propriétaire du compartiment S3 qui contient le document dans le champ `bucketOwnerAccountId` et l’URI S3 du document dans le champ `uri`.

Les métadonnées d’un document peuvent être définies ainsi :

#### Définition des métadonnées en ligne
<a name="w2aac28c10c23c19c17c11b3c15c11b1"></a>

Si vous définissez les métadonnées en ligne, l'[DocumentMetadata](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent_DocumentMetadata.html)objet du `metadata` champ doit être au format suivant :

```
{ 
    "inlineAttributes": [ 
        { 
            "key": "string",
            "value": { 
                "stringValue": "string",
                "booleanValue": boolean,
                "numberValue": number,
                "stringListValue": [ "string" ],
                "type": "STRING" | "BOOLEAN" | "NUMBER" | "STRING_LIST"
            }
        }
    ],
    "type": "IN_LINE_ATTRIBUTE"
}
```

Pour chaque attribut que vous ajoutez, définissez la clé dans le champ `key`. Spécifiez le type de données de la valeur dans le champ `type` et incluez le champ correspondant au type de données. Par exemple, si vous incluez une chaîne, l’attribut sera au format suivant :

```
{ 
    "key": "string",
    "value": { 
        "stringValue": "string",
        "type": "STRING"
    }
}
```

#### Ingestion des métadonnées depuis S3
<a name="w2aac28c10c23c19c17c11b3c15c11b3"></a>

Vous pouvez également ingérer les métadonnées d’un fichier portant l’extension `.metadata.json` dans un emplacement S3. Pour plus d’informations sur le format d’un fichier de métadonnées, consultez la section **Champs de métadonnées des documents** dans [Connexion à Amazon S3 pour votre base de connaissances](s3-data-source-connector.md).

Si les métadonnées proviennent d'un fichier S3, l'[DocumentMetadata](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent_DocumentMetadata.html)objet du `metadata` champ doit être au format suivant :

```
{
    "s3Location": { 
        "bucketOwnerAccountId": "string",
        "uri": "string"
    },
        "type": "S3_LOCATION"
    }
 }
```

Incluez le propriétaire du compartiment S3 qui contient le fichier de métadonnées dans le champ `bucketOwnerAccountId`, ainsi que l’URI S3 du fichier de métadonnées dans le champ `uri`.

**Avertissement**  
Si vous avez défini le contenu en ligne, vous devez définir les métadonnées en ligne.

### Ingestion d’un document dans une base de connaissances connectée à une source de données Amazon S3
<a name="kb-direct-ingestion-add-s3"></a>

Si le `dataSourceId` que vous spécifiez appartient à une source de données S3, vous pouvez ajouter du contenu et des métadonnées pour chaque [KnowledgeBaseDocument](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent_KnowledgeBaseDocument.html)objet du `documents` tableau.

**Note**  
Pour les sources de données S3, vous ne pouvez ajouter du contenu et des métadonnées qu’à partir d’un emplacement S3.

Le contenu d'un document S3 à ajouter à S3 doit être ajouté à un [DocumentContent](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent_DocumentContent.html)objet au format suivant :

```
{ 
    "dataSourceType": "string",
    "s3": { 
        "s3Location": { 
            "uri": "string"
        }
    }
}
```

Incluez le propriétaire du compartiment S3 qui contient le document dans le champ `bucketOwnerAccountId` et l’URI S3 du document dans le champ `uri`.

Les métadonnées d’un document ajouté à une source de données personnalisée peuvent être définies au format suivant :

```
{
    "s3Location": { 
        "bucketOwnerAccountId": "string",
        "uri": "string"
    },
        "type": "S3_LOCATION"
    }
 }
```

**Avertissement**  
Les documents que vous ingérez directement dans une base de connaissances connectée à une source de données S3 ne sont pas ajoutés au compartiment S3 lui-même. Nous vous recommandons d’ajouter également ces documents à la source de données S3 afin qu’ils ne soient ni supprimés ni remplacés lors de la synchronisation de votre source de données.

### Exemple de corps de demande
<a name="w2aac28c10c23c19c17c11b3c19"></a>

Développez les sections suivantes pour découvrir le corps de demandes correspondant à différents cas d’utilisation avec `IngestKnowledgeBaseDocuments` :

#### Ajout et ingestion d’un document texte personnalisé à une source de données personnalisée
<a name="w2aac28c10c23c19c17c11b3c19b5b1"></a>

L’exemple suivant montre l’ajout d’un document texte à une source de données personnalisée :

```
PUT /knowledgebases/KB12345678/datasources/DS12345678/documents HTTP/1.1
Content-type: application/json

{
   "documents": [ 
      { 
         "content": { 
            "dataSourceType": "CUSTOM",
            "custom": { 
               "customDocumentIdentifier": { 
                  "id": "MyDocument"
               },
               "inlineContent": { 
                  "textContent": { 
                     "data": "Hello world!"
                  },
                  "type": "TEXT"
               },
               "sourceType": "IN_LINE"
            }
         }
     }
   ]
}
```

#### Ajout et ingestion d’un document texte personnalisé à une source de données codée en Base64
<a name="w2aac28c10c23c19c17c11b3c19b5b3"></a>

L’exemple suivant montre l’ajout d’un document PDF à une source de données personnalisée :

```
PUT /knowledgebases/KB12345678/datasources/DS12345678/documents HTTP/1.1
Content-type: application/json

{
   "documents": [ 
      { 
         "content": { 
            "dataSourceType": "CUSTOM",
            "custom": { 
               "customDocumentIdentifier": { 
                  "id": "MyDocument"
               },
               "inlineContent": { 
                  "byteContent": { 
                     "data": "<Base64-encoded string>",
                     "mimeType": "application/pdf"
                  },
                  "type": "BYTE"
               },
               "sourceType": "IN_LINE"
            }
         }
     }
   ]
}
```

#### Ajout et ingestion d’un document depuis un emplacement S3 à une base de connaissances connectée à une source de données personnalisée
<a name="w2aac28c10c23c19c17c11b3c19b5b5"></a>

L’exemple suivant montre l’ajout, depuis un emplacement S3, d’un document texte à une source de données personnalisée :

```
PUT /knowledgebases/KB12345678/datasources/DS12345678/documents HTTP/1.1
Content-type: application/json

{
   "documents": [ 
      { 
         "content": { 
            "dataSourceType": "CUSTOM",
            "custom": { 
               "customDocumentIdentifier": { 
                  "id": "MyDocument"
               },
               "s3": {
                "s3Location": {
                    "uri": "amzn-s3-demo-bucket"
                }
               },
               "sourceType": "S3"
            }
         }
     }
   ]
}
```

#### Ajout d’un document en ligne à une base de connaissances connectée à une source de données personnalisée et inclusion des métadonnées en ligne
<a name="w2aac28c10c23c19c17c11b3c19b5b7"></a>

L’exemple suivant montre l’ajout en ligne d’un document à une source de données personnalisée avec des métadonnées contenant deux attributs :

```
PUT /knowledgebases/KB12345678/datasources/DS12345678/documents HTTP/1.1
Content-type: application/json

{
   "documents": [ 
      { 
         "content": { 
            "dataSourceType": "CUSTOM",
            "custom": { 
               "customDocumentIdentifier": { 
                  "id": "MyDocument"
               },
               "inlineContent": { 
                  "textContent": { 
                     "data": "Hello world!"
                  },
                  "type": "TEXT"
               },
               "sourceType": "IN_LINE"
            }
         },
         "metadata": {
            "inlineAttributes": [ 
               { 
                  "key": "genre",
                  "value": {
                     "stringValue": "pop",
                     "type": "STRING"
                  }
               },
               { 
                  "key": "year",
                  "value": { 
                     "numberValue": 1988,
                     "type": "NUMBER"
                  }
               }
            ],
            "type": "IN_LINE_ATTRIBUTE"
         }
     }
   ]
}
```

#### Ajout d’un document à une base de connaissances connectée à une source de données S3 et inclusion des métadonnées pour celui-ci
<a name="w2aac28c10c23c19c17c11b3c19b5b9"></a>

L’exemple suivant montre l’ajout d’un document et de métadonnées à une source de données S3. Vous ne pouvez inclure les métadonnées que via S3 :

```
PUT /knowledgebases/KB12345678/datasources/DS12345678/documents HTTP/1.1
Content-type: application/json

{
    "documents": [ 
        { 
            "content": { 
                "dataSourceType": "S3",
                "s3": { 
                "s3Location": {
                    "uri": "amzn-s3-demo-bucket"
                }
            }
        },
        "metadata": {
            "s3Location": {
                "bucketOwnerId": "111122223333",
                "uri": "amzn-s3-demo-bucket"
            },
                "type": "S3_LOCATION"
            }
        }
    ]
}
```

# Affichage des informations relatives aux documents de votre source de données
<a name="kb-direct-ingestion-view"></a>

Les rubriques suivantes décrivent comment afficher les documents de votre source de données. Si votre base de connaissances est connectée à une source de données Amazon S3, vous pouvez consulter les documents dans le compartiment S3 connecté.

**Note**  
Si vous avez créé une nouvelle base de connaissances en vous connectant à une source de données S3, vous devez d’abord synchroniser la source de données avant de pouvoir utiliser ces opérations d’API sur la source de données.

Développez la méthode correspondant à votre cas d’utilisation :

## Utilisation de la console
<a name="kb-direct-ingestion-view-console"></a>

Pour consulter les documents de votre source de données qui ont été ingérés dans la AWS Management Console, procédez comme suit :

1. Connectez-vous à la AWS Management Console avec une identité IAM autorisée à utiliser la console Amazon Bedrock. Ensuite, ouvrez la console Amazon Bedrock à l’adresse [https://console.aws.amazon.com/bedrock](https://console.aws.amazon.com/bedrock).

1. Dans le volet de navigation de gauche, sélectionnez **Bases de connaissances**.

1. Dans la section **Bases de connaissances**, sélectionnez la base de connaissances dont vous souhaitez afficher les documents.

1. Dans la section **Source de données**, sélectionnez la source de données dont vous souhaitez afficher les documents.

1. La section **Documents** répertorie les documents de la source de données. Ces documents ont également été intégrés à la base de connaissances.

## Utilisation de l’API
<a name="kb-direct-ingestion-view-api"></a>

Avec l’API Amazon Bedrock, vous pouvez afficher un sous-ensemble ou tous les documents de votre source de données qui ont été intégrés à la base de connaissances. Sélectionnez la rubrique qui se rapporte à votre cas d’utilisation.

**Topics**
+ [Affichage des informations relatives à un sous-ensemble de documents de votre base de connaissances](#kb-direct-ingestion-get)
+ [Affichage des informations relatives à tous les documents de votre base de connaissances](#kb-direct-ingestion-list)

### Affichage des informations relatives à un sous-ensemble de documents de votre base de connaissances
<a name="kb-direct-ingestion-get"></a>

Pour afficher des informations sur des documents spécifiques de votre source de données, envoyez une demande [GetKnowledgeBaseDocuments](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent_GetKnowledgeBaseDocuments.html) avec un [point de terminaison de compilation pour agents Amazon Bedrock](https://docs.aws.amazon.com/general/latest/gr/bedrock.html#bra-bt) et spécifiez les identifiants de la source de données et de la base de connaissances à laquelle elle est connectée.

Pour chaque document pour lequel vous souhaitez obtenir des informations, ajoutez un élément [DocumentIdentifier](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent_DocumentIdentifier.html) dans le tableau `documentIdentifiers` dans l’un des formats suivants :
+ Si la source de données est personnalisée, spécifiez l’ID du document dans le champ `id` :

  ```
  { 
      "custom": { 
          "id": "string"
      },
      "dataSourceType": "CUSTOM"
  }
  ```
+ Si la source de données est une source Amazon S3, spécifiez l’URI S3 du document dans le champ `uri` :

  ```
  {
      "dataSourceType": "S3",
      "s3": { 
          "uri": "string"
      }
  }
  ```

La réponse renvoie un tableau d’éléments, chacun contenant des informations sur un document que vous avez demandé.

### Affichage des informations relatives à tous les documents de votre base de connaissances
<a name="kb-direct-ingestion-list"></a>

Pour afficher les informations relatives à tous les documents d’une source de données, envoyez une demande [ListKnowledgeBaseDocuments](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent_ListKnowledgeBaseDocuments.html) avec un [point de terminaison de compilation pour agents Amazon Bedrock](https://docs.aws.amazon.com/general/latest/gr/bedrock.html#bra-bt) et spécifiez les identifiants de la source de données et de la base de connaissances à laquelle elle est connectée. Vous avez également les options suivantes :
+ Spécifiez les `maxResults` pour limiter le nombre de résultats à renvoyer.
+ Si les résultats ne correspondent pas à une réponse, une valeur est renvoyée dans le champ `nextToken` de la réponse. Vous pouvez utiliser cette valeur dans le champ `nextToken` d’une demande ultérieure pour obtenir le prochain lot de résultats.

# Suppression directe des documents d’une base de connaissances
<a name="kb-direct-ingestion-delete"></a>

Si vous n’avez plus besoin d’un document dans votre base de connaissances, vous pouvez le supprimer directement. Pour savoir comment supprimer des documents de votre source de données et de votre base de connaissances, développez la section correspondant à votre cas d’utilisation :

## Utilisation de la console
<a name="kb-direct-ingestion-delete-console"></a>

Pour supprimer des documents de votre source de données et de votre base de connaissances directement à l’aide de la AWS Management Console, procédez comme suit :

1. Connectez-vous à la AWS Management Console avec une identité IAM autorisée à utiliser la console Amazon Bedrock. Ensuite, ouvrez la console Amazon Bedrock à l’adresse [https://console.aws.amazon.com/bedrock](https://console.aws.amazon.com/bedrock).

1. Dans le volet de navigation de gauche, sélectionnez **Bases de connaissances**.

1. Dans la section **Bases de connaissances**, sélectionnez la base de connaissances dans laquelle vous souhaitez supprimer des documents.

1. Dans la section **Source de données**, sélectionnez la source de données à partir de laquelle vous souhaitez supprimer des documents.

1. Dans la section **Documents**, sélectionnez le document à supprimer. Choisissez ensuite **Supprimer le document**. Examinez le message et confirmez.

## Utilisation de l’API
<a name="kb-direct-ingestion-delete-api"></a>

Pour supprimer des documents spécifiques de votre source de données via l’API Amazon Bedrock, envoyez une demande [DeleteKnowledgeBaseDocuments](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent_DeleteKnowledgeBaseDocuments.html) avec un [point de terminaison de compilation pour agents Amazon Bedrock](https://docs.aws.amazon.com/general/latest/gr/bedrock.html#bra-bt) et spécifiez les ID de la source de données et de la base de connaissances à laquelle elle est connectée.

Pour chaque document que vous souhaitez supprimer, ajoutez un élément [DocumentIdentifier](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent_DocumentIdentifier.html) dans le tableau `documentIdentifiers` dans l’un des formats suivants :
+ Si la source de données est personnalisée, spécifiez l’ID du document dans le champ `id` :

  ```
  { 
      "custom": { 
          "id": "string"
      },
      "dataSourceType": "CUSTOM"
  }
  ```
+ Si la source de données est une source Amazon S3, spécifiez l’URI S3 du document dans le champ `uri` :

  ```
  {
      "dataSourceType": "S3",
      "s3": { 
          "uri": "string"
      }
  }
  ```

**Avertissement**  
Les documents que vous supprimez directement d’une base de connaissances connectée à une source de données S3 ne sont pas supprimés du compartiment S3 lui-même. Nous vous recommandons de supprimer ces documents du compartiment S3 afin qu’ils ne soient pas réintroduits lors de la synchronisation de votre source de données.

# Affichage des informations relatives aux sources de données pour votre base de connaissances Amazon Bedrock
<a name="kb-ds-info"></a>

Vous pouvez consulter les informations relatives à une source de données pour votre base de connaissances, telles que les paramètres et l’historique de synchronisation.

Pour surveiller votre base de connaissances, y compris les sources de données de votre base de connaissances, consultez [Journalisation de la base de connaissances à l’aide d’Amazon CloudWatch](https://docs.aws.amazon.com/bedrock/latest/userguide/knowledge-bases-logging.html).

Choisissez l’onglet correspondant à votre méthode préférée, puis suivez les étapes :

------
#### [ Console ]

**Pour afficher des informations sur une source de données**

1. Connectez-vous à la AWS Management Console avec une identité IAM autorisée à utiliser la console Amazon Bedrock. Ensuite, ouvrez la console Amazon Bedrock à l’adresse [https://console.aws.amazon.com/bedrock](https://console.aws.amazon.com/bedrock).

1. Dans le volet de navigation de gauche, sélectionnez **Bases de connaissances**.

1. Dans la section **Source de données**, sélectionnez la source de données dont vous souhaitez afficher les détails.

1. La **vue d’ensemble des sources de données** contient des informations détaillées sur la source de données.

1. L’**historique de synchronisation** contient des informations sur le moment où la source de données a été synchronisée. Pour connaître les raisons de l’échec d’un événement de synchronisation, sélectionnez un événement de synchronisation et choisissez **Afficher les avertissements**.

------
#### [ API ]

Pour obtenir des informations sur une source de données, envoyez une demande [GetDataSource](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent_GetDataSource.html) avec un [point de terminaison de compilation pour agents Amazon Bedrock](https://docs.aws.amazon.com/general/latest/gr/bedrock.html#bra-bt) et spécifiez `dataSourceId` et `knowledgeBaseId` de la base de connaissances à laquelle elle appartient.

Pour afficher les informations relatives aux sources de données d’une base de connaissances, envoyez une demande [ListDataSources](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent_ListDataSources.html) avec un [point de terminaison de compilation pour agents Amazon Bedrock](https://docs.aws.amazon.com/general/latest/gr/bedrock.html#bra-bt) et spécifiez l’ID de la base de connaissances en question.
+ Pour spécifier le nombre maximum de résultats à renvoyer en réponse, utilisez le champ `maxResults`.
+ Si le nombre de résultats est supérieur à ce que vous avez défini, la réponse renvoie un `nextToken`. Vous pouvez utiliser cette valeur dans une autre demande `ListDataSources` pour voir le prochain lot de résultats.

Pour obtenir des informations sur un événement de synchronisation pour une source de données, envoyez une demande [GetIngestionJob](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent_GetIngestionJob.html) avec un [point de terminaison de compilation pour agents Amazon Bedrock](https://docs.aws.amazon.com/general/latest/gr/bedrock.html#bra-bt). Spécifiez `dataSourceId`, `knowledgeBaseId` et `ingestionJobId`.

Pour afficher l’historique de synchronisation d’une source de données dans une base de connaissances, envoyez une demande [ListIngestionJobs](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent_ListIngestionJobs.html) avec un [point de terminaison de compilation pour agents Amazon Bedrock](https://docs.aws.amazon.com/general/latest/gr/bedrock.html#bra-bt). Spécifiez l’ID de la base de connaissances et de la source de données. Vous pouvez définir les spécifications suivantes.
+ Filtrez les résultats en spécifiant le statut à rechercher dans l’objet `filters`.
+ Pour effectuer un tri en fonction de l’heure à laquelle la tâche a été lancée ou du statut d’une tâche, spécifiez l’objet `sortBy`. Vous pouvez spécifier un ordre de tri croissant ou décroissant.
+ Spécifiez le nombre maximum de résultats à renvoyer en réponse dans le champ `maxResults`. Si le nombre de résultats est supérieur à ce que vous avez défini, la réponse renvoie un `nextToken` que vous pouvez envoyer dans une autre demande [ListIngestionJobs](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent_ListIngestionJobs.html) afin de voir le lot suivant de tâches.

------

# Modification d’une source de données pour votre base de connaissances Amazon Bedrock
<a name="kb-ds-update"></a>

Vous pouvez mettre à jour une source de données pour votre base de connaissances, par exemple en modifiant les configurations des sources de données.

Vous pouvez mettre à jour une source de données de l’une des façons suivantes :
+ Ajout, modification ou suppression de fichiers ou de contenu de la source de données.
+ Modification des configurations des sources de données ou de la clé KMS à utiliser pour le chiffrage des données transitoires lors de l’ingestion de données. Si vous modifiez les détails de configuration du point de terminaison ou de la source, vous devez mettre à jour le rôle IAM ou en créer un avec les autorisations d’accès requises et un secret Secrets Manager (le cas échéant).
+ Définition de votre politique de suppression des sources de données sur « Supprimer » ou « Retenir ». Vous pouvez supprimer toutes les données de votre source de données converties en vectorisations lors de la suppression d’une ressource de type base de connaissances ou source de données. Vous pouvez conserver toutes les données de votre source de données converties en vectorisations lors de la suppression d’une ressource de type base de connaissances ou source de données. Notez que le **magasin de vecteurs lui-même n’est pas supprimé** si vous supprimez une ressource de type base de connaissances ou source de données.

Chaque fois que vous ajoutez, modifiez ou supprimez des fichiers de votre source de données, vous devez synchroniser cette dernière afin qu’elle soit réindexée dans la base de connaissances. La synchronisation étant incrémentielle, Amazon Bedrock ne traite que les documents ajoutés, modifiés ou supprimés depuis la dernière synchronisation. Avant de commencer l’ingestion, vérifiez que votre source de données remplit les conditions suivantes :
+ Le format des fichiers est pris en charge. Pour plus d’informations, consultez [Formats de documents pris en charge](https://docs.aws.amazon.com/bedrock/latest/userguide/knowledge-base-ds.html#kb-ds-supported-doc-formats-limits).
+ Les fichiers ne dépassent pas la **taille des fichiers de tâche d’ingestion** spécifiée dans [Points de terminaison et quotas Amazon Bedrock](https://docs.aws.amazon.com/general/latest/gr/bedrock.html) dans les Références générales AWS.
+ Si votre source de données contient des fichiers de métadonnées, vérifiez les conditions suivantes pour vous assurer qu’ils ne sont pas ignorés :
  + Chaque fichier `.metadata.json` porte le même nom et la même extension que le fichier source auquel il est associé.
  + Si l’index vectoriel de votre base de connaissances se trouve dans un magasin de vecteurs Amazon OpenSearch sans serveur, vérifiez qu’il est configuré avec le moteur `faiss`. Si l’index vectoriel est configuré avec le moteur `nmslib`, vous devrez effectuer l’une des opérations suivantes :
    + [Créer une nouvelle base de connaissances](knowledge-base-create.md) dans la console et laisser Amazon Bedrock créer automatiquement pour vous un index vectoriel dans Amazon OpenSearch sans serveur
    + [Créer un autre index vectoriel](knowledge-base-setup.md) dans le magasin de vecteurs et sélectionner `faiss` comme **moteur** [Créer ensuite une base de connaissances](knowledge-base-create.md) et spécifier le nouvel index vectoriel
  + Si l’index vectoriel de votre base de connaissances se trouve dans un cluster de bases de données Amazon Aurora, nous vous recommandons d’utiliser le champ de métadonnées personnalisées pour stocker toutes vos métadonnées dans une seule colonne et de créer un index sur cette colonne. Si vous ne fournissez pas de champ de métadonnées personnalisées, vous devez vérifier que le tableau de votre index contient une colonne pour chaque propriété de métadonnées de vos fichiers de métadonnées avant de commencer l’ingestion. Pour plus d’informations, consultez [Conditions préalables à l’utilisation d’un magasin de vecteurs que vous avez créé pour une base de connaissances](knowledge-base-setup.md).

Pour découvrir comment mettre à jour une source de données, cliquez sur l’onglet correspondant à votre méthode préférée, puis suivez les étapes :

------
#### [ Console ]

**Pour mettre à jour une source de données**

1. Connectez-vous à la AWS Management Console avec une identité IAM autorisée à utiliser la console Amazon Bedrock. Ensuite, ouvrez la console Amazon Bedrock à l’adresse [https://console.aws.amazon.com/bedrock](https://console.aws.amazon.com/bedrock).

1. Dans le volet de navigation de gauche, sélectionnez **Bases de connaissances**.

1. Sélectionnez le nom de votre base de connaissances.

1. Dans la section **Source de données**, activez la case d’option près de la source de données que vous souhaitez modifier et synchroniser.

1. (Facultatif) Choisissez **Modifier**, changez vos configurations, puis sélectionnez **Soumettre**. Si vous modifiez les détails de configuration du point de terminaison ou de la source, vous devez mettre à jour le rôle IAM ou en créer un avec les autorisations d’accès requises et un secret Secrets Manager (le cas échéant). Notez également qu’il n’est pas possible de modifier les configurations de découpage basées sur les données d’origine ingérées. Vous devez recréer la source de données.
**Note**  
Vous ne pouvez pas modifier les configurations de découpage. Vous devez recréer la source de données.

1. (Facultatif) Choisissez de modifier la politique de suppression des données de votre source de données dans le cadre des paramètres avancés :

   Pour les paramètres de politique de suppression des données, vous pouvez choisir l’une des options suivantes :
   + Supprimer : vous pouvez supprimer toutes les données de votre source de données converties en vectorisations lors de la suppression d’une ressource de type base de connaissances ou source de données. Notez que le **magasin de vecteurs lui-même n’est pas supprimé**, seules les données le sont. Cet indicateur est ignoré si un compte AWS est supprimé.
   + Retenir : vous pouvez conserver toutes les données de votre source de données converties en vectorisations lors de la suppression d’une ressource de type base de connaissances ou source de données. Notez que le **magasin de vecteurs lui-même n’est pas supprimé** si vous supprimez une ressource de type base de connaissances ou source de données.

1. Choisissez **Synchronisation**.

1. Une bannière verte apparaît lorsque la synchronisation est terminée et que le **statut** devient **Prêt**.

------
#### [ API ]

**Pour mettre à jour une source de données**

1. (Facultatif) Envoyez une demande [UpdateDataSource](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent_UpdateDataSource.html) avec un [point de terminaison de compilation pour agents Amazon Bedrock](https://docs.aws.amazon.com/general/latest/gr/bedrock.html#bra-bt), en modifiant n’importe quelle configuration et en spécifiant les mêmes configurations que vous ne souhaitez pas modifier. Si vous modifiez les détails de configuration du point de terminaison ou de la source, vous devez mettre à jour le rôle IAM ou en créer un avec les autorisations d’accès requises et un secret Secrets Manager (le cas échéant).
**Note**  
Vous pouvez modifier `chunkingConfiguration`. Envoyez la demande avec la source de données existante `chunkingConfiguration` ou recréez la source de données.

1. (Facultatif) Modifiez `dataDeletionPolicy` pour la source de données. Vous pouvez supprimer (`DELETE`) toutes les données de votre source de données converties en vectorisations lors de la suppression d’une ressource de type base de connaissances ou source de données. Cet indicateur est ignoré si un compte AWS est supprimé. Vous pouvez conserver (`RETAIN`) toutes les données de votre source de données converties en vectorisations lors de la suppression d’une ressource de type base de connaissances ou source de données. Notez que le **magasin de vecteurs lui-même n’est pas supprimé** si vous supprimez une ressource de type base de connaissances ou source de données.

1. Envoyez une demande [StartIngestionJob](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent_StartIngestionJob.html) avec un [point de terminaison de compilation pour agents Amazon Bedrock](https://docs.aws.amazon.com/general/latest/gr/bedrock.html#bra-bt), en spécifiant les ID `dataSourceId` et `knowledgeBaseId`.

------

# Suppression d’une source de données de votre base de connaissances Amazon Bedrock
<a name="kb-ds-delete"></a>

Vous pouvez supprimer une source de données dont vous n’avez plus besoin ou que vous n’utilisez plus pour votre base de connaissances.

Choisissez l’onglet correspondant à votre méthode préférée, puis suivez les étapes :

------
#### [ Console ]

**Pour supprimer une source de données**

1. Connectez-vous à la AWS Management Console avec une identité IAM autorisée à utiliser la console Amazon Bedrock. Ensuite, ouvrez la console Amazon Bedrock à l’adresse [https://console.aws.amazon.com/bedrock](https://console.aws.amazon.com/bedrock).

1. Dans le volet de navigation de gauche, sélectionnez **Bases de connaissances**.

1. Dans la section **Source de données**, activez la case d’option près de la source de données que vous souhaitez supprimer.

1. Sélectionnez **Supprimer**.

1. Une bannière verte apparaît lorsque la source de données est correctement supprimée.
**Note**  
Votre politique de suppression des données pour votre source de données est définie sur « Supprimer » (supprime toutes les données lorsque vous supprimez votre source de données, mais **ne supprime pas le magasin de vecteurs lui-même**) ou sur « Retenir » (conserve toutes les données lorsque vous supprimez votre source de données). Si vous supprimez une source de données ou une base de connaissances, le **magasin de vecteurs lui-même n’est pas supprimé**. Si la politique de suppression des données de la source de données est définie sur « Supprimer », il est possible que la source de données termine le processus de suppression sans succès en raison de problèmes de configuration ou d’accès au magasin de vecteurs. Vous pouvez vérifier l’état « DELETE\$1UNSUCCESSFUL » pour connaître la raison pour laquelle la source de données n’a pas pu être supprimée correctement.

------
#### [ API ]

Pour supprimer une source de données d’une base de connaissances, envoyez une demande [DeleteDataSource](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent_DeletDataSource.html), en spécifiant `dataSourceId` et `knowledgeBaseId`.

**Note**  
Votre politique de suppression des données pour votre source de données est définie sur `DELETE` (supprime toutes les données lorsque vous supprimez votre source de données, mais **ne supprime pas le magasin de vecteurs lui-même**) ou sur `RETAIN` (conserve toutes les données lorsque vous supprimez votre source de données). Si vous supprimez une source de données ou une base de connaissances, le **magasin de vecteurs lui-même n’est pas supprimé**. Si la politique de suppression des données de la source de données est définie sur `DELETE`, il est possible que la source de données termine le processus de suppression sans succès en raison de problèmes de configuration ou d’accès au magasin de vecteurs. Vous pouvez consulter les `failureReasons` si l’état de la source de données est `DELETE_UNSUCCESSFUL` pour connaître la raison pour laquelle la source de données n’a pas pu être supprimée correctement.

------

# Création d'une base de connaissances pour le contenu multimodal
<a name="kb-multimodal"></a>

Les bases de connaissances Amazon Bedrock prennent en charge le contenu multimodal, notamment les images, les fichiers audio et vidéo. Vous pouvez effectuer des recherches en utilisant des images comme requêtes, récupérer du contenu visuellement similaire et traiter des fichiers multimédia parallèlement à des documents texte traditionnels. Cette fonctionnalité vous permet d'extraire des informations à partir de différents types de données : images autonomes, enregistrements audio et fichiers vidéo stockés au sein de votre entreprise.

Les bases de connaissances Amazon Bedrock vous permettent d'indexer et de récupérer des informations à partir de contenus textuels, visuels et audio. Organisations peuvent désormais effectuer des recherches dans les catalogues de produits à l'aide d'images, trouver des moments spécifiques dans les vidéos de formation et récupérer des segments pertinents à partir des enregistrements d'appels du service client.

**Disponibilité par région**  
Les approches de traitement multimodales ont une disponibilité régionale différente. Pour plus d’informations, consultez [Disponibilité par région](kb-multimodal-choose-approach.md#kb-multimodal-processing-regions).

## Fonctionnalités et capacités
<a name="kb-multimodal-features"></a>

Les bases de connaissances multimodales fournissent les fonctionnalités clés suivantes :

**Requêtes basées sur des images**  
Soumettez des images sous forme de requêtes de recherche pour trouver du contenu visuellement similaire lorsque vous utilisez Nova Multimodal Embeddings. Prend en charge la mise en correspondance des produits, la recherche de similarité visuelle et la récupération d'images.

**Récupération de contenu audio**  
Recherchez des fichiers audio à l'aide de requêtes textuelles. Récupérez des segments spécifiques à partir d'enregistrements avec des références d'horodatage. La transcription audio permet une recherche textuelle dans le contenu vocal, y compris les réunions, les appels et les podcasts.

**Extraction de segments vidéo**  
Localisez des moments spécifiques dans des fichiers vidéo à l'aide de requêtes textuelles. Récupérez des segments vidéo avec des horodatages précis.

**Recherche intermodale**  
Effectuez des recherches dans différents types de données, notamment des documents texte, des images, des fichiers audio et vidéo. Récupérez le contenu pertinent quel que soit le format d'origine.

**Références de source avec horodatage**  
Les résultats de récupération incluent des références à des fichiers originaux avec des métadonnées temporelles pour l'audio et la vidéo. Permet une navigation précise vers les segments pertinents du contenu multimédia.

**Options de traitement flexibles**  
Choisissez entre les intégrations multimodales natives pour la similitude visuelle ou la conversion de texte pour le contenu vocal. Configurez l'approche de traitement en fonction des caractéristiques du contenu et des exigences de l'application.

## Comment ça marche
<a name="kb-multimodal-how-it-works"></a>

Les bases de connaissances multimodales traitent et extraient le contenu via un pipeline en plusieurs étapes qui gère les différents types de données de manière appropriée :

****Ingestion et traitement****

1. **Connexion à une source de données :** connectez votre base de connaissances à des compartiments Amazon S3 ou à des sources de données personnalisées contenant des documents texte, des images, des fichiers audio et des fichiers vidéo.

1. **Détection du type de fichier :** le système identifie chaque type de fichier par son extension et l'achemine vers le pipeline de traitement approprié.

1. **Traitement du contenu :** en fonction de votre configuration, les fichiers sont traités selon l'une des deux approches suivantes :
   + **Nova Multimodal Embeddings :** préserve le format natif pour la mise en correspondance des similitudes visuelles et audio. Les images, le son et la vidéo sont intégrés directement sans conversion en texte.
   + **Bedrock Data Automation (BDA) :** convertit le multimédia en représentations textuelles. Le son est transcrit à l'aide de la reconnaissance vocale automatique (ASR), la vidéo est traitée pour extraire les résumés et les transcriptions des scènes, et les images sont soumises à l'OCR et à l'extraction du contenu visuel.

1. **Génération d'intégration :** le contenu traité est converti en intégrations vectorielles à l'aide du modèle d'intégration sélectionné. Ces intégrations capturent le sens sémantique et permettent une récupération basée sur la similarité.

1. **Stockage vectoriel :** les intégrations sont stockées dans votre base de données vectorielle configurée avec les métadonnées, notamment les références aux fichiers, les horodatages (pour l'audio et la vidéo) et les informations sur le type de contenu.

1. **Stockage multimodal (facultatif) :** s'ils sont configurés, les fichiers multimédia d'origine sont copiés vers une destination de stockage multimodale dédiée pour une récupération fiable, garantissant ainsi la disponibilité même si les fichiers source sont modifiés ou supprimés.

****Requête et extraction****

1. **Traitement des requêtes :** les requêtes des utilisateurs (texte ou image) sont converties en intégrations en utilisant le même modèle d'intégration que celui utilisé lors de l'ingestion.

1. **Recherche de similarité :** l'intégration des requêtes est comparée aux intégrations stockées dans la base de données vectorielle afin d'identifier le contenu le plus pertinent.

1. **Récupération des résultats :** le système renvoie le contenu correspondant avec des métadonnées, notamment :
   + URI source (emplacement du fichier d'origine)
   + Métadonnées d'horodatage (pour les segments audio et vidéo)
   + Informations sur le type de contenu et les modalités

1. **Génération de réponses (facultatif) :** pour les `RetrieveAndGenerate` demandes, le contenu récupéré est transmis à un modèle de base afin de générer des réponses textuelles contextuellement pertinentes. Ceci est pris en charge lors de l'utilisation du traitement BDA ou lorsque la base de connaissances contient du contenu textuel.

**Important**  
Le système renvoie des références à des fichiers complets avec des métadonnées d'horodatage pour le contenu audio et vidéo. Votre application doit extraire et lire des segments spécifiques en fonction des horodatages de début et de fin fournis. Le AWS Management Console gère automatiquement.

**Topics**
+ [Fonctionnalités et capacités](#kb-multimodal-features)
+ [Comment ça marche](#kb-multimodal-how-it-works)
+ [Choix de votre approche de traitement multimodale](kb-multimodal-choose-approach.md)
+ [Prérequis pour les bases de connaissances multimodales](kb-multimodal-prerequisites.md)
+ [Création d'une base de connaissances pour le contenu multimodal](kb-multimodal-create.md)
+ [Ajouter des sources de données et démarrer l'ingestion](kb-multimodal-add-data-source-and-ingest.md)
+ [Tester et interroger des bases de connaissances multimodales](kb-multimodal-test-and-query.md)
+ [Dépannage des bases de connaissances multimodales](kb-multimodal-troubleshooting.md)

# Choix de votre approche de traitement multimodale
<a name="kb-multimodal-choose-approach"></a>

Les bases de connaissances Amazon Bedrock proposent deux approches pour le traitement du contenu multimodal : Nova Multimodal Embeddings pour les recherches de similarité visuelle, et Bedrock Data Automation (BDA) pour le traitement textuel du contenu multimédia. Vous pouvez également utiliser des modèles de base comme analyseur si votre modalité d'entrée est l'image mais pas pour l'audio ou la vidéo.

Cette section décrit l'utilisation de Nova Multimodal Embeddings et de BDA comme approche de traitement du contenu multimodal. Chaque approche est optimisée pour différents cas d'utilisation et modèles de requêtes.

**Topics**
+ [Approche de traitement multimodale](#kb-multimodal-processing-approach)
+ [Disponibilité par région](#kb-multimodal-processing-regions)
+ [Critères de sélection par type de contenu](#kb-multimodal-selection-guidance)
+ [Types de fichiers et sources de données pris en charge](#kb-multimodal-supported-files)
+ [Capacités et limites](#kb-multimodal-approach-details)

## Approche de traitement multimodale
<a name="kb-multimodal-processing-approach"></a>

Le tableau suivant présente une comparaison entre Nova Multimodal Embeddings et BDA pour le traitement du contenu multimodal.


**Comparaison des approches de traitement**  

| Caractéristiques | Intégrations multimodales Nova | Automatisation des données Bedrock (BDA) | 
| --- | --- | --- | 
| Méthode de traitement | Génère des intégrations sans conversion de texte intermédiaire | Convertit le contenu multimédia en texte, puis crée des intégrations | 
| Types de requêtes pris en charge | Requêtes de texte ou requêtes d'images | Requêtes textuelles uniquement | 
| Principaux cas d'utilisation | Recherche de similarité visuelle, correspondance de produits, découverte d'images | Transcription vocale, recherche textuelle, analyse de contenu | 
| Fonctionnalité RAG | Limité au contenu textuel uniquement | RetrieveAndGenerateSupport complet | 
| Besoins de stockage | Destination de stockage multimodale requise | Destination de stockage multimodale facultative, mais si elle n'est pas spécifiée, seules les données texte seront traitées par BDA. Pour la saisie autre que du texte, vous devez spécifier une destination de stockage multimodale. | 

## Disponibilité par région
<a name="kb-multimodal-processing-regions"></a>


**Disponibilité par région**  

| Intégrations multimodales Nova | Automatisation des données Bedrock (BDA) | 
| --- | --- | 
| Est des États-Unis (Virginie du Nord) uniquement |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/fr_fr/bedrock/latest/userguide/kb-multimodal-choose-approach.html)  | 

## Critères de sélection par type de contenu
<a name="kb-multimodal-selection-guidance"></a>

Utilisez cette matrice de décision pour choisir l'approche de traitement appropriée en fonction de votre contenu et des exigences du cas d'utilisation :

**Note**  
Si vous utilisez l'analyseur BDA avec le modèle d'intégration multimodal Amazon Nova, le modèle d'intégration agira comme un modèle d'intégration de texte. Lorsque vous travaillez avec du contenu multimodal, utilisez l'une des approches de traitement pour obtenir les meilleurs résultats en fonction de votre cas d'utilisation.


**Recommandations relatives à l'approche de traitement par type de contenu**  

| Type de contenu | Intégrations multimodales Nova | Automatisation des données Bedrock (BDA) | 
| --- | --- | --- | 
| Catalogues de produits et images | Recommandé : permet la mise en correspondance visuelle des similitudes et les requêtes basées sur des images | Limité - Extrait uniquement le texte par OCR | 
| Enregistrements de réunions et appels | Impossible de traiter le contenu vocal de manière significative | Recommandé : fournit une transcription complète du discours et du texte consultable | 
| Vidéos pédagogiques et de formation | Partiel : gère le contenu visuel mais ne tient pas compte de la parole | Recommandé - Capture à la fois les transcriptions vocales et les descriptions visuelles | 
| Enregistrements de support client | Non recommandé - Le contenu vocal ne peut pas être traité efficacement | Recommandé : crée des transcriptions de conversation complètes consultables | 
| Schémas et graphiques techniques | Recommandé : excellent pour la similitude visuelle et la correspondance des motifs | Limité : extrait les étiquettes de texte mais omet les relations visuelles | 

## Types de fichiers et sources de données pris en charge
<a name="kb-multimodal-supported-files"></a>

Les types de fichiers pris en charge dépendent de l'approche de traitement que vous avez choisie :


**Types de fichiers pris en charge par approche de traitement**  

| Type de fichier | Intégrations multimodales Nova | Automatisation des données Bedrock (BDA) | 
| --- | --- | --- | 
| Images | .png, .jpg, .jpeg, .gif, .webp | .png, .jpg, .jpeg | 
| Audio | .mp3, .ogg, .wav | .amr, .flac, .m4a, .mp3, .ogg, .wav | 
| Vidéo | .mp4, .mov, .mkv, .webm, .flv, .mpeg, .mpg, .wmv, .3gp | .mp4, .mov | 
| Documents | Traité sous forme de texte | .pdf (plus extraction de texte à partir d'images) | 

****Sources de données prises en charge****  
Le contenu multimodal est pris en charge par les sources de données suivantes :
+ **Amazon S3 :** prise en charge complète de tous les types de fichiers multimodaux
+ **Sources de données personnalisées :** Support pour le contenu en ligne jusqu'à 10 Mo codé en base64

**Important**  
La récupération multimodale n'est actuellement disponible que pour les sources de données Amazon S3. Les autres sources de données (Confluence, Salesforce SharePoint, Web Crawler) ne traitent pas les fichiers multimodaux lors de l'ingestion. Ces fichiers sont ignorés et ne seront pas disponibles pour les requêtes multimodales.

## Capacités et limites
<a name="kb-multimodal-approach-details"></a>

**Intégrations multimodales Nova**  
**Fonctionnalités clés :**  
+ Le traitement multimodal natif préserve le format du contenu d'origine pour une correspondance visuelle optimale des similitudes
+ Les requêtes basées sur des images permettent aux utilisateurs de télécharger des images et de trouver du contenu visuellement similaire
+ Excellentes performances pour les catalogues de produits, la recherche visuelle et les applications de découverte de contenu
**Limites :**  
+ Impossible de traiter efficacement le contenu vocal ou audio - les informations vocales ne sont pas consultables
+ `RetrieveAndGenerate`et la fonctionnalité de référencement est limitée au contenu textuel uniquement
+ Nécessite la configuration d'une destination de stockage multimodale dédiée

**Automatisation des données Bedrock (BDA)**  
**Fonctionnalités clés :**  
+ Transcription vocale complète à l'aide de la technologie de reconnaissance vocale automatique (ASR)
+ L'analyse du contenu visuel génère un texte descriptif pour les images et les scènes vidéo
+ Le `RetrieveAndGenerate` support complet permet d'utiliser toutes les fonctionnalités RAG pour tous les contenus
+ La recherche basée sur le texte fonctionne de manière cohérente pour tous les types de contenu multimédia
**Limites :**  
+ Aucune prise en charge des requêtes basées sur des images lorsqu'elles sont utilisées sans Nova Multimodal Embeddings - toutes les recherches doivent utiliser la saisie de texte
+ Impossible d'effectuer des image-to-image recherches ou des correspondances visuelles par similarité
+ Temps de traitement d'ingestion plus long en raison des exigences de conversion du contenu
+ Supporte moins de formats de fichiers multimédia par rapport à Nova Multimodal Embeddings

**Traitement du contenu vocal**  
Nova Multimodal Embeddings ne peut pas traiter efficacement le contenu vocal des fichiers audio ou vidéo. Si votre contenu multimédia contient des informations vocales importantes que les utilisateurs doivent rechercher, optez pour l'approche BDA pour garantir une transcription complète et une facilité de recherche.

# Prérequis pour les bases de connaissances multimodales
<a name="kb-multimodal-prerequisites"></a>

Les bases de connaissances multimodales Amazon Bedrock nécessitent une configuration supplémentaire au-delà des bases de connaissances standard pour traiter les images, le contenu audio et vidéo. Les prérequis spécifiques dépendent de l'approche de traitement et de la configuration de stockage que vous avez choisies.

Avant de créer une base de connaissances multimodale, vous devez remplir les conditions préalables suivantes :

**Topics**
+ [Conditions préalables](#kb-multimodal-prerequisites)
+ [Autorisations pour le contenu multimodal](#kb-multimodal-prerequisites-permissions)

## Conditions préalables
<a name="kb-multimodal-prerequisites"></a>

1. Assurez-vous que vos données se trouvent dans un [connecteur de source de données pris en charge](data-source-connectors.md). Le contenu multimodal n'est pris en charge qu'avec Amazon S3 et les sources de données personnalisées.

1. (Facultatif) [Configurez votre propre magasin de vecteurs pris en charge](knowledge-base-setup.md). Vous pouvez ignorer cette étape si vous prévoyez de créer automatiquement un magasin de vecteurs à l’aide de la AWS Management Console .

1. Créez un [rôle de service](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_terms-and-concepts.html#iam-term-service-role) personnalisé Gestion des identités et des accès AWS (IAM) avec les autorisations appropriées pour le traitement multimodal. Consultez [Autorisations pour le contenu multimodal](#kb-multimodal-prerequisites-permissions) pour plus de détails.
**Note**  
Si vous utilisez la console, les bases de connaissances Amazon Bedrock configureront automatiquement les autorisations pour vous.

1. (Facultatif) Paramétrez des configurations de sécurité supplémentaires en suivant les étapes décrites dans [Chiffrement des ressources des bases de connaissances](encryption-kb.md).

1. Si vous prévoyez d'utiliser l'opération [https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent-runtime_RetrieveAndGenerate.html](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent-runtime_RetrieveAndGenerate.html)API avec du contenu traité par la BDA, demandez l'accès aux modèles que vous utiliserez dans les régions dans lesquelles vous les utiliserez en suivant les étapes décrites dans. [Accès aux modèles de fondation Amazon Bedrock](model-access.md)

## Autorisations pour le contenu multimodal
<a name="kb-multimodal-prerequisites-permissions"></a>

Les bases de connaissances multimodales nécessitent des autorisations supplémentaires au-delà des autorisations de base de connaissances standard. Les autorisations spécifiques dépendent de l'approche de traitement et de la configuration de stockage que vous avez choisies.

Vous devez configurer les autorisations suivantes en fonction de votre approche de traitement multimodal :
+ **Autorisations Nova Multimodal Embeddings :** requises lors de l'utilisation de Nova Multimodal Embeddings pour des recherches directes de similarité visuelle et audio. Inclut des autorisations pour l'invocation de modèles asynchrones et l'accès au stockage multimodal.
+ **Autorisations Bedrock Data Automation (BDA) :** requises lors de l'utilisation de BDA pour convertir du contenu multimodal en représentations textuelles. Inclut des autorisations pour l'automatisation des données, l'invocation et la surveillance de l'état.
+ **Autorisations relatives aux clés KMS gérées par le client :** obligatoires lors de l'utilisation de clés de chiffrement gérées par le client avec traitement BDA. Inclut les autorisations pour les opérations clés et la création de subventions.
+ **Autorisations de stockage multimodal :** obligatoires lors de la configuration d'une destination de stockage multimodale. Inclut les autorisations S3 standard pour le compartiment de stockage.

Pour des politiques IAM détaillées et la configuration des step-by-step autorisations, consultez[Autorisations pour le contenu multimodal](kb-permissions.md#kb-permissions-multimodal).

### Besoins de stockage
<a name="kb-multimodal-storage-requirements"></a>

**Intégrations multimodales Nova**  
**Obligatoire :** vous devez configurer une destination de stockage multimodale. Cette destination stocke des copies de vos fichiers multimédia à récupérer et garantit leur disponibilité même si les fichiers sources sont modifiés ou supprimés.

**Automatisation des données Bedrock (BDA)**  
**Facultatif :** vous pouvez configurer un bucket de stockage multimodal pour une fiabilité accrue et également pour récupérer le fichier lors de l'exécution. Cependant, cela n'est pas obligatoire puisque BDA convertit le contenu en texte.  
Si vous sélectionnez l'analyseur BDA sans configurer de compartiment de stockage multimodal, seule l'analyse de texte sera disponible. Pour tirer parti des fonctionnalités d'analyse multimodale avec BDA (traitement des images, du son et de la vidéo), vous devez configurer une destination de stockage multimodale.

**Configuration de la destination de stockage multimodale**  
Lorsque vous configurez votre destination de stockage multimodal, tenez compte des points suivants :
+ **Utiliser des compartiments séparés (recommandé) :** configurez différents compartiments Amazon S3 pour votre source de données et votre destination de stockage multimodal. Cela fournit la configuration la plus simple et évite les conflits potentiels.
+ **Si vous utilisez le même compartiment :** vous devez spécifier un préfixe d'inclusion pour votre source de données qui limite le contenu ingéré. Cela empêche de réingérer les fichiers multimédias extraits.
+ **Évitez le préfixe « aws/ » :** lorsque vous utilisez le même compartiment à la fois pour la source de données et pour la destination de stockage multimodale, n'utilisez pas de préfixes d'inclusion commençant par « aws/ » car ce chemin est réservé au stockage multimédia extrait.

# Création d'une base de connaissances pour le contenu multimodal
<a name="kb-multimodal-create"></a>

Vous pouvez créer des bases de connaissances multimodales à l'aide de la console ou de l'API. Choisissez votre approche en fonction de vos besoins en matière de traitement multimodal.

**Important**  
Le support multimodal n'est disponible que lors de la création d'une base de connaissances avec des sources de données non structurées. Les sources de données structurées ne prennent pas en charge le traitement multimodal du contenu.

------
#### [ Console ]

**Pour créer une base de connaissances multimodale à partir de la console**

1. Connectez-vous au AWS Management Console avec une identité IAM autorisée à utiliser la console Amazon Bedrock. Ouvrez ensuite la console Amazon Bedrock à l'adresse [https://console.aws.amazon.com/bedrock.](https://console.aws.amazon.com/bedrock)

1. Dans le volet de navigation de gauche, sélectionnez **Bases de connaissances**.

1. Dans la section **Bases de connaissances**, choisissez **Créer**, puis sélectionnez **Base de connaissances avec magasin de vecteurs**.

1. (Facultatif) Sous **Détails de la base de connaissances**, modifiez le nom par défaut et fournissez une description de votre base de connaissances.

1. Sous **Autorisations IAM**, choisissez un rôle IAM qui fournit à Amazon Bedrock les autorisations nécessaires pour accéder à d’autres Services AWS requis. Vous pouvez soit demander à Amazon Bedrock de créer le rôle de service pour vous, soit choisir d'utiliser votre propre rôle personnalisé. Pour les autorisations multimodales, voir[Autorisations pour le contenu multimodal](kb-permissions.md#kb-permissions-multimodal).

1. Choisissez **Amazon S3** comme source de données et cliquez sur **Suivant** pour configurer votre source de données.
**Note**  
Vous pouvez ajouter jusqu'à 5 sources de données Amazon S3 lors de la création de la base de connaissances. Des sources de données supplémentaires peuvent être ajoutées après la création de la base de connaissances.

1. Fournissez l'**URI S3** du compartiment contenant votre contenu multimodal et configurez un préfixe d'inclusion si nécessaire. Le préfixe d'inclusion est un chemin de dossier qui peut être utilisé pour limiter le contenu ingéré.

1. Sous **Configurations de découpage et d'analyse**, choisissez votre stratégie d'analyse :
   + **Analyseur par défaut Bedrock :** recommandé pour le traitement de contenu contenant uniquement du texte. Cet analyseur traite les formats de texte courants tout en ignorant les fichiers multimodaux. Prend en charge les documents texte, notamment les fichiers Word, Excel, HTML, Markdown, TXT et CSV.
   + **Bedrock Data Automation (BDA) :** convertit le contenu multimodal en représentations textuelles consultables. PDFsTraite des images, des fichiers audio et vidéo pour extraire du texte, générer des descriptions pour le contenu visuel et créer des transcriptions pour le contenu audio et vidéo.
   + **Analyseur du modèle de base :** fournit des fonctionnalités d'analyse avancées pour les structures de documents complexes. Processus PDFs, images, documents structurés, tableaux et contenu visuellement riche pour extraire du texte et générer des descriptions pour les éléments visuels.

1. Choisissez **Next** et sélectionnez votre modèle d'intégration et votre approche de traitement multimodal. 
   + **Amazon Nova Multimodal Embeddings V1.0 : Choisissez Amazon Nova Embeddings** **V1.0 pour les recherches directes de similarité** visuelle et audio. Configurez la durée des segments audio et vidéo (1 à 30 secondes, 5 secondes par défaut) pour contrôler la manière dont le contenu est segmenté.
**Note**  
Les paramètres de segmentation audio et vidéo sont configurés au niveau du modèle d'intégration, et non au niveau de la source de données. Une exception de validation se produit si vous fournissez cette configuration pour les modèles de vectorisation non multimodaux. Configurez la durée des segments audio et vidéo (par défaut : 5 secondes, plage : 1 à 30 secondes) pour contrôler la manière dont le contenu est segmenté. Les segments plus courts permettent une extraction précise du contenu, tandis que les segments plus longs préservent un contexte plus sémantique.
**Important**  
Amazon Nova Embedding v1.0 offre une prise en charge limitée de la recherche de contenu vocal dans les audio/video données. Si vous avez besoin de prendre en charge la parole, utilisez Bedrock Data Automation comme analyseur syntaxique.
   + Incorporation de **texte avec BDA : Choisissez un modèle d'intégration de texte (tel que Titan Text Embeddings** v2) lorsque vous utilisez le traitement BDA. Les modèles d'intégration de texte limitent l'extraction au contenu uniquement textuel, mais vous pouvez activer la récupération multimodale en sélectionnant Amazon Bedrock Data Automation ou Foundation Model comme analyseurs.
**Note**  
Si vous utilisez un analyseur BDA avec Nova Multimodal Embeddings, les bases de connaissances Amazon Bedrock utiliseront d'abord l'analyse BDA. Dans ce cas, le modèle d'intégration ne générera pas d'intégrations multimodales natives pour les images, le son et les vidéos, car BDA les convertit en représentations textuelles.

1. Si vous utilisez Nova Multimodal Embeddings, configurez la **destination de stockage multimodal** en spécifiant un compartiment Amazon S3 dans lequel les fichiers traités seront stockés pour être récupérés. Les bases de connaissances stockeront les images analysées dans un seul compartiment Amazon S3 avec un dossier créé .bda pour un accès facile.
**Recommandation de politique de cycle de vie**  
Lorsque vous utilisez Nova Multimodal Embeddings, Amazon Bedrock stocke les données transitoires dans votre destination de stockage multimodal et tente de les supprimer une fois le traitement terminé. Nous recommandons d'appliquer une politique de cycle de vie au chemin de données transitoire afin de garantir un nettoyage approprié. Pour obtenir des instructions complètes, consultez [Gestion des données transitoires avec les politiques de cycle de vie d'Amazon S3](kb-multimodal-troubleshooting.md#kb-multimodal-lifecycle-policy).

1. Dans la section **Base de données vectorielle**, choisissez votre méthode de stockage vectoriel et configurez les dimensions appropriées en fonction du modèle d'intégration sélectionné.

1. Choisissez **Suivant** et passez en revue les détails de la configuration de votre base de connaissances, puis choisissez **Créer une base de connaissances**.

------
#### [ CLI ]

**Pour créer une base de connaissances multimodale à l'aide du AWS CLI**
+ Créez une base de connaissances avec Nova Multimodal Embeddings. Envoyez une [https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent_CreateKnowledgeBase.html](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent_CreateKnowledgeBase.html)demande :

  ```
  aws bedrock-agent create-knowledge-base \
  --cli-input-json file://kb-nova-mme.json
  ```

  Contenu de `kb-nova-mme.json` (remplacez les valeurs d'espace réservé par votre configuration spécifique) :

  ```
  {
      "knowledgeBaseConfiguration": {
          "vectorKnowledgeBaseConfiguration": {
              "embeddingModelArn": "arn:aws:bedrock:us-east-1::foundation-model/amazon.nova-2-multimodal-embeddings-v1:0",
              "supplementalDataStorageConfiguration": {
                  "storageLocations": [
                      {
                          "type": "S3",
                          "s3Location": {
                              "uri": "s3://<multimodal-storage-bucket>/"
                          }
                      }
                  ]
              }
          },
          "type": "VECTOR"
      },
      "storageConfiguration": {
          "opensearchServerlessConfiguration": {
              "collectionArn": "arn:aws:aoss:us-east-1:<account-id>:collection/<collection-id>",
              "vectorIndexName": "<index-name>",
              "fieldMapping": {
                  "vectorField": "<vector-field>",
                  "textField": "<text-field>",
                  "metadataField": "<metadata-field>"
              }
          },
          "type": "OPENSEARCH_SERVERLESS"
      },
      "name": "<knowledge-base-name>",
      "description": "Multimodal knowledge base with Nova Multimodal Embeddings"
  }
  ```

  Remplacez les espaces réservés suivants :
  + `<multimodal-storage-bucket>`- Compartiment S3 pour le stockage de fichiers multimodaux
  + `<account-id>`- Votre identifiant de compte AWS
  + `<collection-id>`- ID de collecte OpenSearch sans serveur
  + `<index-name>`- Nom de l'index vectoriel dans votre OpenSearch collection (configuré avec les dimensions appropriées pour le modèle d'intégration que vous avez choisi)
  + `<vector-field>`- Nom du champ pour le stockage des intégrations
  + `<text-field>`- Nom du champ pour stocker le contenu du texte
  + `<metadata-field>`- Nom du champ pour le stockage des métadonnées

------

# Ajouter des sources de données et démarrer l'ingestion
<a name="kb-multimodal-add-data-source-and-ingest"></a>

Après avoir créé votre base de connaissances, ajoutez des sources de données contenant votre contenu multimodal et lancez des tâches d'ingestion pour traiter et indexer le contenu.

**Comportement de suppression des sources de données**  
Lorsque vous supprimez une source de données avec la politique de suppression définie sur RETAIN, le contenu ingéré reste dans la base de données vectorielle et continuera d'être utilisé pour la récupération. Le contenu n'est supprimé que si vous synchronisez explicitement la base de connaissances après avoir supprimé la source de données. Les sources de données dotées de la politique DELETE par défaut supprimeront automatiquement le contenu de la base de données vectorielle et le stockage supplémentaire lors de la suppression. Cela garantit que votre base de connaissances continue de fonctionner même si les fichiers source sont modifiés ou supprimés, mais vous devez savoir que les sources de données supprimées conformément à la politique RETAIN peuvent toujours contribuer aux résultats de recherche.

## Ajouter des sources de données
<a name="kb-multimodal-add-data-source"></a>

Ajoutez des sources de données contenant votre contenu multimodal à votre base de connaissances.

**Important**  
Pour les sources de données BDA : seules les sources de données créées après le lancement du audio/video support traiteront les fichiers audio et vidéo. Les sources de données BDA existantes créées avant le lancement de cette fonctionnalité continueront d'ignorer les fichiers audio et vidéo. Pour permettre audio/video le traitement des bases de connaissances existantes, créez de nouvelles sources de données.

------
#### [ Console ]

**Pour ajouter une source de données depuis la console**

1. Sur la page de détails de votre base de connaissances, sélectionnez **Ajouter une source de données**.

1. Choisissez **Amazon S3** comme type de source de données.

1. Donnez un nom et une description à votre source de données.

1. Configurez l'emplacement Amazon S3 contenant vos fichiers multimodaux en fournissant l'URI du compartiment et les éventuels préfixes d'inclusion.

1. Sous **Analyse et segmentation du contenu**, configurez vos méthodes d'analyse et de segmentation :
**Note**  
Les modèles d'intégration de texte limitent l'extraction au contenu uniquement textuel, mais vous pouvez activer la récupération multimodale via du texte en sélectionnant Amazon Bedrock Data Automation (pour l'audio, la vidéo et les images) ou Foundation Model comme analyseurs (pour les images).

   Choisissez l'une des trois stratégies d'analyse syntaxique suivantes :
   + **Analyseur par défaut Bedrock :** recommandé pour l'analyse du texte uniquement. Cet analyseur ignore le contenu multimodal et est couramment utilisé avec les modèles d'intégration multimodaux.
   + **Bedrock Data Automation en tant qu'analyseur :** permet d'analyser et de stocker du contenu multimodal sous forme de texte, de support, d'images PDFs, de fichiers audio et vidéo.
   + **Modèle de base en tant qu'analyseur :** fournit une analyse avancée pour les images et les documents structurés, les supports PDFs, les images, les tableaux et les documents visuellement riches.

1. Choisissez **Ajouter une source de données** pour créer la source de données.

------
#### [ CLI ]

**Pour ajouter une source de données à l'aide du AWS CLI**
+ Créez une source de données pour votre contenu multimodal. Envoyez une [https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent_CreateDataSource.html](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent_CreateDataSource.html)demande :

  ```
  aws bedrock-agent create-data-source \
  --knowledge-base-id <knowledge-base-id> \
  --cli-input-json file://ds-multimodal.json
  ```

  Pour les intégrations multimodales Nova (aucune configuration d'analyse spéciale n'est requise), utilisez ce contenu : `ds-multimodal.json`

  ```
  {
      "dataSourceConfiguration": {
          "type": "S3",
          "s3Configuration": {
              "bucketArn": "arn:aws:s3:::<data-source-bucket>",
              "inclusionPrefixes": ["<folder-path>"]
          }
      },
      "name": "multimodal_data_source",
      "description": "Data source with multimodal content",
      "dataDeletionPolicy": "RETAIN"
  }
  ```

  Pour l'approche d'analyse BDA, utilisez cette configuration :

  ```
  {
      "dataSourceConfiguration": {
          "type": "S3",
          "s3Configuration": {
              "bucketArn": "arn:aws:s3:::<data-source-bucket>",
              "inclusionPrefixes": ["<folder-path>"]
          }
      },
      "name": "multimodal_data_source_bda",
      "description": "Data source with BDA multimodal parsing",
      "dataDeletionPolicy": "RETAIN",
      "vectorIngestionConfiguration": {
          "parsingConfiguration": {
              "bedrockDataAutomationConfiguration": {
                  "parsingModality": "MULTIMODAL"
              }
          }
      }
  }
  ```

------

## Lancement d’une tâche d’ingestion
<a name="kb-multimodal-start-ingestion"></a>

Après avoir ajouté vos sources de données, lancez une tâche d'ingestion pour traiter et indexer votre contenu multimodal.

------
#### [ Console ]

**Pour démarrer l'ingestion depuis la console**

1. Sur la page de détails de votre source de données, choisissez **Sync**.

1. Surveillez l'état de synchronisation sur la page de la source de données. L'ingestion peut prendre plusieurs minutes en fonction de la taille et du nombre de vos fichiers multimodaux.

1. Une fois la synchronisation terminée, votre contenu multimodal est prêt à être interrogé.

------
#### [ CLI ]

**Pour commencer l'ingestion à l'aide du AWS CLI**

1. Commencez une opération d'ingestion. Envoyez une [https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent_StartIngestionJob.html](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent_StartIngestionJob.html)demande :

   ```
   aws bedrock-agent start-ingestion-job \
   --knowledge-base-id <knowledge-base-id> \
   --data-source-id <data-source-id>
   ```

   Remplacez les espaces réservés par :
   + `<knowledge-base-id>`- Identifiant issu de la création de la base de connaissances
   + `<data-source-id>`- ID issu de la création de la source de données

1. Surveillez l'état de la tâche d'ingestion à l'aide de [https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent_GetIngestionJob.html](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent_GetIngestionJob.html).

------

## Resynchronisation après suppression de la source de données
<a name="kb-multimodal-resync-after-deletion"></a>

Si vous supprimez une source de données et souhaitez supprimer son contenu de la base de connaissances, vous devez resynchroniser explicitement la base de connaissances :

**Pour supprimer le contenu d'une source de données supprimée**

1. Supprimez la source de données à l'aide de la console ou de [https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent_DeleteDataSource.html](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent_DeleteDataSource.html)l'API.

1. Lancez une nouvelle tâche d'ingestion sur toutes les sources de données restantes pour mettre à jour la base de données vectorielle et supprimer le contenu de la source de données supprimée.

1. Vérifiez que les requêtes ne renvoient plus de résultats à partir de la source de données supprimée.

**Note**  
Sans resynchronisation, le contenu des sources de données supprimées continuera d'apparaître dans les résultats de recherche même si la source de données n'existe plus.

# Tester et interroger des bases de connaissances multimodales
<a name="kb-multimodal-test-and-query"></a>

Après avoir ingéré votre contenu multimodal, vous pouvez tester et interroger votre base de connaissances à l'aide de la console ou de l'API. Les types de requêtes disponibles dépendent de l'approche de traitement que vous avez choisie.

------
#### [ Console ]

**Pour tester votre base de connaissances depuis la console**

1. Depuis la page de détails de votre base de connaissances, accédez à la section **Tester la base de connaissances**.

1. Choisissez votre type de requête :
   + **Extraction standard uniquement : recherchez** et récupérez des informations à partir de sources de données dans une base de connaissances unique.
   + **Extraction et génération de réponses :** interrogez une base de connaissances unique et générez des réponses basées sur les résultats récupérés en utilisant un modèle de base.
**Note**  
Si vous avez du contenu multimodal, vous devez utiliser l'analyseur BDA pour la récupération et la génération de réponses.

1. Configurez des options supplémentaires selon vos besoins :
   + **Fragments source :** Spécifiez le nombre maximum de fragments source à renvoyer
   + **Type de recherche :** sélectionnez le type de recherche pour personnaliser la stratégie de requête
   + **Filtres de métadonnées :** appliquez des filtres pour affiner les résultats de recherche
   + **Rambardes :** sélectionnez un garde-corps existant ou créez-en un nouveau

1. Entrez une requête textuelle ou téléchargez une image (Nova Multimodal Embeddings uniquement) pour rechercher votre contenu multimodal. Utilisez le bouton de pièce jointe pour télécharger des images à des fins de recherche de similarité visuelle.

1. Passez en revue les résultats, notamment :
   + Morceaux de contenu récupérés avec des scores de pertinence
   + Références et horodatages du fichier source (pour l'audio/vidéo)
   + Métadonnées, y compris les types de fichiers et les informations de traitement
   + Pour le contenu multimédia, commandes de lecture avec positionnement automatique des segments en fonction des horodatages récupérés

------
#### [ API ]

Les exemples suivants montrent comment utiliser l'API Amazon Bedrock Agent Runtime pour interroger votre base de connaissances multimodale par programmation :

**Exemple de requête textuelle**  
Recherche par saisie de texte :

```
aws bedrock-agent-runtime retrieve \
--knowledge-base-id <knowledge-base-id> \
--retrieval-query text="robot automation in manufacturing"
```

**Exemple de requête d'image (Nova Multimodal Embeddings uniquement)**  
Effectuez une recherche à l'aide d'une image téléchargée :

```
{
    "knowledgeBaseId": "<knowledge-base-id>",
    "retrievalQuery": {
        "imageQuery": {
            "inlineContent": {
                "mimeType": "image/jpeg",
                "data": "<base64-encoded-image>"
            }
        }
    }
}
```

------

## Types de requêtes pris en charge
<a name="kb-multimodal-query-types"></a>

**Requêtes textuelles**  
Soutenu à la fois par les approches Nova Multimodal Embeddings et BDA. Effectuez une recherche à l'aide de texte en langage naturel pour trouver du contenu pertinent sur tous les types de médias.

**Requêtes sur les images**  
Compatible uniquement avec Nova Multimodal Embeddings. Téléchargez des images pour trouver du contenu visuellement similaire dans votre base de connaissances.

## Comprendre les métadonnées des réponses
<a name="kb-multimodal-response-metadata"></a>

Les réponses aux requêtes multimodales incluent des métadonnées supplémentaires pour le contenu multimédia :

**Attribution de la source**  
Emplacement du fichier d'origine (SourceURI) et emplacement de stockage multimodal (SupplementalURI) pour un accès fiable

**Métadonnées temporelles**  
Horodatages de début et de fin pour les segments audio et vidéo, permettant une navigation précise vers le contenu pertinent

**Informations sur le type de contenu**  
Indicateurs de format de fichier, de méthode de traitement et de modalité pour aider les applications à gérer les différents types de contenu de manière appropriée

**Structure des métadonnées de base de données vectorielles**  
Lorsque le contenu multimodal est traité et stocké, la structure de métadonnées suivante est utilisée dans la base de données vectorielle :
+ **champ de texte :** pour les fichiers multimédia traités avec Nova Multimodal Embeddings, ce champ contient une chaîne vide car le contenu est intégré en tant que contenu multimédia natif plutôt que sous forme de texte
+ **champ de métadonnées :** contient des informations structurées, notamment les détails de la source et les références de contenu associées :

  ```
  {
    "source": {
      "sourceType": "S3",
      "s3Location": {
        "uri": "s3://source-bucket/path/to/file.mp4"
      }
    },
    "relatedContent": [{
      "type": "S3",
      "s3Location": {
        "uri": "s3://multimodal-storage-bucket/processed/file.mp4"
      }
    }]
  }
  ```
+ **Champs créés automatiquement : champs** supplémentaires pour le filtrage et l'identification :
  + `x-amz-bedrock-kb-source-uri`: URI source d'origine pour les opérations de filtrage
  + `x-amz-bedrock-kb-data-source-id`: identifiant de source de données pour suivre l'origine du contenu
  + `x-amz-bedrock-kb-chunk-start-time-in-millis`: horodatage de début en millisecondes pour les segments audio et vidéo
  + `x-amz-bedrock-kb-chunk-end-time-in-millis`: horodatage de fin en millisecondes pour les segments audio et vidéo
  + `x-amz-bedrock-kb-source-file-mime-type`: type MIME du fichier source
  + `x-amz-bedrock-kb-source-file-modality`: Modalité du fichier source (TEXTE, IMAGE, AUDIO, VIDÉO)

**Important**  
Les applications doivent utiliser les horodatages fournis pour extraire et lire des segments spécifiques à partir de fichiers audio et vidéo. La base de connaissances renvoie des références à des fichiers complets, et non à des clips présegmentés.

# Dépannage des bases de connaissances multimodales
<a name="kb-multimodal-troubleshooting"></a>

Cette section fournit des conseils pour résoudre les problèmes courants rencontrés lors de l'utilisation de bases de connaissances multimodales. Les informations de dépannage sont organisées en fonction des limites générales, des scénarios d'erreur courants avec leurs causes et solutions, et des recommandations d'optimisation des performances. Utilisez ces informations pour diagnostiquer et résoudre les problèmes lors de la configuration, de l'ingestion ou de l'interrogation de votre contenu multimodal.

## Limitations générales
<a name="kb-multimodal-general-limitations"></a>

Tenez compte des limites actuelles lorsque vous travaillez avec des bases de connaissances multimodales :
+ **Limites de taille de fichier :** 1,5 Go maximum par fichier vidéo, 1 Go par fichier audio (Nova Multimodal Embeddings) ou 1,5 Go par fichier (BDA)
+ **Fichiers par tâche d'ingestion :** maximum 15 000 fichiers par tâche (Nova Multimodal Embeddings) ou 1 000 fichiers par tâche (BDA)
+ **Limites de requêtes :** maximum d'une image par requête
+ **Restrictions relatives aux sources de données :** seuls Amazon S3 et les sources de données personnalisées prennent en charge le contenu multimodal
+ **Limites du découpage BDA :** lorsque vous utilisez Bedrock Data Automation avec un découpage de taille fixe, les paramètres de pourcentage de chevauchement ne sont pas appliqués au contenu audio et vidéo
+ Limites de **tâches BDA simultanées : limite** par défaut de 20 tâches BDA simultanées. Pour un traitement à grande échelle, envisagez de demander une augmentation du quota de service
+ **Limites du modèle de reclassement : les** modèles de reclassement ne sont pas pris en charge pour le contenu multimodal
+ **Limites de synthèse :** la synthèse des réponses de récupération contenant du contenu non textuel n'est pas prise en charge
+ **Limites de saisie des requêtes :** les entrées contenant à la fois du texte et des images ne sont actuellement pas prises en charge. Vous pouvez utiliser des requêtes sous forme de texte ou d'image, mais pas les deux simultanément.
+ **Filtres de contenu d'image de garde-corps :** lorsque vous utilisez des requêtes d'image avec un garde-corps sur lequel des filtres de contenu d'image sont configurés, l'image d'entrée est évaluée par rapport au garde-corps et peut être bloquée si elle dépasse les seuils de filtre configurés
+ **Incompatibilité de saisie et de type :** par défaut, l'entrée est supposée être du texte lorsque le type n'est pas spécifié. Lorsque vous utilisez des modalités autres que le texte, vous devez spécifier le type correct

## Erreurs courantes et solutions
<a name="kb-multimodal-common-errors"></a>

Si vous rencontrez des problèmes avec votre base de connaissances multimodale, passez en revue les scénarios courants suivants :

**Erreur 4xx lors de l'utilisation de requêtes d'image**  
**Cause :** tentative d'utilisation de requêtes d'image avec des modèles incorporant uniquement du texte ou des bases de connaissances traitées par BDA.  
**Solution :** Choisissez Amazon Nova Multimodal Embeddings lors de la création de votre base de connaissances pour la prise en charge des requêtes d'images.

**RAG renvoie une erreur 4xx avec un contenu multimodal**  
**Cause :** utilisation `RetrieveAndGenerate` avec une base de connaissances contenant uniquement du contenu multimodal et le modèle Amazon Nova Multimodal Embeddings.  
**Solution :** utilisez l'analyseur BDA pour les fonctionnalités RAG ou assurez-vous que votre base de connaissances contient du texte.

**Erreur de destination de stockage multimodale requise**  
**Cause :** utilisation de Nova Multimodal Embeddings sans configurer de destination de stockage multimodale.  
**Solution :** Spécifiez une destination de stockage multimodale lors de l'utilisation de Nova Multimodal Embeddings.

**La source de données et le stockage multimodal utilisent le même compartiment S3**  
**Cause :** Configuration de votre source de données et de votre destination de stockage multimodal pour utiliser le même compartiment Amazon S3 sans préfixes d'inclusion appropriés.  
**Solution :** utilisez des compartiments distincts pour la source de données et le stockage multimodal, ou configurez des préfixes d'inclusion pour empêcher la réingestion des fichiers multimédias extraits.

**Le préfixe d'inclusion ne peut pas commencer par « aws/ »**  
**Cause :** utilisation d'un préfixe d'inclusion commençant par « aws/ » lorsque votre source de données et votre destination de stockage multimodal partagent le même compartiment Amazon S3.  
**Solution :** Spécifiez un autre préfixe d'inclusion. Le chemin « aws/ » est réservé au stockage des médias extraits et ne peut pas être utilisé comme préfixe d'inclusion pour éviter de réingérer le contenu traité.

**L'ingestion de BDA ignore le contenu multimodal**  
**Cause :** La base de connaissances a été créée sans destination de stockage multimodale, puis une source de données BDA a été ajoutée avec un contenu multimodal.  
**Solution : Recréez** la base de connaissances avec une destination de stockage multimodale configurée pour permettre le traitement BDA de fichiers audio, vidéo et image.

**Base de connaissances créée sans modèle d'intégration multimodal**  
**Cause :** La base de connaissances a été créée avec un modèle d'intégration contenant uniquement du texte, ce qui limite les capacités multimodales.  
**Solution :** Créez une nouvelle base de connaissances avec Nova Multimodal Embeddings pour permettre le traitement multimodal natif et les requêtes basées sur des images.

## Gestion des données transitoires avec les politiques de cycle de vie d'Amazon S3
<a name="kb-multimodal-lifecycle-policy"></a>

Lorsque vous utilisez Nova Multimodal Embeddings, Amazon Bedrock stocke les données transitoires dans votre destination de stockage multimodal et tente de les supprimer une fois le traitement terminé. Nous recommandons d'appliquer une politique de cycle de vie au chemin de données transitoire afin de garantir qu'il est correctement expiré.

------
#### [ Console ]

**Pour créer une règle de cycle de vie à l'aide de la console**

1. Ouvrez la [console Amazon S3](https://console.aws.amazon.com/s3).

1. Accédez à la destination de stockage multimodale que vous avez configurée pour votre base de connaissances.

1. Choisissez l'onglet **Gestion**, puis sélectionnez **Créer une règle de cycle de vie**.

1. Pour le **nom de la règle du cycle** de vie, entrez**Transient Data Deletion**.

1. Sous **Type de filtre**, choisissez **Limiter la portée de cette règle à l'aide d'un ou de plusieurs filtres**.

1. Dans **Préfixe**, entrez le chemin de données transitoire pour votre base de connaissances et votre source de données.

   Remplacez les valeurs d'espace réservé du préfixe suivant par vos identifiants réels :

   ```
   aws/bedrock/knowledge_bases/knowledge-base-id/data-source-id/transient_data
   ```
**Important**  
N'appliquez pas de politiques de cycle de vie à l'ensemble du compartiment ou au préfixe « aws/ », car cela supprimerait votre contenu multimodal et provoquerait des échecs de récupération. Utilisez uniquement le chemin de données transitoire spécifique indiqué ci-dessus.

1. Sous **Actions relatives aux règles du cycle** de vie, sélectionnez **Expirer les versions actuelles des objets**.

1. Pour **Jours après la création de l'objet**, entrez**1**.

1. Choisissez **Créer une règle**.

------
#### [ AWS CLI ]

**Pour créer une règle de cycle de vie à l'aide du AWS CLI**

1. Créez un fichier JSON nommé `lifecycle-policy.json` avec le contenu suivant.

   Remplacez les valeurs de l'espace réservé par vos identifiants réels :
   + *knowledge-base-id*- L'identifiant de votre base de connaissances
   + *data-source-id*- L'identifiant de votre source de données

   ```
   {
       "Rules": [
           {
               "ID": "TransientDataDeletion",
               "Status": "Enabled",
               "Filter": {
                   "Prefix": "aws/bedrock/knowledge_bases/knowledge-base-id/data-source-id/transient_data"
               },
               "Expiration": {
                   "Days": 1
               }
           }
       ]
   }
   ```

1. Appliquez la politique de cycle de vie à votre compartiment. Remplacez *your-multimodal-storage-bucket* par le nom de votre compartiment :

   ```
   aws s3api put-bucket-lifecycle-configuration \
       --bucket your-multimodal-storage-bucket \
       --lifecycle-configuration file://lifecycle-policy.json
   ```

1. Vérifiez que la politique de cycle de vie a été appliquée :

   ```
   aws s3api get-bucket-lifecycle-configuration \
       --bucket your-multimodal-storage-bucket
   ```

------

Pour plus d'informations sur les politiques de cycle de vie d'Amazon S3, consultez [Gérer le cycle de vie des objets](https://docs.aws.amazon.com/AmazonS3/latest/userguide/object-lifecycle-mgmt.html) dans le *guide de l'utilisateur d'Amazon S3*.

## Considérations sur les performances
<a name="kb-multimodal-performance-considerations"></a>

Pour optimiser les performances de votre base de connaissances multimodale, tenez compte des facteurs suivants :
+ **Temps de traitement : le traitement** BDA prend plus de temps en raison de la conversion du contenu
+ **Latence des requêtes :** les requêtes d'image peuvent avoir une latence plus élevée que les requêtes de texte
+ **Durée du découpage : des durées de segments** audio/vidéo plus longues augmentent le temps de traitement mais peuvent améliorer la précision

# Création d’une base de connaissances en la connectant à un magasin de données structuré
<a name="knowledge-base-build-structured"></a>

Amazon Bedrock Knowledge Bases vous permet de vous connecter à des magasins de données structurés, qui contiennent des données conformes à un schéma prédéfini. Les tables et les bases de données sont des exemples de données structurées. Amazon Bedrock Knowledge Bases peut convertir les requêtes utilisateur dans un langage adapté à l’extraction de données à partir de magasins de données structurés pris en charge. Ensuite, la requête convertie lui permet de récupérer les données pertinentes pour la requête et générer des réponses appropriées. Ainsi, vous pouvez utiliser directement les données structurées existantes sans avoir à les convertir dans un autre format ni à générer vos propres requêtes SQL.

Après avoir configuré votre base de connaissances, vous pouvez soumettre des requêtes pour en récupérer des données au moyen de l’opération [https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent-runtime_Retrieve.html](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent-runtime_Retrieve.html) ou générer des réponses à partir des données récupérées au moyen de l’opération [https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent-runtime_RetrieveAndGenerate.html](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent-runtime_RetrieveAndGenerate.html). Ces opérations convertissent de manière sous-jacente les requêtes utilisateur en requêtes adaptées au magasin de données structuré connecté à la base de connaissances.

Vous pouvez également convertir les requêtes indépendamment de la récupération des données à l’aide de l’opération d’API [GenerateQuery](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent-runtime_GenerateQuery.html). Cette opération convertit les requêtes en langage naturel en requêtes SQL adaptées à la source de données interrogée. Vous pouvez utiliser cette opération indépendamment et l’insérer dans votre flux de travail.

Sélectionnez une rubrique pour découvrir les conditions préalables et le processus de connexion de votre base de connaissances à un magasin de données structuré.

**Topics**
+ [Configuration de votre moteur de requêtes et des autorisations nécessaires à la création d’une base de connaissances avec un magasin de données structuré](knowledge-base-prereq-structured.md)
+ [Création d’une base de connaissances en la connectant à un magasin de données structuré](knowledge-base-structured-create.md)
+ [Synchronisation de votre magasin de données structuré avec votre base de connaissances Amazon Bedrock](kb-data-source-structured-sync-ingest.md)

# Configuration de votre moteur de requêtes et des autorisations nécessaires à la création d’une base de connaissances avec un magasin de données structuré
<a name="knowledge-base-prereq-structured"></a>

Cette rubrique décrit les autorisations dont vous avez besoin pour connecter votre base de connaissances à un magasin de données structuré. Si vous envisagez de connecter une base de connaissances Amazon Bedrock à un magasin de données structuré, vous devez remplir les conditions préalables. Pour découvrir les conditions générales relatives aux autorisations à remplir, consultez [Configuration d’autorisations de création et de gestion de bases de connaissances pour un utilisateur ou un rôle](knowledge-base-prereq-permissions-general.md).

**Important**  
L'exécution de requêtes SQL arbitraires peut représenter un risque pour la sécurité de n'importe quelle Text-to-SQL application. Nous vous recommandons de prendre les précautions nécessaires, par exemple en utilisant des rôles restreints, des bases de données en lecture seule et des environnements de test (sandbox).

Amazon Bedrock Knowledge Bases utilise Amazon Redshift en tant que moteur de requête pour interroger votre magasin de données. Un moteur de requête accède aux métadonnées depuis un magasin de données structuré, puis ces métadonnées lui permettent de générer des requêtes SQL. Amazon Redshift est un service d’entrepôt de données qui analyse des données structurées provenant d’entrepôts de données, de bases de données et de lacs de données à l’aide d’SQL.

## Création du moteur de requêtes Amazon Redshift
<a name="kb-query-engine-setup-create"></a>

Vous pouvez utiliser Amazon Redshift sans serveur ou Amazon Redshift alloué selon votre cas d’utilisation, et vous connecter à des groupes de travail ou à des clusters pour votre entrepôt de données. Les données sous-jacentes que le moteur Amazon Redshift peut interroger peuvent être des données stockées de manière native dans des clusters Amazon Redshift ou des données situées sous la valeur par défaut AWS Glue Data Catalog (comme dans Amazon S3, entre autres).

Si vous avez déjà créé un moteur de requêtes, vous pouvez ignorer cette condition préalable. Sinon, procédez comme suit pour configurer votre moteur de requêtes Amazon Redshift alloué ou Amazon Redshift sans serveur :

**Pour configurer un moteur de requêtes dans Amazon Redshift alloué**

1. Suivez la procédure sous [Étape 1 : création d’un exemple de cluster Amazon Redshift](https://docs.aws.amazon.com/redshift/latest/gsg/new-user.html#rs-gsg-launch-sample-cluster) dans le Guide de démarrage d’Amazon Redshift.

1. Notez l’identifiant du cluster.

1. (Facultatif) Pour plus d’informations sur les clusters Amazon Redshift alloué, consultez [Clusters Amazon Redshift alloué](https://docs.aws.amazon.com/redshift/latest/mgmt/working-with-clusters.html) dans le Guide de gestion d’Amazon Redshift.

**Pour configurer un moteur de requêtes dans Amazon Redshift sans serveur**

1. Suivez uniquement la procédure de configuration sous [Création d’un entrepôt de données avec Amazon Redshift sans serveur](https://docs.aws.amazon.com/redshift/latest/gsg/new-user-serverless.html#serverless-console-resource-creation) dans le Guide de démarrage d’Amazon Redshift et configurez-le avec les paramètres par défaut.

1. Notez l’ARN du groupe de travail.

1. (Facultatif) Pour plus d’informations sur les groupes de travail Amazon Redshift sans serveur, consultez [Groupes de travail et espaces de noms](https://docs.aws.amazon.com/redshift/latest/mgmt/serverless-workgroup-namespace.html) dans le Guide de gestion d’Amazon Redshift.

## Configuration des autorisations du moteur de requêtes Amazon Redshift
<a name="kb-query-engine-setup-redshift-permissions"></a>

En fonction du moteur de requêtes Amazon Redshift que vous choisissez, vous pouvez configurer certaines autorisations. Les autorisations que vous configurez dépendent de la méthode d’authentification. Le tableau suivant indique les méthodes d’authentification utilisables pour différents moteurs de requêtes :


****  

| Méthode d’authentification | Amazon Redshift alloué | Amazon Redshift sans serveur | 
| --- | --- | --- | 
| IAM | ![\[Green circular icon with a white checkmark symbol inside.\]](http://docs.aws.amazon.com/fr_fr/bedrock/latest/userguide/images/icons/icon-yes.png)Oui | ![\[Green circular icon with a white checkmark symbol inside.\]](http://docs.aws.amazon.com/fr_fr/bedrock/latest/userguide/images/icons/icon-yes.png)Oui | 
| Nom d’utilisateur de la base de données | ![\[Green circular icon with a white checkmark symbol inside.\]](http://docs.aws.amazon.com/fr_fr/bedrock/latest/userguide/images/icons/icon-yes.png)Oui | ![\[Red circular icon with an X symbol, indicating cancellation or denial.\]](http://docs.aws.amazon.com/fr_fr/bedrock/latest/userguide/images/icons/icon-no.png)Non | 
| AWS Secrets Manager | ![\[Green circular icon with a white checkmark symbol inside.\]](http://docs.aws.amazon.com/fr_fr/bedrock/latest/userguide/images/icons/icon-yes.png)Oui | ![\[Green circular icon with a white checkmark symbol inside.\]](http://docs.aws.amazon.com/fr_fr/bedrock/latest/userguide/images/icons/icon-yes.png)Oui | 

Amazon Bedrock Knowledge Bases connecte les bases de connaissances aux magasins de données structurés, récupère les données de ces magasins de données et génère des requêtes SQL en fonction des requêtes utilisateur et de la structure des magasins de données à l’aide d’un [rôle de service](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_create_for-service.html).

**Note**  
Si vous envisagez d'utiliser le AWS Management Console pour créer une base de connaissances, vous pouvez ignorer cette condition préalable. La console créera un rôle de service Amazon Bedrock Knowledge Bases avec les autorisations appropriées.

Pour créer un rôle de service IAM personnalisé avec les autorisations appropriées, suivez les étapes décrites dans [Création d’un rôle pour la délégation d’autorisations à un Service AWS](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_create_for-service.html) et attachez la relation de confiance définie dans [Relation d’approbation](kb-permissions.md#kb-permissions-trust).

Ajoutez ensuite des autorisations afin que votre base de connaissances puisse accéder à votre moteur de requêtes et à vos bases de données Amazon Redshift. Développez la section s’appliquant à votre cas d’utilisation :

### Votre moteur de requêtes est Amazon Redshift alloué
<a name="w2aac28c10c27c13c11c15b1"></a>

Attachez la politique suivante à votre rôle de service personnalisé pour lui permettre d’accéder à vos données et de générer des requêtes à leur aide :

------
#### [ JSON ]

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Sid": "RedshiftDataAPIStatementPermissions",
            "Effect": "Allow",
            "Action": [
                "redshift-data:GetStatementResult",
                "redshift-data:DescribeStatement",
                "redshift-data:CancelStatement"
            ],
            "Resource": [
                "*"
            ],
            "Condition": {
                "StringEquals": {
                    "redshift-data:statement-owner-iam-userid": "${aws:userid}"
                }
            }
        },
        {
            "Sid": "RedshiftDataAPIExecutePermissions",
            "Effect": "Allow",
            "Action": [
                "redshift-data:ExecuteStatement"
            ],
            "Resource": [
                "arn:aws:redshift:us-east-1:123456789012:cluster:${Cluster}"
            ]
        },
        {
            "Sid": "SqlWorkbenchAccess",
            "Effect": "Allow",
            "Action": [
                "sqlworkbench:GetSqlRecommendations",
                "sqlworkbench:PutSqlGenerationContext",
                "sqlworkbench:GetSqlGenerationContext",
                "sqlworkbench:DeleteSqlGenerationContext"
            ],
            "Resource": "*"
        },
        {
            "Sid": "GenerateQueryAccess",
            "Effect": "Allow",
            "Action": [
                "bedrock:GenerateQuery"
            ],
            "Resource": "*"
        }
    ]
}
```

------

Vous devez également ajouter des autorisations pour permettre à votre rôle de service de s’authentifier auprès du moteur de requêtes. Développez une section pour afficher les autorisations associées à cette méthode.

------
#### [ IAM ]

Pour permettre à votre rôle de service de s’authentifier auprès de votre moteur de requêtes Amazon Redshift alloué avec IAM, attachez la politique suivante à votre rôle de service personnalisé :

------
#### [ JSON ]

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Sid": "GetCredentialsWithFederatedIAMCredentials",
            "Effect": "Allow",
            "Action": "redshift:GetClusterCredentialsWithIAM",
            "Resource": [
                "arn:aws:redshift:us-east-1:123456789012:dbname:Cluster/database"
            ]
        }
    ]
}
```

------

------
#### [ Database user ]

Pour vous authentifier en tant qu’utilisateur de base de données Amazon Redshift, attachez la politique suivante au rôle de service :

------
#### [ JSON ]

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Sid": "GetCredentialsWithClusterCredentials",
            "Effect": "Allow",
            "Action": [
                "redshift:GetClusterCredentials"
            ],
            "Resource": [
                "arn:aws:redshift:us-east-1:123456789012:dbuser:${cluster}/${dbuser}",
                "arn:aws:redshift:us-east-1:123456789012:dbname:${cluster}/${database}"
            ]
        }
    ]
}
```

------

------
#### [ AWS Secrets Manager ]

Pour autoriser votre rôle de service à s'authentifier auprès de votre moteur de requête fourni par Amazon Redshift avec AWS Secrets Manager un secret, procédez comme suit :
+ Attachez la politique suivante au rôle :

  ```
  {
      "Version": "2012-10-17",		 	 	 
      "Statement": [
          {
              "Sid": "GetSecretPermissions",
              "Effect": "Allow",
              "Action": [
                  "secretsmanager:GetSecretValue"
              ],
              "Resource": [
                  "arn:aws:secretsmanager:${region}:${account}:secret:${secretName}"
              ]
          }
      ]
  }
  ```

------

### Votre moteur de requêtes est Amazon Redshift sans serveur
<a name="w2aac28c10c27c13c11c15b3"></a>

Les autorisations à attacher dépendent de votre méthode d’authentification. Développez une section pour afficher les autorisations associées à une méthode.

------
#### [ IAM ]

Pour permettre à votre rôle de service de s’authentifier auprès de votre moteur de requêtes Amazon Redshift sans serveur avec IAM, attachez la politique suivante à votre rôle de service personnalisé :

------
#### [ JSON ]

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Sid": "RedshiftServerlessGetCredentials",
            "Effect": "Allow",
            "Action": "redshift-serverless:GetCredentials",
            "Resource": [
                "arn:aws:redshift-serverless:us-east-1:123456789012:workgroup/WorkgroupId"
            ]
        }
    ]
}
```

------

------
#### [ AWS Secrets Manager ]

Pour autoriser votre rôle de service à s'authentifier auprès de votre moteur de requête fourni par Amazon Redshift avec AWS Secrets Manager un secret, procédez comme suit :
+ Attachez la politique suivante au rôle :

  ```
  {
      "Version": "2012-10-17",		 	 	 
      "Statement": [
          {
              "Sid": "GetSecretPermissions",
              "Effect": "Allow",
              "Action": [
                  "secretsmanager:GetSecretValue"
              ],
              "Resource": [
                  "arn:aws:secretsmanager:${region}:${account}:secret:${secretName}"
              ]
          }
      ]
  }
  ```

------

## Autoriser le rôle de service de base de connaissances à accéder à votre magasin de données
<a name="knowledge-base-prereq-structured-db-access"></a>

Assurez-vous que vos données sont stockées dans l’un des [magasins de données structurés pris en charge](knowledge-base-structured-create.md) suivants :
+ Amazon Redshift
+ AWS Glue Data Catalog (AWS Lake Formation)

Le tableau suivant récapitule les méthodes d’authentification disponibles pour le moteur de requêtes, en fonction de votre magasin de données :


****  

| Méthode d’authentification | Amazon Redshift | AWS Glue Data Catalog (AWS Lake Formation) | 
| --- | --- | --- | 
| IAM | ![\[Green circular icon with a white checkmark symbol inside.\]](http://docs.aws.amazon.com/fr_fr/bedrock/latest/userguide/images/icons/icon-yes.png)Oui | ![\[Green circular icon with a white checkmark symbol inside.\]](http://docs.aws.amazon.com/fr_fr/bedrock/latest/userguide/images/icons/icon-yes.png)Oui | 
| Nom d’utilisateur de la base de données | ![\[Green circular icon with a white checkmark symbol inside.\]](http://docs.aws.amazon.com/fr_fr/bedrock/latest/userguide/images/icons/icon-yes.png)Oui | ![\[Red circular icon with an X symbol, indicating cancellation or denial.\]](http://docs.aws.amazon.com/fr_fr/bedrock/latest/userguide/images/icons/icon-no.png)Non | 
| AWS Secrets Manager | ![\[Green circular icon with a white checkmark symbol inside.\]](http://docs.aws.amazon.com/fr_fr/bedrock/latest/userguide/images/icons/icon-yes.png)Oui | ![\[Red circular icon with an X symbol, indicating cancellation or denial.\]](http://docs.aws.amazon.com/fr_fr/bedrock/latest/userguide/images/icons/icon-no.png)Non | 

Pour découvrir comment configurer des autorisations afin de permettre à votre rôle de service Amazon Bedrock Knowledge Bases d’accéder à votre magasin de données et de générer des requêtes en fonction de celui-ci, développez la section correspondant au service dans lequel se trouve votre magasin de données :

### Amazon Redshift
<a name="w2aac28c10c27c13c13c13b1"></a>

Pour accorder à votre rôle de service Amazon Bedrock Knowledge Bases l’accès à votre base de données Amazon Redshift, utilisez [Amazon Redshift Query Editor v2](https://docs.aws.amazon.com/redshift/latest/mgmt/query-editor-v2.html) et exécutez les commandes SQL suivantes :

1. (Si vous vous authentifiez avec IAM et qu'aucun utilisateur n'a encore été créé pour votre base de données) Exécutez la commande suivante, qui utilise [CREATE USER pour créer un utilisateur](https://docs.aws.amazon.com/redshift/latest/dg/r_CREATE_USER.html) de base de données et l'autoriser à s'authentifier via IAM, en le *\$1\$1service-role\$1* remplaçant par le nom du rôle de service Amazon Bedrock Knowledge Bases personnalisé que vous avez créé :

   ```
   CREATE USER "IAMR:${service-role}" WITH PASSWORD DISABLE;
   ```
**Important**  
Si vous utilisez le rôle de service Amazon Bedrock Knowledge Bases créé pour vous dans la console, puis [synchronisez votre magasin de données](kb-data-source-structured-sync-ingest.md) avant d’effectuer cette étape, l’utilisateur est créé pour vous, mais la synchronisation échoue, car l’utilisateur n’a pas obtenu les autorisations nécessaires pour accéder à votre magasin de données. Vous devez effectuer l’étape suivante avant de procéder à la synchronisation.

1. Accordez à une identité les autorisations nécessaires pour récupérer des informations de votre base de données en exécutant la commande [GRANT](https://docs.aws.amazon.com/redshift/latest/dg/r_GRANT.html).

------
#### [ IAM ]

   ```
   GRANT SELECT ON ALL TABLES IN SCHEMA ${schemaName} TO "IAMR:${serviceRole}";
   ```

------
#### [ Database user ]

   ```
   GRANT SELECT ON ALL TABLES IN SCHEMA ${schemaName} TO "${dbUser}";
   ```

------
#### [ AWS Secrets Manager username ]

   ```
   GRANT SELECT ON ALL TABLES IN SCHEMA ${schemaName} TO "${secretsUsername}";
   ```

------
**Important**  
N’accordez aucun accès `CREATE`, `UPDATE` ni `DELETE`. L’octroi de ces actions peut entraîner une modification involontaire de vos données.

   Pour un contrôle plus précis des tables accessibles, vous pouvez remplacer des noms de tables `ALL TABLES` spécifiques par la notation suivante :. *\$1\$1schemaName\$1* *\$1\$1tableName\$1* Pour plus d’informations sur cette notation, consultez la section **Objets de requête** sous [Requêtes entre bases de données](https://docs.aws.amazon.com/redshift/latest/dg/cross-database-overview.html).

------
#### [ IAM ]

   ```
   GRANT SELECT ON ${schemaName}.${tableName} TO "IAMR:${serviceRole}";
   ```

------
#### [ Database user ]

   ```
   GRANT SELECT ON ${schemaName}.${tableName} TO "${dbUser}";
   ```

------
#### [ AWS Secrets Manager username ]

   ```
   GRANT SELECT ON ${schemaName}.${tableName} TO "${secretsUsername}";
   ```

------

1. Si vous avez créé un schéma dans la base de données Redshift, exécutez la commande suivante pour accorder à une identité les autorisations nécessaires sur le nouveau schéma.

   ```
   GRANT USAGE ON SCHEMA ${schemaName} TO "IAMR:${serviceRole}";
   ```

### AWS Glue Data Catalog
<a name="w2aac28c10c27c13c13c13b3"></a>

Pour accorder à votre rôle de service Amazon Bedrock Knowledge Bases l'accès à votre magasin de AWS Glue Data Catalog données, utilisez l'[éditeur de requêtes Amazon Redshift](https://docs.aws.amazon.com/redshift/latest/mgmt/query-editor-v2.html) v2 et exécutez les commandes SQL suivantes :

1. Exécutez la commande suivante, qui utilise [CREATE USER pour créer un utilisateur](https://docs.aws.amazon.com/redshift/latest/dg/r_CREATE_USER.html) de base de données et l'autoriser à s'authentifier via IAM, en *\$1\$1service-role\$1* remplaçant par le nom du rôle de service Amazon Bedrock Knowledge Bases personnalisé que vous avez créé :

   ```
   CREATE USER "IAMR:${service-role}" WITH PASSWORD DISABLE;
   ```
**Important**  
Si vous utilisez le rôle de service Amazon Bedrock Knowledge Bases créé pour vous dans la console, puis [synchronisez votre magasin de données](kb-data-source-structured-sync-ingest.md) avant d’effectuer cette étape, l’utilisateur est créé pour vous, mais la synchronisation échoue, car l’utilisateur n’a pas obtenu les autorisations nécessaires pour accéder à votre magasin de données. Vous devez effectuer l’étape suivante avant de procéder à la synchronisation.

1. Accordez au rôle de service les autorisations nécessaires pour récupérer des informations de votre base de données en exécutant la commande [GRANT](https://docs.aws.amazon.com/redshift/latest/dg/r_GRANT.html) suivante :

   ```
   GRANT USAGE ON DATABASE awsdatacatalog TO "IAMR:${serviceRole}";
   ```
**Important**  
N’accordez aucun accès `CREATE`, `UPDATE` ni `DELETE`. L’octroi de ces actions peut entraîner une modification involontaire de vos données.

1. Pour autoriser l'accès à vos AWS Glue Data Catalog bases de données, associez les autorisations suivantes au rôle de service :

------
#### [ JSON ]

****  

   ```
   {
       "Version":"2012-10-17",		 	 	 
       "Statement": [
           {
               "Sid": "VisualEditor0",
               "Effect": "Allow",
               "Action": [
                   "glue:GetDatabases",
                   "glue:GetDatabase",
                   "glue:GetTables",
                   "glue:GetTable",
                   "glue:GetPartitions",
                   "glue:GetPartition",
                   "glue:SearchTables"
               ],
               "Resource": [
                   "arn:aws:glue:us-east-1:123456789012:table/${DatabaseName}/${TableName}",
                   "arn:aws:glue:us-east-1:123456789012:database/${DatabaseName}",
                   "arn:aws:glue:us-east-1:123456789012:catalog"
               ]
           }
       ]
   }
   ```

------

1. Accordez des autorisations à votre rôle de service via AWS Lake Formation (pour en savoir plus sur Lake Formation et sa relation avec Amazon Redshift, voir [Sources de données pour Redshift](https://docs.aws.amazon.com/redshift/latest/dg/copy-parameters-data-source.html)) en procédant comme suit :

   1. Connectez-vous au et ouvrez AWS Management Console la console Lake Formation à l'adresse [https://console.aws.amazon.com/lakeformation/](https://console.aws.amazon.com/lakeformation/).

   1. Sélectionnez **Autorisations de données** dans le volet de navigation gauche.

   1. Accordez des autorisations au rôle de service que vous utilisez pour Amazon Bedrock Knowledge Bases.

   1. Accordez les autorisations **Describe** et **Select** pour vos bases de données et vos tables.

1. Selon la source de données dans laquelle vous utilisez AWS Glue Data Catalog, vous devrez peut-être ajouter des autorisations pour accéder à cette source de données (pour plus d'informations, voir [AWS Glue Dépendance par rapport à d'autres Services AWS](https://docs.aws.amazon.com/glue/latest/dg/dependency-on-other-services.html)). Par exemple, si votre source de données se trouve à un emplacement Amazon S3, vous devez ajouter l’instruction suivante à la politique ci-dessus.

   ```
   {
       "Sid": "Statement1",
       "Effect": "Allow",
       "Action": [
           "s3:ListBucket",
           "s3:GetObject"
       ],
       "Resource": [
           "arn:aws:s3:::${BucketName}",
           "arn:aws:s3:::${BucketName}/*"
       ]
   }
   ```

1. (Facultatif) Si vous cryptez les données dans Amazon S3 ou AWS Glue Data Catalog si vous devez ajouter des autorisations au rôle pour déchiffrer les données de la clé KMS. AWS KMS 

   ```
   {
       "Action": [
           "kms:Decrypt"
       ],
       "Resource": [
           "arn:aws:kms:${Region}:${Account}:key/{KmsId}",
           "arn:aws:kms:${Region}:${Account}:key/{KmsId}"
       ],
       "Effect": "Allow"
   }
   ```

# Création d’une base de connaissances en la connectant à un magasin de données structuré
<a name="knowledge-base-structured-create"></a>

Pour connecter une base de connaissances à un magasin de données structuré, vous devez spécifier les composants suivants :
+ 

**Configuration du moteur de requêtes**  
Configuration du service de calcul exécutant les requêtes SQL générées. Le moteur de requêtes permet de convertir les requêtes utilisateur en langage naturel en requêtes SQL permettant d’extraire des données de votre magasin de données. Vous pouvez choisir Amazon Redshift comme moteur de requêtes. Lorsque vous choisissez cette configuration, vous devez spécifier :
  + les métadonnées de connexion de calcul, comme l’identifiant du cluster ou l’ARN du groupe de travail, en fonction du moteur de requête choisi ;
  + Méthode d'authentification pour utiliser le moteur de requête, qui peut utiliser un rôle de service IAM doté des autorisations appropriées, un utilisateur de base de données du moteur de requête ou un AWS Secrets Manager secret lié aux informations d'identification de votre base de données.
+ 

**Configuration du stockage**  
Configuration du magasin de données contenant vos données. Vous pouvez vous connecter à Amazon Redshift Provisioned ou Amazon Redshift Serverless et utiliser Amazon Redshift ou comme magasin de données. AWS Glue Data Catalog 
+ 

**(Facultatif) Configurations de requêtes**  
Vous pouvez améliorer la précision de la génération du code SQL à l’aide de configurations de requêtes facultatives :
  + **Durée de requête maximale** : durée au bout de laquelle la requête expire.
  + **Descriptions** : fournit des métadonnées ou des informations supplémentaires sur les tables ou les colonnes. Vous pouvez inclure des descriptions des tables ou des colonnes, des notes d’utilisation ou tout autre attribut supplémentaire. Les descriptions que vous ajoutez peuvent améliorer la génération de requêtes SQL en fournissant un contexte et des informations supplémentaires sur la structure des tables ou des colonnes.
  + **Inclusions et exclusions** : spécifie un ensemble de tables ou de colonnes à inclure ou à exclure pour la génération du code SQL. Ce champ est essentiel si vous souhaitez limiter la portée des requêtes SQL à un sous-ensemble défini de tables ou de colonnes disponibles. Cette option permet d’optimiser le processus de génération en réduisant les références inutiles aux tables ou aux colonnes.

    Si vous spécifiez des inclusions, toutes les autres tables et colonnes sont ignorées. Si vous spécifiez des exclusions, les tables et les colonnes que vous spécifiez sont ignorées.
**Note**  
Les inclusions et les exclusions ne remplacent pas les barrières de protection et visent uniquement à améliorer la précision du modèle.
  + **Requêtes organisées** : ensemble d’exemples de questions et réponses prédéfinis. Les questions sont écrites sous forme de requêtes en langage naturel (NLQ) et les réponses sont la requête SQL correspondante. Ces exemples facilitent le processus de génération du code SQL en fournissant des exemples des types de requêtes à générer. Ils servent de points de référence pour améliorer la précision et la pertinence des sorties SQL génératives.

Développez la section correspondant à votre cas d’utilisation :

## Utilisation de la console
<a name="knowledge-base-structured-create-console"></a>

Pour vous connecter à un magasin de données structuré à l'aide du AWS Management Console, procédez comme suit :

1. Connectez-vous au AWS Management Console avec une identité IAM autorisée à utiliser la console Amazon Bedrock. Ouvrez ensuite la console Amazon Bedrock à l'adresse [https://console.aws.amazon.com/bedrock.](https://console.aws.amazon.com/bedrock)

1. Dans le volet de navigation de gauche, sélectionnez **Bases de connaissances**.

1. Dans la section **Bases de connaissances**, choisissez **Créer**, puis sélectionnez **Base de connaissances avec magasin de données structuré**.

1. Configurez les informations suivantes pour la base de connaissances :

   1. (Facultatif) Modifiez le nom par défaut et fournissez une description de votre base de connaissances.

   1. Sélectionnez le moteur de requêtes à utiliser pour récupérer les données de votre magasin de données.

   1. Choisissez un rôle de service IAM doté des autorisations appropriées pour créer et gérer cette base de connaissances. Vous pouvez soit laisser Amazon Bedrock créer le rôle de service, soit choisir un rôle personnalisé que vous avez créé. Pour plus d’informations sur la création d’un rôle personnalisé, consultez [Configuration de votre moteur de requêtes et des autorisations nécessaires à la création d’une base de connaissances avec un magasin de données structuré](knowledge-base-prereq-structured.md).

   1. (Facultatif) Ajoutez des balises à associer à votre base de connaissances. Pour de plus amples informations, veuillez consulter [Balisage des ressources Amazon Bedrock](tagging.md).

   1. Choisissez **Suivant**.

1. Configurez votre moteur de requêtes :

   1. Sélectionnez le service dans lequel vous avez créé un cluster ou un groupe de travail. Choisissez ensuite le cluster ou groupe de travail à utiliser.

   1. Sélectionnez la méthode d’authentification et renseignez les champs nécessaires.

   1. Sélectionnez le magasin de données dans lequel vous souhaitez stocker vos métadonnées. Ensuite, choisissez ou saisissez le nom de la base de données.

   1. (Facultatif) Modifiez les configurations de requêtes si nécessaire. Consultez le début de cette rubrique pour plus d’informations sur différentes configurations.

   1. Choisissez **Suivant**.

1. Passez en revue les configurations de votre base de connaissances et modifiez toute section si nécessaire. Confirmez pour créer votre base de connaissances.

## Utilisation de l’API
<a name="knowledge-base-structured-create-api"></a>

Pour vous connecter à un magasin de données structuré à l'aide de l'API Amazon Bedrock, envoyez une [CreateKnowledgeBase](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent_CreateKnowledgeBase.html)demande à un point de [terminaison Agents for Amazon Bedrock au moment de la création](https://docs.aws.amazon.com/general/latest/gr/bedrock.html#bra-bt) avec le corps de demande général suivant :

```
{
    "name": "string",
    "roleArn": "string",
    "knowledgeBaseConfiguration": {
        "type": "SQL",
        "sqlKnowledgeBaseConfiguration": [SqlKnowledgeBaseConfiguration](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent_SqlKnowledgeBaseConfiguration.html)
    },
    "description": "string",
    "clientToken": "string",
    "tags": {
        "string": "string"
    }
}
```

Les champs suivants sont obligatoires :


****  

| Champ | Description de base | 
| --- | --- | 
| Nom | Nom de la base de connaissances | 
| roleArn | [Rôle de service de base de connaissances](kb-permissions.md) avec les autorisations appropriées. La console vous permet de créer automatiquement un rôle de service avec les autorisations appropriées. | 
| knowledgeBaseConfiguration | Contient des configurations pour la base de connaissances. Pour une base de données structurée, spécifiez SQL comme type et incluez le champ sqlKnowledgeBaseConfiguration. | 

Les champs suivants sont facultatifs :


****  

| Champ | Utilisation | 
| --- | --- | 
| description | Permet d’inclure une description de la base de connaissances. | 
| clientToken | Pour garantir que la demande d’API n’est exécutée qu’une seule fois. Pour plus d’informations, consultez [Garantie de l’idempotence](https://docs.aws.amazon.com/ec2/latest/devguide/ec2-api-idempotency.html). | 
| tags | Pour associer des balises au flux. Pour de plus amples informations, veuillez consulter [Balisage des ressources Amazon Bedrock](tagging.md). | 

La `SQLKnowledgeBaseConfiguration` dépend du moteur de requêtes que vous utilisez. Pour Amazon Redshift, spécifiez le `type` champ sous la forme `REDSHIFT` et incluez le `redshiftConfiguration` champ, qui correspond à un. [RedshiftConfiguration](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent_RedshiftConfiguration.html) Pour le [RedshiftConfiguration](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent_RedshiftConfiguration.html), vous configurez les champs suivants :

### queryEngineConfiguration
<a name="w2aac28c10c27c15b9b3c17b1"></a>

Vous pouvez configurer les types de moteurs de requêtes suivants :

#### Amazon Redshift alloué
<a name="w2aac28c10c27c15b9b3c17b1b5b1"></a>

Si vos bases de données Amazon Redshift sont mises en service sur des nœuds de calcul dédiés, la valeur du `queryEngineConfiguration` champ doit être [RedshiftQueryEngineConfiguration](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent_RedshiftQueryEngineConfiguration.html)au format suivant :

```
{
    "type": "PROVISIONED",
    "provisionedConfiguration": {
        "clusterIdentifier": "string",
        "authConfiguration": [RedshiftProvisionedAuthConfiguration](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent_RedshiftProvisionedAuthConfiguration.html)
    },
}
```

Spécifiez l’identifiant du cluster dans le champ `clusterIdentifier`. [RedshiftProvisionedAuthConfiguration](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent_RedshiftProvisionedAuthConfiguration.html)Cela dépend du type d'autorisation que vous utilisez. Cliquez sur l’onglet qui correspond à votre méthode d’autorisation :

------
#### [ IAM role ]

Si vous autorisez avec votre rôle IAM, vous devez spécifier uniquement `IAM` comme type dans la configuration [RedshiftProvisionedAuthConfiguration](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent_RedshiftProvisionedAuthConfiguration.html) sans champs supplémentaires.

```
{
    "type": "IAM"
}
```

------
#### [ Temporary credentials user name ]

Si vous autorisez avec le nom d’utilisateur de la base de données, spécifiez le `type` comme `USERNAME` et spécifiez le nom d’utilisateur dans le champ `databaseUser` de la configuration `RedshiftProvisionedAuthConfig` :

```
{
    "type": "USERNAME",
    "databaseUser": "string"
}
```

------
#### [ AWS Secrets Manager ]

Si vous autorisez avec AWS Secrets Manager, spécifiez le `type` as `USERNAME_PASSWORD` et spécifiez l'ARN du secret dans le `usernamePasswordSecretArn` champ du `RedshiftProvisionedAuthConfig` :

```
{
    "type": "USERNAME_PASSWORD",
    "usernamePasswordSecretArn": "string"
}
```

------

#### Amazon Redshift sans serveur
<a name="w2aac28c10c27c15b9b3c17b1b5b3"></a>

Si vous utilisez Amazon Redshift Serverless, la valeur du `queryConfiguration` champ doit être [RedshiftQueryEngineConfiguration](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent_RedshiftQueryEngineConfiguration.html)au format suivant :

```
{
    "type": "SERVERLESS",
    "serverlessConfiguration": {
        "workgroupArn": "string",
        "authConfiguration": 
    }
}
```

Spécifiez l’ARN de votre groupe de travail dans le champ `workgroupArn`. [RedshiftServerlessAuthConfiguration](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent_RedshiftServerlessAuthConfiguration.html)Cela dépend du type d'autorisation que vous utilisez. Cliquez sur l’onglet qui correspond à votre méthode d’autorisation :

------
#### [ IAM role ]

Si vous autorisez avec votre rôle IAM, vous devez spécifier uniquement `IAM` comme type dans la configuration `RedshiftServerlessAuthConfiguration` sans champs supplémentaires.

```
{
    "type": "IAM"
}
```

------
#### [ AWS Secrets Manager ]

Si vous autorisez avec AWS Secrets Manager, spécifiez le `type` as `USERNAME_PASSWORD` et spécifiez l'ARN du secret dans le `usernamePasswordSecretArn` champ du `RedshiftServerlessAuthConfiguration` :

```
{
    "type": "USERNAME_PASSWORD",
    "usernamePasswordSecretArn": "string"
}
```

------

### storageConfigurations
<a name="w2aac28c10c27c15b9b3c17b3"></a>

Ce champ correspond à un tableau contenant un seul [RedshiftQueryEngineStorageConfiguration](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent_RedshiftQueryEngineStorageConfiguration.html), dont le format dépend de l'endroit où vos données sont stockées.

#### AWS Glue Data Catalog
<a name="w2aac28c10c27c15b9b3c17b3b5b1"></a>

Si vos données sont stockées dans AWS Glue Data Catalog, elles `RedshiftQueryEngineStorageConfiguration` doivent être au format suivant :

```
{
    "type": "AWS_DATA_CATALOG",
    "awsDataCatalogConfiguration": {
        "tableNames": ["string"]
    }
}
```

Ajoutez le nom de chaque table à laquelle vous souhaitez connecter votre base de connaissances dans le tableau auquel `tableNames` est mappé.

**Note**  
Saisissez les noms de table selon le modèle décrit dans [Requêtes entre bases de données](https://docs.aws.amazon.com/redshift/latest/dg/cross-database-overview.html) (`${databaseName}.${tableName}`). Vous pouvez inclure toutes les tables en spécifiant `${databaseName.*}`.

#### Bases de données Amazon Redshift
<a name="w2aac28c10c27c15b9b3c17b3b5b3"></a>

Si vos données sont stockées dans une base de données Amazon Redshift, la configuration `RedshiftQueryEngineStorageConfiguration` doit être au format suivant :

```
{
    "type": "string",
    "redshiftConfiguration": {
        "databaseName": "string"
    }
}
```

Spécifiez le nom de votre base de données Amazon Redshift dans le champ `databaseName`.

**Note**  
Saisissez les noms de table selon le modèle décrit dans [Requêtes entre bases de données](https://docs.aws.amazon.com/redshift/latest/dg/cross-database-overview.html) (`${databaseName}.${tableName}`). Vous pouvez inclure toutes les tables en spécifiant `${databaseName.*}`.

Si votre base de données est montée via Amazon SageMaker AI Lakehouse, le nom de la base de données est au format. *\$1\$1db\$1@\$1\$1schema\$1*

### queryGenerationConfiguration
<a name="w2aac28c10c27c15b9b3c17b5"></a>

Ce champ correspond aux éléments suivants [QueryGenerationConfiguration](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent_QueryGenerationConfiguration.html)que vous pouvez utiliser pour configurer la manière dont vos données sont interrogées :

```
{
    "executionTimeoutSeconds": number,
    "generationContext": {
        "tables": [
            {
                "name": "string",
                "description": "string",
                "inclusion": "string",
                "columns": [
                    {
                        "name": "string",
                        "description": "string",
                        "inclusion": "string"
                    },
                    ...
                ]
            },
            ...
        ],
        "curatedQueries": [
            {
                "naturalLanguage": "string",
                "sql": "string"
            },
            ...
        ]
    }
}
```

Si vous souhaitez que la requête expire, spécifiez le délai d’expiration en secondes dans le champ `executionTimeoutSeconds`.

Le `generationContext` champ correspond à un [QueryGenerationContext](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent_QueryGenerationContext.html)objet dans lequel vous pouvez configurer autant d'options suivantes que vous le souhaitez.

**Important**  
Si vous incluez un contexte de génération, le moteur de requêtes fait de son mieux pour l’appliquer lors de la génération du code SQL. Le contexte de génération n’est pas déterministe et vise uniquement à améliorer la précision du modèle. Pour garantir l’exactitude, vérifiez les requêtes SQL générées.

Pour en savoir plus sur les contextes de génération que vous pouvez inclure, développez les sections suivantes :

#### Ajout de descriptions pour des tables ou colonnes de la base de données
<a name="w2aac28c10c27c15b9b3c17b5c15b1"></a>

Pour améliorer la précision de la génération du code SQL lors de l’interrogation de la base de données, vous pouvez fournir une description de la table ou colonne qui fournit davantage de contexte qu’un court nom de table ou de colonne. Vous pouvez effectuer les opérations suivantes :
+ Pour ajouter une description à un tableau, incluez un [QueryGenerationTable](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent_QueryGenerationTable.html)objet dans le `tables` tableau. Dans cet objet, spécifiez le nom de la table dans le champ `name` et une description dans le champ `description`, comme dans l’exemple suivant :

  ```
  {
      "name": "database.schema.tableA",
      "description": "Description for Table A"
  }
  ```
+ Pour ajouter une description à une colonne, incluez un [QueryGenerationTable](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent_QueryGenerationTable.html)objet dans le `tables` tableau. Dans cet objet, spécifiez le nom de la table dans le `name` champ et incluez le `columns` champ, qui correspond à un tableau de [QueryGenerationColumn](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent_QueryGenerationColumn.html). Dans un objet `QueryGenerationColumn`, incluez le nom de la colonne dans le champ `name` et une description dans le champ `description`, comme dans l’exemple suivant :

  ```
  {
      "name": "database.schema.tableA",
      "columns": [
          {
              "name": "Column A",
              "description": "Description for Column A"
          }
      ]
  }
  ```
+ Vous pouvez ajouter une description de table et une description de colonne, comme dans l’exemple suivant :

  ```
  {
      "name": "database.schema.tableA",
      "description": "Description for Table A",
      "columns": [
          {
              "name": "columnA",
              "description": "Description for Column A"
          }
      ]
  }
  ```
**Note**  
Saisissez les noms de table et de colonne selon le modèle décrit dans [Requêtes entre bases de données](https://docs.aws.amazon.com/redshift/latest/dg/cross-database-overview.html). Si votre base de données est au format AWS Glue Data Catalog, le format est`awsdatacatalog.gluedatabase.table`.

#### Inclusion ou exclusion de tables ou colonnes de la base de données
<a name="w2aac28c10c27c15b9b3c17b5c15b3"></a>

Vous pouvez suggérer des tables ou des colonnes à inclure ou à exclure lors de la génération de code SQL en utilisant le `inclusion` champ dans les [QueryGenerationColumn](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent_QueryGenerationColumn.html)objets [QueryGenerationTable](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent_QueryGenerationTable.html)et. Vous pouvez spécifier l’une des valeurs suivantes dans le champ `inclusion` :
+ INCLUDE : seules les tables ou colonnes que vous spécifiez sont incluses en tant que contexte lors de la génération du code SQL.
+ EXCLUDE : les tables ou colonnes que vous spécifiez sont exclues en tant que contexte lors de la génération du code SQL.

Vous pouvez indiquer si vous souhaitez inclure ou exclure des tables ou colonnes comme suit :
+ Pour inclure ou exclure une table, incluez un [QueryGenerationTable](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent_QueryGenerationTable.html)objet dans le `tables` tableau. Dans cet objet, spécifiez le nom de la table dans le champ `name` et indiquez si vous souhaitez l’inclure ou l’exclure dans le champ `inclusion`, comme dans l’exemple suivant :

  ```
  {
      "name": "database.schema.tableA",
      "inclusion": "EXCLUDE"
  }
  ```

  Le moteur de requêtes n’ajoute pas `Table A` dans le contexte supplémentaire pour générer du code SQL.
+ Pour inclure ou exclure une colonne, incluez un [QueryGenerationTable](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent_QueryGenerationTable.html)objet dans le `tables` tableau. Dans cet objet, spécifiez le nom de la table dans le `name` champ et incluez le `columns` champ, qui correspond à un tableau de [QueryGenerationColumn](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent_QueryGenerationColumn.html). Dans un objet `QueryGenerationColumn`, incluez le nom de la colonne dans le champ `name` et indiquez si vous souhaitez l’inclure ou l’exclure dans le champ `inclusion`, comme dans l’exemple suivant :

  ```
  {
      "name": "database.schema.tableA",
      "columns": [
          {
              "name": "database.schema.tableA.columnA",
              "inclusion": "EXCLUDE"
          }
      ]
  }
  ```

  La génération du code SQL ignore `Column A` dans `Table A` dans le contexte.
+ Vous pouvez combiner des tables et des colonnes lorsque vous spécifiez des inclusions ou des exclusions, comme dans l’exemple suivant :

  ```
  {
      "name": "database.schema.tableA",
      "inclusion": "INCLUDE",
      "columns": [
          {
              "name": "database.schema.tableA.columnA",
              "inclusion": "EXCLUDE"
          }
      ]
  }
  ```

  La génération du code SQL inclut `Table A`, mais en exclut `Column A` lors de l’ajout d’un contexte.

**Important**  
Les exclusions de tables et de colonnes ne remplacent pas les barrières de protection. Ces inclusions et exclusions de tables et de colonnes servent de contexte supplémentaire à prendre en compte par le modèle lors de la génération du code SQL.

#### Communication d’exemples de mappages entre le langage naturel et les requêtes SQL au moteur de requêtes
<a name="w2aac28c10c27c15b9b3c17b5c15b5"></a>

Pour améliorer la précision d'un moteur de requêtes lors de la conversion des requêtes utilisateur en requêtes SQL, vous pouvez fournir des exemples dans le `curatedQueries` champ de l'[QueryGenerationContext](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent_QueryGenerationContext.html)objet, qui correspond à un tableau d'[CuratedQuery](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent_CuratedQuery.html)objets. Chaque objet contient les champs suivants :
+ naturalLanguage : exemple de requête en langage naturel.
+ sql : requête SQL correspondant à la requête en langage naturel.

# Synchronisation de votre magasin de données structuré avec votre base de connaissances Amazon Bedrock
<a name="kb-data-source-structured-sync-ingest"></a>

Après avoir connecté votre base de connaissances à un magasin de données structuré, vous effectuez une synchronisation pour démarrer le processus d’ingestion des métadonnées afin que les données puissent être extraites. Les métadonnées permettent aux bases de connaissances Amazon Bedrock de traduire les invites utilisateur en une requête pour la base de données connectée.

Chaque fois que vous modifiez le schéma de votre base de données, vous devez synchroniser les modifications.

Pour découvrir comment intégrer vos métadonnées dans votre base de connaissances et les synchroniser avec vos données les plus récentes, choisissez l’onglet correspondant à votre méthode préférée, puis suivez les étapes :

------
#### [ Console ]

**Pour intégrer vos données dans votre base de connaissances et les synchroniser avec vos données les plus récentes**

1. Ouvrez la console Amazon Bedrock à l’adresse [https://console.aws.amazon.com/bedrock/](https://console.aws.amazon.com/bedrock/).

1. Dans le volet de navigation de gauche, sélectionnez **Base de connaissances** et choisissez votre base de connaissances.

1. Dans la section **Source de données**, sélectionnez **Synchroniser** pour commencer l’ingestion de métadonnées. Pour arrêter une source de données en cours de synchronisation, sélectionnez **Arrêter**. Une source de données doit être en cours de synchronisation pour arrêter la synchronisation de la source de données. Vous pouvez sélectionner à nouveau **Synchroniser** pour ingérer le reste de vos données.

1. Lorsque l’ingestion de données est terminée, une bannière verte apparaît en cas de réussite.

1. Vous pouvez choisir une source de données pour afficher son **historique de synchronisation**. Sélectionnez **Afficher les avertissements** pour savoir pourquoi une tâche d’ingestion de données a échoué.

------
#### [ API ]

Pour intégrer vos données dans votre base de connaissances et les synchroniser avec vos données les plus récentes, envoyez une demande [StartIngestionJob](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent_StartIngestionJob.html) avec un [point de terminaison de compilation pour agents Amazon Bedrock](https://docs.aws.amazon.com/general/latest/gr/bedrock.html#bra-bt).

Utilisez le `ingestionJobId` renvoyé dans la réponse d’une demande [GetIngestionJob](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent_GetIngestionJob.html) avec un [point de terminaison de compilation pour agents Amazon Bedrock](https://docs.aws.amazon.com/general/latest/gr/bedrock.html#bra-bt) afin de suivre l’état de la tâche d’ingestion.

Vous pouvez consulter les informations relatives à toutes les tâches d’ingestion d’une source de données en envoyant une demande [ListIngestionJobs](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent_ListIngestionJobs.html) avec un [point de terminaison de compilation pour agents Amazon Bedrock](https://docs.aws.amazon.com/general/latest/gr/bedrock.html#bra-bt) au moment de la création.

Pour arrêter une tâche d’ingestion de données en cours d’exécution, envoyez une demande [StopIngestionJobs](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent_StopIngestionJob.html) avec un [point de terminaison de compilation pour agents Amazon Bedrock](https://docs.aws.amazon.com/general/latest/gr/bedrock.html#bra-bt). Vous pouvez envoyer à nouveau une demande `StartIngestionJob` pour ingérer le reste de vos données lorsque vous serez prêt.

------

**Important**  
Si vous utilisez le rôle de service Amazon Bedrock Knowledge Bases créé pour vous dans la console, puis synchronisez votre magasin de données avant d’accorder l’accès à votre base de données au rôle d’authentification que vous utilisez, la synchronisation échoue, car l’utilisateur n’a pas obtenu les autorisations nécessaires pour accéder à votre magasin de données. Pour plus d’informations sur l’octroi d’autorisations à un rôle pour accéder à votre magasin de données, consultez [Autoriser le rôle de service de base de connaissances à accéder à votre magasin de données](knowledge-base-prereq-structured.md#knowledge-base-prereq-structured-db-access).

# Création d’une base de connaissances Amazon Bedrock avec un index GenAI Amazon Kendra
<a name="knowledge-base-build-kendra-genai-index"></a>

Avec Amazon Bedrock Knowledge Bases, vous pouvez créer une base de connaissances à partir d’un index GenAI Amazon Kendra afin de créer des assistants numériques plus sophistiqués et plus précis optimisés par la génération à enrichissement contextuel (RAG). En combinant un index GenAI Amazon Kendra avec Amazon Bedrock Knowledge Bases, vous pouvez :
+ réutiliser votre contenu indexé dans plusieurs applications Amazon Bedrock sans avoir à recréer les index ni à réingérer les données ;
+ tirer parti des fonctionnalités GenAI avancées d’Amazon Bedrock tout en bénéficiant de la récupération d’informations de haute précision d’Amazon Kendra ;
+ personnaliser le comportement de votre assistant numérique à l’aide des outils d’Amazon Bedrock tout en préservant la précision sémantique d’un index GenAI Amazon Kendra.

Pour plus d’informations sur l’utilisation d’un index GenAI Amazon Kendra, consultez [Index GenAI Amazon Kendra](https://docs.aws.amazon.com/kendra/latest/dg/hiw-index-types.html#kendra-gen-ai-index) dans le *Guide du développeur Amazon Kendra*.

**Topics**
+ [Création d’une base de connaissances Amazon Bedrock avec un index GenAI Amazon Kendra](knowledge-base-kendra-genai-index-create.md)

# Création d’une base de connaissances Amazon Bedrock avec un index GenAI Amazon Kendra
<a name="knowledge-base-kendra-genai-index-create"></a>

 Pour plus d’informations sur l’utilisation d’un index GenAI Amazon Kendra, consultez [Index GenAI Amazon Kendra](https://docs.aws.amazon.com/kendra/latest/dg/hiw-index-types.html#kendra-gen-ai-index) dans le *Guide du développeur Amazon Kendra*.

Vous pouvez créer une base de connaissances Amazon Bedrock avec un index GenAI Amazon Kendra à l’aide de la console Amazon Bedrock ou de l’API Amazon Bedrock. Choisissez l’onglet correspondant à votre méthode préférée, puis suivez les étapes :

**Note**  
Vous ne pouvez créer aucune base de connaissances avec un utilisateur racine. Avant de commencer, connectez-vous avec un utilisateur Gestion des identités et des accès AWS (IAM).

**Important**  
Pour créer une base de connaissances avec un index GenAI Amazon Kendra à l’aide de l’API, vous devez disposer d’un index existant. Avec l’API, vous ne pouvez créer aucun index lors de la création d’une base de connaissances. Si vous souhaitez créer un index lors de la création d’une base de connaissances, vous devez utiliser la console.

------
#### [ Console ]

**Pour créer une base de connaissances avec un index GenAI Amazon Kendra**

1. Connectez-vous au AWS Management Console avec une identité IAM autorisée à utiliser la console Amazon Bedrock. Ouvrez ensuite la console Amazon Bedrock à l'adresse [https://console.aws.amazon.com/bedrock.](https://console.aws.amazon.com/bedrock)

1. Dans le volet de navigation de gauche, sélectionnez **Bases de connaissances**.

1. Dans la section **Bases de connaissances**, cliquez sur **Créer**.

1. Choisissez **Base de connaissances avec index GenAI Kendra**.

1. (Facultatif) Sous **Détails de la base de connaissances**, modifiez le nom par défaut et fournissez une description de votre base de connaissances.

1. Sous **Autorisations IAM**, choisissez un rôle IAM qui fournit à Amazon Bedrock les autorisations nécessaires pour accéder à d’autres Services AWS requis. Vous pouvez soit demander à Amazon Bedrock de créer le rôle de service pour vous, soit choisir un [rôle personnalisé que vous avez créé](kb-permissions.md).

1. Cliquez sur **Créer et utiliser un nouveau rôle de service** ou **Utiliser un rôle de service existant**.

1. Choisissez de **créer un index GenAI Amazon Kendra** ou d’utiliser un **index GenAI Amazon Kendra existant**.

1. (Facultatif) Sous **Configurations supplémentaires**, effectuez l’une des actions suivantes :
   + Configurez une AWS Key Management Service (AWS KMS) clé gérée par le client pour chiffrer votre base de connaissances.
   + Ajoutez des balises à votre base de connaissances. Pour de plus amples informations, veuillez consulter [Balisage des ressources Amazon Bedrock](tagging.md).

   

   

1. Cliquez sur **Créer une base de connaissances**. Pendant qu’Amazon Bedrock crée la base de connaissances, vous devriez voir le statut **En cours**. Vous devez attendre la fin de la création avant d’ajouter et de synchroniser une source de données.

1. Une fois qu’Amazon Bedrock a fini de créer la base de connaissances, pour configurer une source de données, suivez les instructions sous [Connexion d’une source de données à votre base de connaissances](data-source-connectors.md).

------
#### [ API ]

**Pour créer une base de connaissances avec un index GenAI Amazon Kendra**

Pour créer une base de connaissances, envoyez une [ CreateKnowledgeBase](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent_CreateKnowledgeBase.html)demande (voir le lien pour les formats de demande et de réponse et les détails des champs) avec un point de terminaison Agents for [Amazon Bedrock au moment de la création.](https://docs.aws.amazon.com/general/latest/gr/bedrock.html#bra-bt)
+ Dans le champ `roleArn`, indiquez l’Amazon Resource Name (ARN) d’un rôle IAM qui dispose des autorisations nécessaires pour créer une base de connaissances Amazon Bedrock.
+ Pour utiliser un modèle pris en charge pour les bases de connaissances, vous devez [activer l’accès aux modèles](model-access.md). Notez l’ARN de votre modèle, qui est nécessaire pour convertir vos données en vectorisations. Copiez l’identifiant du modèle (ressource) que vous avez choisi pour les bases de connaissances. Construisez ensuite l’ARN du modèle à l’aide de l’ID du modèle en suivant les exemples d’ARN fournis sous [Types de ressources définis par Amazon Bedrock](https://docs.aws.amazon.com/service-authorization/latest/reference/list_amazonbedrock.html#amazonbedrock-resources-for-iam-policies) dans la *Référence des autorisations de service*. Consultez les exemples relatifs au type de ressource de votre modèle.

  Dans le champ `embeddingModelArn`, dans l’objet `knowledgeBaseConfiguration`, indiquez l’ARN du modèle de vectorisation que vous souhaitez utiliser. Pour de plus amples informations, veuillez consulter [Modèles et régions pris en charge pour les bases de connaissances Amazon Bedrock](knowledge-base-supported.md).
+ Pour créer une base de connaissances avec un index GenAI Amazon Kendra, fournissez l’ARN de votre index GenAI Amazon Kendra. 
+ Après avoir créé une base de connaissances, créez une source de données contenant les documents ou le contenu de votre base de connaissances. Notez que vous ne pouvez créer aucune source de données à l’aide des opérations d’API Amazon Bedrock. Vous devez le faire à l'aide de la console Amazon Bedrock ou de l'API Amazon [CreateDataSource](https://docs.aws.amazon.com/kendra/latest/APIReference/API_CreateDataSource.html)Kendra. Pour plus d’informations sur le choix d’une source de données et des exemples de configurations de connexion à l’API, consultez [Connexion d’une source de données à votre base de connaissances](data-source-connectors.md).

------

# Création d’une base de connaissances avec des graphiques d’analytique Amazon Neptune
<a name="knowledge-base-build-graphs"></a>

Amazon Bedrock Knowledge Bases propose une fonctionnalité GraphRAG entièrement gérée avec Amazon Neptune. GraphRAG est une fonctionnalité fournie avec Amazon Bedrock Knowledge Bases qui associe la modélisation de graphes à l’IA générative pour améliorer la génération à enrichissement contextuel (RAG). Cette fonctionnalité associe la recherche vectorielle à la capacité d’analyser rapidement de gros volumes de données graphiques provenant d’Amazon Neptune dans des applications RAG.

GraphRAG identifie et exploite automatiquement les relations entre les entités et les éléments structurels dans les documents ingérés dans Knowledge Bases. Cela permet d’obtenir des réponses plus complètes et contextuellement plus pertinentes à partir des modèles de fondation, en particulier lorsque les informations doivent être connectées en plusieurs étapes logiques. Autrement dit, les applications d’IA générative peuvent fournir des réponses plus pertinentes dans les cas où il est nécessaire de connecter des données et de raisonner sur plusieurs fragments de documents. Cela permet aux applications telles que les chatbots de fournir des réponses plus pertinentes à partir de modèles de base (FMs) dans les cas où des faits, des entités et des relations connexes dérivés de plusieurs sources de documents sont nécessaires pour répondre aux questions

## Disponibilité régionale de GraphRAG
<a name="knowledge-base-build-graphs-regions"></a>

GraphRAG est disponible dans les Régions AWS suivantes :
+ Europe (Francfort)
+ Europe (Londres)
+ Europe (Irlande)
+ USA Ouest (Oregon)
+ USA Est (Virginie du Nord)
+ Asie-Pacifique (Tokyo)
+ Asie-Pacifique (Singapour)

## Avantages de l’utilisation de GraphRAG
<a name="knowledge-base-build-graphs-benefits"></a>

Amazon Bedrock Knowledge Bases avec GraphRAG offre les avantages suivants :
+ Des réponses plus pertinentes et plus complètes en identifiant et en exploitant automatiquement les relations entre les entités et les éléments structurels (tels que les titres de sections) dans plusieurs sources de documents ingérées dans Amazon Bedrock Knowledge Bases
+ Une meilleure capacité à effectuer des recherches exhaustives reliant différents éléments de contenu en plusieurs étapes logiques, améliorant ainsi les techniques RAG traditionnelles
+ De meilleures capacités de raisonnement entre documents, permettant d’obtenir des réponses plus précises et contextuellement plus exactes en reliant les informations provenant de diverses sources, ce qui contribue à améliorer encore l’exactitude et à réduire les hallucinations

## Fonctionnement de GraphRAG
<a name="knowledge-base-build-graphs-works"></a>

Après avoir effectué une recherche vectorielle initiale pour les nœuds concernés, Amazon Bedrock Knowledge Bases GraphRAG effectue les étapes suivantes pour générer une meilleure réponse :

1. Récupère les nœuds de graphe ou identificateurs de segments associés qui sont liés aux fragments de document récupérés.

1. Complète ces fragments connexes en parcourant le graphique et en récupérant leurs détails dans la base de données orientée graphe.

1. Fournit des réponses plus pertinentes en comprenant les entités concernées et en se concentrant sur les connexions clés à l’aide de ce contexte enrichi.

## Considérations et restrictions liées à GraphRAG
<a name="knowledge-base-build-graphs-considerations"></a>

Voici quelques limitations quant à l’utilisation d’Amazon Bedrock Knowledge Bases avec GraphRAG :
+ Les options de configuration permettant de personnaliser la création du graphe ne sont pas prises en charge.
+ La mise à l’échelle automatique n’est pas prise en charge pour les graphiques d’analytique Amazon Neptune.
+ GraphRAG ne prend en charge qu’Amazon S3 comme source de données.
+ Claude 3 Haiku est choisi comme modèle de fondation pour créer automatiquement des graphiques pour votre base de connaissances. Cela permet un enrichissement contextuel automatique.
+ Chaque source de données peut comporter jusqu’à 1 000 fichiers. Vous pouvez demander d’augmenter cette limite jusqu’à un maximum de 10 000 fichiers par source de données. Vous pouvez également partitionner votre compartiment Amazon S3 en dossiers, chaque dossier pouvant contenir jusqu’à 1 000 fichiers.
+ Si vous utilisez le fractionnement hiérarchique comme stratégie de fractionnement, GraphRAG récupère uniquement les fragments enfants lors de l’opération de recherche. Il ne remplace pas les fragments enfants par les fragments parents correspondants. Autrement dit, vos résultats de recherche contiennent le contenu spécifique et détaillé des fragments enfants plutôt que le contexte plus large des fragments parents.

**Note**  
Lorsque vous supprimez une base de connaissances qui utilise l’analytique Amazon Neptune, supprimez d’abord la base de connaissances, puis le graphique d’analytique Amazon Neptune. La suppression d’une base de connaissances n’entraîne pas automatiquement celle du graphique sous-jacent. Des frais supplémentaires peuvent être facturés jusqu’à ce que vous supprimiez explicitement le graphique. Vous pouvez également définir votre politique de suppression de source de données sur le mode RETAIN pour supprimer d’abord le graphique sans provoquer d’échec. Pour de plus amples informations, veuillez consulter [Suppression d’une source de données de votre base de connaissances Amazon Bedrock](kb-ds-delete.md).

# Création d’une base de connaissances Amazon Bedrock avec des graphiques d’analytique Amazon Neptune
<a name="knowledge-base-build-graphs-build"></a>

GraphRAG est entièrement intégré à Amazon Bedrock Knowledge Bases et utilise l’analytique Amazon Neptune pour le stockage de graphiques et de vecteurs. Vous pouvez commencer à utiliser GraphRag dans vos bases de connaissances avec le AWS Management Console AWS CLI, le ou le AWS SDK.

Vous n’avez besoin d’aucune infrastructure graphique existante pour commencer à utiliser GraphRAG. Amazon Bedrock Knowledge Bases gère automatiquement la création et la maintenance des graphiques d’Amazon Neptune. Le système crée et met à jour automatiquement un graphique en extrayant les entités, les faits et les relations des documents que vous chargez dans votre compartiment Amazon S3. Vous pouvez ainsi fournir des réponses pertinentes à vos utilisateurs finaux, sans aucune connaissance préalable en modélisation de graphiques. Le graphique est stocké dans l’analytique Amazon Neptune.

Lorsque vous créez une base de connaissances, vous configurez ou spécifiez les éléments suivants :
+ Informations générales qui définissent et identifient la base de connaissances
+ Rôle de service avec autorisations d’accès à la base de connaissances
+ Configurations pour la base de connaissances, y compris le modèle de vectorisation à utiliser lors de la conversion des données à partir de la source de données et les configurations de stockage pour le service dans lequel les vectorisations doivent être stockées

**Note**  
Vous ne pouvez créer aucune base de connaissances avec un utilisateur racine. Connectez-vous avec un utilisateur IAM avant de commencer ces étapes.

L’exemple suivant montre comment créer une base de connaissances pour l’utilisation de Neptune GraphRAG à partir de la console et à l’aide de la CLI.

------
#### [ Console ]

**Pour créer une base de connaissances pour l’analytique Neptune à partir de la console**

1. Connectez-vous au AWS Management Console avec une identité IAM autorisée à utiliser la console Amazon Bedrock. Ouvrez ensuite la console Amazon Bedrock à l'adresse [https://console.aws.amazon.com/bedrock.](https://console.aws.amazon.com/bedrock)

1. Dans le volet de navigation de gauche, sélectionnez **Bases de connaissances**.

1. Dans la section **Bases de connaissances**, choisissez **Créer**, puis sélectionnez **Base de connaissances avec magasin de vecteurs**.

1. (Facultatif) Sous **Détails de la base de connaissances**, modifiez le nom par défaut et fournissez une description de votre base de connaissances.

1. Sous **Autorisations IAM**, choisissez un rôle IAM qui fournit à Amazon Bedrock les autorisations nécessaires pour accéder à d’autres Services AWS requis. Vous pouvez soit laisser Amazon Bedrock créer le rôle de service pour vous, soit choisir d’utiliser votre rôle personnalisé que vous avez créé pour l’analytique Neptune. Pour obtenir un exemple, consultez [Autorisations permettant d’accéder à votre base de données vectorielles dans l’analytique Amazon Neptune](kb-permissions.md#kb-permissions-neptune).

1. Veillez à choisir **Amazon S3** comme source de données et cliquer sur **Suivant** pour configurer votre source de données.

1. Indiquez l’**URI S3** du fichier utilisé comme source de données pour connecter votre base de connaissances à l’analytique Amazon Neptune et l’y intégrer. Pour connaître les étapes supplémentaires et les informations facultatives que vous pouvez fournir, consultez [Connexion d’une source de données à votre base de connaissances](data-source-connectors.md).

1. Dans la section **Modèle de vectorisation**, choisissez un modèle de vectorisation pour convertir vos données en vectorisations. Vous pouvez éventuellement spécifier les dimensions vectorielles à l’aide de la section **Configurations supplémentaires**. Pour le type de vectorisations, nous vous recommandons d’utiliser des vectorisations à virgule flottante.
**Note**  
Les dimensions vectorielles du modèle de vectorisation doivent correspondre à celles que vous avez spécifiées lors de la création du graphe d’analytique Neptune.

1. Dans la section **Base de données vectorielles**, choisissez la méthode de création du magasin de vecteurs, puis **Analytique Amazon Neptune (GraphRAG)** comme magasin de vecteurs pour stocker les vectorisations utilisées pour la requête. Vous pouvez créer votre magasin de vecteurs à l’aide de l’une des méthodes suivantes :
   + Nous vous recommandons d’utiliser la méthode **Création rapide d’un magasin de vecteurs** pour commencer rapidement à créer votre magasin de vecteurs. Choisissez **Analytique Amazon Neptune (GraphRAG)** comme magasin de vecteurs. Cette option ne nécessite pas que vous disposiez de ressources d’analytique Neptune existantes. La base de connaissances génère et stocke automatiquement les vectorisations de documents dans Amazon Neptune, ainsi qu’une représentation graphique des entités et de leurs relations dérivée du corpus de documents.
   + Sinon, si vous avez déjà créé votre graphique et votre index vectoriel d’analytique Neptune, vous pouvez utiliser l’option **Choisir un magasin de vecteurs que vous avez créé**. Choisissez **Analytique Amazon Neptune (GraphRAG)** comme magasin de vecteurs et identifiez l’ARN du graphique, les noms des champs vectoriels et les noms des champs de métadonnées dans l’index vectoriel. Pour de plus amples informations, veuillez consulter [Conditions préalables à l’utilisation d’un magasin de vecteurs que vous avez créé pour une base de connaissances](knowledge-base-setup.md).

1. Cliquez sur **Suivant** et passez en revue les détails de votre base de connaissances. Vous pouvez modifier toute section avant de créer votre base de connaissances.
**Note**  
Le temps nécessaire pour créer la base de connaissances dépend de vos configurations spécifiques. Une fois la base de connaissances créée, son statut change pour indiquer qu’elle est prête ou disponible.  
Une fois votre base de connaissances prête et disponible, synchronisez votre source de données pour la première fois et chaque fois que vous souhaitez tenir votre contenu à jour. Sélectionnez votre base de connaissances dans la console, puis cliquez sur **Synchroniser** dans la section de présentation des sources de données.

1. Cliquez sur **Créer une base de connaissances**. Pendant qu’Amazon Bedrock crée la base de connaissances, vous devriez voir le statut **En cours**. Vous devez attendre la fin de la création avant de synchroniser une source de données.

1. Une fois qu’Amazon Bedrock a fini de créer la base de connaissances, pour configurer une source de données, suivez les instructions sous [Connexion d’une source de données à votre base de connaissances](data-source-connectors.md).

------
#### [ API ]

**Pour créer une base de connaissances pour Neptune Analytics à l'aide du AWS CLI**

1. Créez d’abord une source de données à l’aide de la configuration d’enrichissement du contexte. Pour effectuer cette opération, envoyez une demande [https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent_CreateDataSource.html](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent_CreateDataSource.html) avec un [point de terminaison de compilation pour agents Amazon Bedrock](https://docs.aws.amazon.com/general/latest/gr/bedrock.html#bra-bt). Voici un exemple de commande CLI.

   ```
   aws bedrock-agent create-data-source \
       --name graph_rag_source \
       --description data_source_for_graph_rag \
       --knowledge-base-id LDBBY2K5AG \
       --cli-input-json "file://input.json"
   ```

   Le code suivant affiche le contenu du fichier `input.json`.

   ```
   {
       "dataSourceConfiguration": { 
           "s3Configuration": { 
               "bucketArn": "arn:aws:s3:::<example-graphrag-datasets>",
               "bucketOwnerAccountId": "<ABCDEFGHIJ>",
               "inclusionPrefixes": [ <"example-dataset"> ]
           },
           "type": "S3",
       },
       "VectorIngestionConfiguration": {
           "contextEnrichmentConfiguration":
               "type": "BEDROCK_FOUNDATION_MODEL",
               "bedrockFoundationModelConfiguration": {
                   "modelArn": "arn:aws:bedrock:<region>::foundation-model/anthropic.claude-3-haiku-20240307-v1:0",
                   "enrichmentStrategyConfiguration": {
                       "method": "CHUNK_ENTITY_EXTRACTION"
               }
           }
       }
   }
   ```

   Pour créer le `modelArn` graphique à partir de vos documents, vous pouvez utiliser Claude 3 Haiku (comme indiqué dans l'exemple précédent), Claude Haiku 4.5 et la famille Amazon Nova (y compris les modèles Nova 2 et Nova avec modalité de saisie de texte). Pour connaître les modèles de fondation disponibles dans votre région, consultez la section [Modèles de fondation pris en charge dans Amazon Bedrock](https://docs.aws.amazon.com/bedrock/latest/userguide/models-supported.html).
**Note**  
Certains modèles ne sont pris en charge que par le biais de profils d'inférence interrégionaux. Lorsque vous invoquez un profil d'inférence interrégional dans Amazon Bedrock, votre demande et les données à ingérer proviennent d'une région source et sont automatiquement acheminées vers l'une des régions de destination définies dans ce profil, optimisant ainsi les performances. Les régions de destination pour les profils d’inférence interrégionaux mondiaux incluent toutes les régions commerciales. Par exemple, vous pouvez spécifier le `modelArn` pour un appel interrégional basé aux États-Unis depuis la région us-west-2 en utilisant le format. `arn:aws:bedrock:us-west-2:account-id:inference-profile/us.anthropic.claude-haiku-4-5-20251001-v1:0`

   Pour connaître les règles relatives à l'utilisation des profils d'inférence par votre rôle, consultez la section [Conditions requises pour les profils d'inférence interrégionaux.](https://docs.aws.amazon.com/bedrock/latest/userguide/inference-profiles-prereq.html) Pour savoir comment utiliser les profils d'inférence pour sélectionner les régions source et de destination, voir Régions [et modèles pris en charge pour les profils d'inférence](https://docs.aws.amazon.com/bedrock/latest/userguide/inference-profiles-support.html). Vos données sont stockées uniquement dans votre région source correspondant à la base de connaissances Amazon Bedrock et à l'instance Amazon Neptune Analytics. La région de destination est utilisée à des fins d'inférence uniquement.

1. Pour créer une base de connaissances, envoyez une demande [https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent_CreateKnowledgeBase.html](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent_CreateKnowledgeBase.html) avec un [point de terminaison de compilation pour agents Amazon Bedrock](https://docs.aws.amazon.com/general/latest/gr/bedrock.html#bra-bt). Voici un exemple de commande CLI.

   ```
   aws bi create-knowledge-base \
   --name <"knowledge-base-graphrag"> \
   --role-arn arn:aws:iam::<accountId>:role/<BedrockExecutionRoleForKnowledgeBase> \
   --cli-input-json "file://input.json"
   ```

   Voici le contenu du fichier `input.json`.

   ```
   {
       "storageConfiguration": {
           "type": "NEPTUNE_ANALYTICS"
           "neptuneAnalyticsConfiguration": {
               "graphArn": "arn:aws:neptune-graph:<region>:<>:graph/<graphID>",
               "fieldMapping": {
                   "metadataField": "metadata",
                   "textField": "text"
               },
           }
       },
       "knowledgeBaseConfiguration": {
           "type": "VECTOR",
           "vectorKnowledgeBaseConfiguration": {
               "embeddingModelArn": "arn:aws:bedrock:<region>::foundation-model/cohere.embed-english-v3"
           }
       }
   }
   ```

1. Lorsque votre application basée sur GraphRAG est en cours d’exécution, vous pouvez continuer à fournir aux utilisateurs finaux des réponses plus complètes, plus pertinentes et plus explicables à l’aide des opérations d’API Knowledge Bases. Les sections suivantes expliquent comment démarrer l’ingestion et effectuer des requêtes de récupération à l’aide de commandes CLI.

------

## Synchronisation de votre source de données
<a name="knowledge-base-build-graphs-sync"></a>

Après avoir créé votre base de connaissances, vous devez ingérer ou synchroniser vos données afin qu’elles puissent être interrogées. L’ingestion extrait la structure graphique et convertit les données brutes de votre source de données en vectorisations, sur la base du modèle de vectorisation et des configurations que vous avez spécifiés.

La commande suivante montre un exemple de la façon de démarrer une tâche d’ingestion à l’aide de la CLI.

```
aws bedrock-agent start-ingestion-job \
--data-source-id <"ABCDEFGHIJ"> \
--knowledge-base-id <"EFGHIJKLMN">
```

Pour plus d’informations et pour découvrir comment synchroniser votre source de données à l’aide de la console et de l’API, consultez [Synchronisation de vos données avec votre base de connaissances Amazon Bedrock](kb-data-source-sync-ingest.md).

## Ingestion des modifications dans votre base de connaissances
<a name="knowledge-base-build-graphs-ingest"></a>

Lorsque vous utilisez Amazon S3 comme source de données, vous pouvez modifier votre source de données et synchroniser les modifications en une seule étape. Grâce à l’ingestion directe, vous pouvez directement ajouter, mettre à jour ou supprimer des fichiers dans une base de connaissances en une seule action et votre base de connaissances peut accéder aux documents sans avoir besoin de les synchroniser. L’ingestion directe utilise les opérations d’API `KnowledgeBaseDocuments` pour indexer les documents que vous soumettez directement dans le magasin de vecteurs configuré pour la base de connaissances. Vous pouvez également consulter les documents de votre base de connaissances directement à l’aide de ces opérations, sans avoir à accéder à la source de données connectée. Pour de plus amples informations, veuillez consulter [Ingestion des modifications directement dans une base de connaissances](kb-direct-ingestion.md).

## Test de votre base de connaissances
<a name="knowledge-base-build-graphs-test"></a>

Après avoir configuré votre base de connaissances, vous pouvez la tester en envoyant des requêtes et en générant des réponses.

Le code suivant présente un exemple de commande CLI.

```
aws bedrock-agent-runtime retrieve \
--knowledge-base-id <"ABCDEFGHIJ"> \
--retrieval-query="{\"text\": \"What are the top three video games available now?\"}"
```

Pour de plus amples informations, veuillez consulter [Interrogation d’une base de connaissances connectée à un graphe d’analytique Amazon Neptune](kb-test-neptune.md).

# Test de votre base de connaissances avec des requêtes et des réponses
<a name="knowledge-base-test"></a>

Après avoir configuré votre base de connaissances, vous pouvez tester son comportement comme suit :
+ Envoyez des requêtes et récupérez les informations pertinentes à partir de vos sources de données à l’aide de l’opération [https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent-runtime_Retrieve.html](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent-runtime_Retrieve.html).
+ Envoyez des requêtes et générez des réponses aux requêtes en fonction des informations récupérées à partir de vos sources de données à l’aide de l’opération [https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent-runtime_RetrieveAndGenerate.html](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent-runtime_RetrieveAndGenerate.html).
+ Récupérez des sources plus pertinentes à l’aide d’un modèle de reclassement à la place du modèle de reclassement Amazon Bedrock Knowledge Bases par défaut lorsque vous utilisez [https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent-runtime_Retrieve.html](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent-runtime_Retrieve.html) ou [https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent-runtime_RetrieveAndGenerate.html](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent-runtime_RetrieveAndGenerate.html).
+ Spécifiez les documents de votre source de données qui peuvent être utilisés à l’aide de filtres de métadonnées facultatifs avec l’API `Retrieve` ou `RetrieveAndGenerate`.

Une fois que le comportement de votre base de connaissances vous convient, vous pouvez configurer votre application pour interroger cette base ou l’associer à un agent en suivant les instructions sous [Déploiement de votre base de connaissances pour votre application d’IA](knowledge-base-deploy.md).

Choisissez une rubrique pour en savoir plus.

**Topics**
+ [Interrogation d’une base de connaissances et extraction des données](kb-test-retrieve.md)
+ [Interrogation d’une base de connaissances et génération de réponses basées sur les données récupérées](kb-test-retrieve-generate.md)
+ [Génération d’une requête pour des données structurées](knowledge-base-generate-query.md)
+ [Interrogation d’une base de connaissances connectée à un index GenAI Amazon Kendra](kb-test-kendra.md)
+ [Interrogation d’une base de connaissances connectée à un graphe d’analytique Amazon Neptune](kb-test-neptune.md)
+ [Configuration et personnalisation de la génération de requêtes et de réponses](kb-test-config.md)
+ [Configuration de la génération de réponses pour les modèles de raisonnement avec les bases de connaissances](kb-test-configure-reasoning.md)

# Interrogation d’une base de connaissances et extraction des données
<a name="kb-test-retrieve"></a>

**Important**  
Les barrières de protection ne sont appliquées qu’à l’entrée et qu’à la réponse générée par le LLM. Elles ne sont pas appliqués aux références récupérées des bases de connaissances lors de l’exécution.

Une fois votre base de données configurée, vous pouvez l’interroger et extraire des fragments de vos données sources qui sont pertinentes pour la requête à l’aide de l’opération d’API [https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent-runtime_Retrieve.html](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent-runtime_Retrieve.html). Vous pouvez également [utiliser un modèle de reclassement](rerank.md) au lieu du modèle de classement de bases de données Amazon Bedrock par défaut pour classer les fragments de source en fonction de leur pertinence lors de leur récupération.

Pour découvrir comment interroger une base de connaissances, cliquez sur l’onglet correspondant à votre méthode préférée, puis suivez les étapes :

------
#### [ Console ]

**Pour tester votre base de connaissances**

1. Connectez-vous au AWS Management Console avec une identité IAM autorisée à utiliser la console Amazon Bedrock. Ouvrez ensuite la console Amazon Bedrock à l'adresse [https://console.aws.amazon.com/bedrock.](https://console.aws.amazon.com/bedrock)

1. Dans le volet de navigation de gauche, sélectionnez **Bases de connaissances**.

1. Dans la section **Bases de connaissances**, effectuez l’une des actions suivantes :
   + Cliquez sur la case d’option en regard de la base de connaissances que vous souhaitez tester, puis sélectionnez **Tester la base de connaissances**. Une fenêtre de test s’ouvre sur la droite.
   + Choisissez la base de connaissances que vous souhaitez tester. Une fenêtre de test s’ouvre sur la droite.

1. Dans la fenêtre de test, désélectionnez **Générer des réponses pour votre requête** afin de renvoyer les informations extraites directement de votre base de connaissances.

1. (Facultatif) Sélectionnez l’icône de configuration (![\[Three horizontal sliders with adjustable circular controls for settings or parameters.\]](http://docs.aws.amazon.com/fr_fr/bedrock/latest/userguide/images/icons/configurations.png)) pour ouvrir **Configurations**. Pour en savoir plus sur la configuration, consultez [Configuration et personnalisation de la génération de requêtes et de réponses](kb-test-config.md).

1. Entrez une requête dans la zone de texte de la fenêtre de chat et sélectionnez **Exécuter** pour renvoyer les réponses de la base de connaissances.

1. Les fragments sources sont renvoyés directement par ordre de pertinence. Les images extraites de votre source de données peuvent également être renvoyées sous forme de fragment source.

1. Pour consulter les informations des fragments renvoyés, sélectionnez **Afficher les détails de la source**.
   + Pour voir les configurations que vous avez définies pour la requête, développez **Configurations des requêtes**.
   + Pour afficher les détails d’un fragment source, développez-le en cliquant sur la flèche droite (![\[Play button icon with a triangular shape pointing to the right.\]](http://docs.aws.amazon.com/fr_fr/bedrock/latest/userguide/images/icons/caret-right-filled.png)) près de celui-ci. Vous pouvez consulter les informations suivantes :
     + Le texte brut issu du bloc source. Pour copier ce texte, cliquez sur l’icône de copie (![\[Icon representing a crop or resize function, with two overlapping rectangles.\]](http://docs.aws.amazon.com/fr_fr/bedrock/latest/userguide/images/icons/copy.png)). Si vous avez utilisé Amazon S3 pour stocker vos données, cliquez sur l’icône de lien externe (![\[Icon of a square with an arrow pointing outward from its top-right corner.\]](http://docs.aws.amazon.com/fr_fr/bedrock/latest/userguide/images/icons/external.png)) pour accéder à l’objet S3 contenant le fichier.
     + Les métadonnées associées au fragment source, si vous avez utilisé Amazon S3 pour stocker vos données. Les attribute/field clés et les valeurs sont définies dans le `.metadata.json` fichier associé au document source. Pour plus d’informations, consultez la section **Métadonnées et filtrage** dans [Configuration et personnalisation de la génération de requêtes et de réponses](kb-test-config.md).

**Options de chat**
+ Passez à la génération de réponses en fonction des fragments source extraits en activant l’option **Générer des réponses**. Si vous modifiez ce paramètre, le texte de la fenêtre de chat s’efface complètement.
+ Pour effacer la fenêtre de discussion, sélectionnez l'icône en forme de balai (![\[Magnifying glass icon with a checkmark inside, symbolizing search or inspection.\]](http://docs.aws.amazon.com/fr_fr/bedrock/latest/userguide/images/icons/broom.png)).
+ Pour copier tous les résultats dans la fenêtre de discussion, sélectionnez l'icône de copie (![\[Icon representing a crop or resize function, with two overlapping rectangles.\]](http://docs.aws.amazon.com/fr_fr/bedrock/latest/userguide/images/icons/copy.png)).

------
#### [ API ]

Pour interroger une base de connaissances et ne renvoyer que le texte pertinent provenant des sources de données, envoyez une demande [https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent-runtime_Retrieve.html](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent-runtime_Retrieve.html) avec un [point de terminaison d’exécution des agents Amazon Bedrock](https://docs.aws.amazon.com/general/latest/gr/bedrock.html#bra-rt).

Les champs suivants sont obligatoires :


****  

| Champ | Description de base | 
| --- | --- | 
| knowledgeBaseId | Requête à envoyer à la base de connaissances interroger. | 
| retrievalQuery | Contient un champ text permettant de spécifier la requête. | 
| guardrailsConfiguration | Incluez des champs guardrailsConfiguration tels que guardrailsId et guardrailsVersion pour utiliser votre barrière de protection dans la demande | 

Les champs suivants sont facultatifs :


****  

| Champ | Cas d’utilisation | 
| --- | --- | 
| nextToken | Pour renvoyer le prochain lot de réponses (voir les champs de réponse ci-dessous). | 
| retrievalConfiguration | Pour inclure des [configurations de requête](kb-test-config.md) afin de personnaliser la recherche vectorielle. Pour plus d’informations, consultez [KnowledgeBaseVectorSearchConfiguration](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent-runtime_KnowledgeBaseVectorSearchConfiguration.html). | 

Vous pouvez utiliser un modèle de reclassement par rapport au modèle de classement par défaut des bases de connaissances Amazon Bedrock en incluant le `rerankingConfiguration` champ dans le. [KnowledgeBaseVectorSearchConfiguration](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent-runtime_KnowledgeBaseVectorSearchConfiguration.html) Le `rerankingConfiguration` champ correspond à un [VectorSearchRerankingConfiguration](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent-runtime_VectorSearchRerankingConfiguration.html)objet, dans lequel vous pouvez spécifier le modèle de reclassement à utiliser, les champs de demande supplémentaires à inclure, les attributs de métadonnées pour filtrer les documents lors du reclassement et le nombre de résultats à renvoyer après le reclassement. Pour de plus amples informations, veuillez consulter [VectorSearchRerankingConfiguration](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent-runtime_VectorSearchRerankingConfiguration.html).

**Note**  
Si la `numberOfRerankedResults` valeur que vous spécifiez est supérieure à celle du [KnowledgeBaseVectorSearchConfiguration](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent-runtime_KnowledgeBaseVectorSearchConfiguration.html), le nombre maximum de résultats renvoyés est la valeur pour`numberOfResults`. `numberOfResults` Il existe une exception si vous utilisez la décomposition des requêtes (pour plus d’informations, consultez la section **Modifications des requêtes** dans [Configuration et personnalisation de la génération de requêtes et de réponses](kb-test-config.md). Si vous utilisez la décomposition des requêtes, `numberOfRerankedResults` peut être jusqu’à cinq fois supérieur à `numberOfResults`.

La réponse renvoie les fragments de la source de données sous la forme d'un tableau d'[KnowledgeBaseRetrievalResult](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent-runtime_KnowledgeBaseRetrievalResult.html)objets dans le `retrievalResults` champ. Chacun [KnowledgeBaseRetrievalResult](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent-runtime_KnowledgeBaseRetrievalResult.html)contient les champs suivants :


****  

| Champ | Description | 
| --- | --- | 
| content | Contient un fragment de source de texte dans le champ text ou un fragment de source d’image dans le champ byteContent. Si le contenu est une image, l’URI de données du contenu codé en Base64 est renvoyé au format data:image/jpeg;base64,\$1\$1base64-encoded string\$1. | 
| metadata | Contient chaque attribut de métadonnées sous forme de clé et la valeur de métadonnées sous forme de valeur JSON à laquelle la clé correspond. | 
| location | Contient l’URI ou l’URL du document auquel appartient le fragment source. | 
| score | Le score de pertinence du document. Vous pouvez utiliser ce score pour analyser le classement des résultats. | 

Si le nombre de fragments sources dépasse ce que peut contenir la réponse, une valeur est renvoyée dans le champ `nextToken`. Utilisez cette valeur dans une autre demande pour renvoyer le prochain lot de résultats.

Si les données récupérées contiennent des images, la réponse renvoie également les en-têtes de réponse suivants, qui contiennent les métadonnées des blocs source renvoyés dans la réponse :
+ `x-amz-bedrock-kb-byte-content-source` : contient l’URI d’Amazon S3 de l’image.
+ `x-amz-bedrock-kb-description` : contient la chaîne encodée en Base64 pour l’image.

**Note**  
Vous ne pouvez pas filtrer sur ces en-têtes de réponse de métadonnées lorsque vous [configurez des filtres de métadonnées](kb-test-config.md).

**Requêtes multimodales**  
Pour les bases de connaissances utilisant des modèles d'intégration multimodaux, vous pouvez effectuer des requêtes avec du texte ou des images. Le `retrievalQuery` champ prend en charge un `multimodalInputList` champ pour les requêtes d'images :

**Note**  
Pour des conseils complets sur la mise en place et l'utilisation de bases de connaissances multimodales, y compris le choix entre les approches Nova et BDA, voir. [Création d'une base de connaissances pour le contenu multimodal](kb-multimodal.md)

Vous pouvez effectuer une requête avec des images en utilisant le `multimodalInputList` champ :

```
{
    "knowledgeBaseId": "EXAMPLE123", 
    "retrievalQuery": {
        "multimodalInputList": [
            {
                "content": {
                    "byteContent": "base64-encoded-image-data"
                },
                "modality": "IMAGE"
            }
        ]
    }
}
```

Vous pouvez également effectuer une requête avec du texte uniquement en utilisant le `text` champ :

```
{
    "knowledgeBaseId": "EXAMPLE123",
    "retrievalQuery": {
        "text": "Find similar shoes"
    }
}
```

**Modèles de requêtes multimodaux courants**  
Voici quelques modèles de requêtes courants :

Image-to-image rechercher  
Téléchargez une image pour trouver des images visuellement similaires. Exemple : téléchargez la photo d'une chaussure Nike rouge pour trouver des chaussures similaires dans votre catalogue de produits.

Recherche basée sur le texte  
Utilisez des requêtes textuelles pour trouver du contenu pertinent. Exemple : « Trouver des chaussures similaires » pour effectuer une recherche dans votre catalogue de produits à l'aide de descriptions textuelles.

Recherche visuelle de documents  
Recherchez des graphiques, des diagrammes ou des éléments visuels dans les documents. Exemple : téléchargez une image de graphique pour trouver des graphiques similaires dans votre collection de documents.

**Choisir entre Nova et BDA pour le contenu multimodal**  
Lorsque vous travaillez avec du contenu multimodal, choisissez votre approche en fonction de votre type de contenu et de vos modèles de requête :


**Matrice de décision Nova vs BDA**  

| Type de contenu | Utilisez les intégrations multimodales Nova | Utiliser l'analyseur Bedrock Data Automation (BDA) | 
| --- | --- | --- | 
| Contenu vidéo | Concentration sur la narration visuelle (sports, publicités, démonstrations), requêtes sur des éléments visuels, contenu vocal minimal | Important speech/narration (présentations, réunions, tutoriels), requêtes sur le contenu oral, besoin de transcriptions | 
| Contenu audio | Identification de musique ou d'effets sonores, analyse audio non vocale | Podcasts, interviews, réunions, tout contenu dont le discours doit être transcrit | 
| Contenu de l'image | Recherches de similarité visuelle, image-to-image récupération, analyse de contenu visuel | Extraction de texte à partir d'images, traitement des documents, exigences en matière d'OCR | 

**Note**  
Les intégrations multimodales Nova ne peuvent pas traiter directement le contenu vocal. Si vos fichiers audio ou vidéo contiennent des informations vocales importantes, utilisez d'abord l'analyseur BDA pour convertir la parole en texte, ou choisissez plutôt un modèle d'intégration de texte.

**Limites liées aux requêtes multimodales**  
Les requêtes multimodales présentent certaines limites :
+ Maximum d'une image par requête dans la version actuelle
+ Les requêtes d'image ne sont prises en charge qu'avec les modèles d'intégration multimodaux (Titan G1 ou Cohere Embed v3)
+ RetrieveAndGenerate L'API n'est pas prise en charge pour les bases de connaissances comportant des modèles d'intégration multimodaux et des compartiments de contenu S3
+ Si vous fournissez une requête d'image à une base de connaissances à l'aide de modèles d'intégration contenant uniquement du texte, une erreur 4xx sera renvoyée

**Structure de réponse d'API multimodale**  
Les réponses de récupération pour le contenu multimodal incluent des métadonnées supplémentaires :
+ **URI source :** pointe vers l'emplacement de votre compartiment S3 d'origine
+ **URI supplémentaire :** pointe vers la copie dans votre compartiment de stockage multimodal
+ **Métadonnées d'horodatage :** incluses pour les segments vidéo et audio afin de permettre un positionnement précis de la lecture

**Note**  
Lorsque vous utilisez l'API ou le SDK, vous devez gérer la récupération des fichiers et la navigation par horodatage dans votre application. La console gère cela automatiquement grâce à une lecture vidéo améliorée et à une navigation automatique par horodatage.

------

**Note**  
Si vous recevez un message d’erreur indiquant que l’invite dépasse la limite de caractères lors de la génération des réponses, vous pouvez raccourcir l’invite comme suit :  
Réduisez le nombre maximum de résultats récupérés (cela raccourcit ce qui est rempli dans l’espace réservé \$1search\$1results\$1 dans [Modèles d’invite de base de connaissances : orchestration et génération](kb-test-config.md#kb-test-config-prompt-template)).
Recréez la source de données à l’aide d’une stratégie de découpage qui utilise des blocs plus petits (cela raccourcit ce qui est rempli dans l’espace réservé \$1search\$1results\$1 dans [Modèles d’invite de base de connaissances : orchestration et génération](kb-test-config.md#kb-test-config-prompt-template)).
Raccourcissez le modèle d’invite.
Raccourcissez la requête utilisateur (cela raccourcit ce qui est rempli dans l’espace réservé \$1query\$1 dans [Modèles d’invite de base de connaissances : orchestration et génération](kb-test-config.md#kb-test-config-prompt-template)).

# Interrogation d’une base de connaissances et génération de réponses basées sur les données récupérées
<a name="kb-test-retrieve-generate"></a>

**Important**  
Les barrières de protection ne sont appliquées qu’à l’entrée et qu’à la réponse générée par le LLM. Elles ne sont pas appliqués aux références récupérées des bases de connaissances lors de l’exécution.

Une fois votre base de données configurée, vous pouvez l’interroger et générer des réponses basées sur les fragments récupérés de vos données sources à l’aide de l’opération d’API [https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent-runtime_RetrieveAndGenerate.html](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent-runtime_RetrieveAndGenerate.html). Les réponses sont renvoyées avec des citations des données sources d’origine. Vous pouvez également [utiliser un modèle de reclassement](rerank.md) au lieu du modèle de classement de bases de données Amazon Bedrock par défaut pour classer les fragments de source en fonction de leur pertinence lors de leur récupération.

**Limitations liées au contenu multimodal**  
`RetrieveAndGenerate`n'offre qu'un support limité pour le contenu multimodal. Lorsque vous utilisez Nova Multimodal Embeddings, la fonctionnalité RAG est limitée au contenu textuel uniquement. Pour une prise en charge multimodale complète, y compris le traitement audio et vidéo, utilisez BDA avec des modèles d'intégration de texte. Pour en savoir plus, consultez [Création d'une base de connaissances pour le contenu multimodal](kb-multimodal.md).

**Note**  
Les images renvoyées par la réponse `Retrieve` pendant le flux `RetrieveAndGenerate` sont incluses dans l’invite de génération de réponse. La réponse `RetrieveAndGenerate` ne peut pas inclure d’images, mais peut citer les sources qui en contiennent.

Pour découvrir comment interroger une base de connaissances, cliquez sur l’onglet correspondant à votre méthode préférée, puis suivez les étapes :

------
#### [ Console ]

**Pour tester votre base de connaissances**

1. Connectez-vous au AWS Management Console avec une identité IAM autorisée à utiliser la console Amazon Bedrock. Ouvrez ensuite la console Amazon Bedrock à l'adresse [https://console.aws.amazon.com/bedrock.](https://console.aws.amazon.com/bedrock)

1. Dans le volet de navigation de gauche, sélectionnez **Bases de connaissances**.

1. Dans la section **Bases de connaissances**, effectuez l’une des actions suivantes :
   + Cliquez sur la case d’option en regard de la base de connaissances que vous souhaitez tester, puis sélectionnez **Tester la base de connaissances**. Une fenêtre de test s’ouvre sur la droite.
   + Choisissez la base de connaissances que vous souhaitez tester. Une fenêtre de test s’ouvre sur la droite.

1. Pour générer des réponses basées sur les informations extraites de votre base de connaissances, activez **Générer des réponses pour votre requête**. Amazon Bedrock génère des réponses en fonction de vos sources de données et cite les informations fournies dans des notes de bas de page.

1. Pour choisir un modèle à utiliser pour la génération de réponses, choisissez **Sélectionner le modèle**. Sélectionnez ensuite **Appliquer**. 

1. (Facultatif) Sélectionnez l’icône de configuration (![\[Three horizontal sliders with adjustable circular controls for settings or parameters.\]](http://docs.aws.amazon.com/fr_fr/bedrock/latest/userguide/images/icons/configurations.png)) pour ouvrir **Configurations**. Pour en savoir plus sur la configuration, consultez [Configuration et personnalisation de la génération de requêtes et de réponses](kb-test-config.md).

1. Entrez une requête dans la zone de texte de la fenêtre de chat et sélectionnez **Exécuter** pour renvoyer les réponses de la base de connaissances.

1. Sélectionnez une note de bas de page pour consulter un extrait de la source citée pour cette partie de la réponse. Cliquez sur le lien pour accéder à l’objet S3 contenant le fichier.

1. Pour consulter les informations des fragments renvoyés, sélectionnez **Afficher les détails de la source**.
   + Pour voir les configurations que vous avez définies pour la requête, développez **Configurations des requêtes**.
   + Pour afficher les détails d’un fragment source, développez-le en cliquant sur la flèche droite (![\[Play button icon with a triangular shape pointing to the right.\]](http://docs.aws.amazon.com/fr_fr/bedrock/latest/userguide/images/icons/caret-right-filled.png)) près de celui-ci. Vous pouvez consulter les informations suivantes :
     + Le texte brut issu du bloc source. Pour copier ce texte, cliquez sur l’icône de copie (![\[Icon representing a crop or resize function, with two overlapping rectangles.\]](http://docs.aws.amazon.com/fr_fr/bedrock/latest/userguide/images/icons/copy.png)). Si vous avez utilisé Amazon S3 pour stocker vos données, cliquez sur l’icône de lien externe (![\[Icon of a square with an arrow pointing outward from its top-right corner.\]](http://docs.aws.amazon.com/fr_fr/bedrock/latest/userguide/images/icons/external.png)) pour accéder à l’objet S3 contenant le fichier.
     + Les métadonnées associées au fragment source, si vous avez utilisé Amazon S3 pour stocker vos données. Les attribute/field clés et les valeurs sont définies dans le `.metadata.json` fichier associé au document source. Pour plus d’informations, consultez la section **Métadonnées et filtrage** dans [Configuration et personnalisation de la génération de requêtes et de réponses](kb-test-config.md).

**Options de chat**
+ Pour choisir un modèle à utiliser pour la génération de réponses, choisissez **Changer de modèle**. Si vous changez de modèle, le texte de la fenêtre de chat s’efface complètement.
+ Passez à la récupération directe des fragments source en désactivant la case **Générer des réponses**. Si vous modifiez ce paramètre, le texte de la fenêtre de chat s’efface complètement.
+ Pour effacer la fenêtre de discussion, sélectionnez l'icône en forme de balai (![\[Magnifying glass icon with a checkmark inside, symbolizing search or inspection.\]](http://docs.aws.amazon.com/fr_fr/bedrock/latest/userguide/images/icons/broom.png)).
+ Pour copier tous les résultats dans la fenêtre de discussion, sélectionnez l'icône de copie (![\[Icon representing a crop or resize function, with two overlapping rectangles.\]](http://docs.aws.amazon.com/fr_fr/bedrock/latest/userguide/images/icons/copy.png)).

------
#### [ API ]

Pour interroger une base de connaissances et utiliser un modèle de fondation afin de générer des réponses basées sur les résultats des sources de données, envoyez une demande [https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent-runtime_RetrieveAndGenerate.html](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent-runtime_RetrieveAndGenerate.html) avec un [point de terminaison d’exécution des agents Amazon Bedrock](https://docs.aws.amazon.com/general/latest/gr/bedrock.html#bra-rt).

L’API [https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent-runtime_RetrieveAndGenerateStream.html](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent-runtime_RetrieveAndGenerateStream.html) renvoie les données dans un format de streaming et vous permet d’accéder aux réponses générées par fragments sans attendre le résultat complet.

Les champs suivants sont obligatoires :

**Note**  
La réponse de l’API contient des événements de citation. Ce membre `citation` est devenu obsolète. Nous vous recommandons d’utiliser les champs `generatedResponse` et `retrievedReferences` à la place. Pour obtenir de la documentation de référence, consultez [https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent-runtime_CitationEvent.html](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent-runtime_CitationEvent.html).


****  

| Champ | Description de base | 
| --- | --- | 
| input | Contient un champ text permettant de spécifier la requête. | 
| retrieveAndGenerateConfiguration | Contient un [RetrieveAndGenerateConfiguration](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent-runtime_RetrieveAndGenerateConfiguration.html), qui spécifie les configurations pour la récupération et la génération. Voir ci-dessous pour plus d’informations. | 

Les champs suivants sont facultatifs :


****  

| Champ | Cas d’utilisation | 
| --- | --- | 
| sessionId | Utilisez la même valeur que lors d’une session précédente pour continuer cette session et conserver le contexte du modèle à partir de celle-ci. | 
| sessionConfiguration | Pour inclure une clé KMS personnalisée pour le chiffrement de la session. | 

Incluez le `knowledgeBaseConfiguration` champ dans le [RetrieveAndGenerateConfiguration](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent-runtime_RetrieveAndGenerateConfiguration.html). Ce champ correspond à un [KnowledgeBaseRetrieveAndGenerateConfiguration](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent-runtime_KnowledgeBaseRetrieveAndGenerateConfiguration.html)objet qui contient les champs suivants :
+ Les champs suivants sont obligatoires :  
****    
[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/fr_fr/bedrock/latest/userguide/kb-test-retrieve-generate.html)
+ Les champs suivants sont facultatifs :  
****    
[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/fr_fr/bedrock/latest/userguide/kb-test-retrieve-generate.html)

Vous pouvez utiliser un modèle de reclassement par rapport au modèle de classement par défaut des bases de connaissances Amazon Bedrock en incluant le `rerankingConfiguration` champ dans le [KnowledgeBaseVectorSearchConfiguration](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent-runtime_KnowledgeBaseVectorSearchConfiguration.html). [KnowledgeBaseRetrievalConfiguration](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent-runtime_KnowledgeBaseRetrievalConfiguration.html) Le `rerankingConfiguration` champ correspond à un [VectorSearchRerankingConfiguration](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent-runtime_VectorSearchRerankingConfiguration.html)objet, dans lequel vous pouvez spécifier le modèle de reclassement à utiliser, les champs de demande supplémentaires à inclure, les attributs de métadonnées pour filtrer les documents lors du reclassement et le nombre de résultats à renvoyer après le reclassement. Pour de plus amples informations, veuillez consulter [VectorSearchRerankingConfiguration](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent-runtime_VectorSearchRerankingConfiguration.html).

**Note**  
Si la `numberOfRerankedResults` valeur que vous spécifiez est supérieure à celle du [KnowledgeBaseVectorSearchConfiguration](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent-runtime_KnowledgeBaseVectorSearchConfiguration.html), le nombre maximum de résultats qui seront renvoyés est la valeur pour`numberOfResults`. `numberOfResults` Il existe une exception si vous utilisez la décomposition des requêtes (pour plus d’informations, consultez la section **Modifications des requêtes** dans [Configuration et personnalisation de la génération de requêtes et de réponses](kb-test-config.md). Si vous utilisez la décomposition des requêtes, `numberOfRerankedResults` peut être jusqu’à cinq fois supérieur à `numberOfResults`.

La réponse renvoie la réponse générée dans le champ `output` et les fragments source cités sous forme de tableau dans le champ `citations`. Chaque objet [Citation](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent-runtime_Citation.html) contient les champs suivants.


****  

| Champ | Description de base | 
| --- | --- | 
| generatedResponsePart | Dans le champ textResponsePart, le text auquel se rapporte la citation est inclus. Le champ span fournit les index de début et de fin de la partie de la sortie contenant une citation. | 
| retrievedReferences | Tableau d'[RetrievedReference](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent-runtime_RetrievedReference.html)objets, chacun contenant le fragment content d'une source metadata associé au document, ainsi que l'URI ou l'URL location du document dans la source de données.  Si le contenu est une image, l’URI de données du contenu codé en Base64 est renvoyé au format data:image/jpeg;base64,\$1\$1base64-encoded string\$1. | 

La réponse renvoie également une valeur `sessionId` que vous pouvez réutiliser dans une autre demande pour maintenir la même conversation.

Si vous avez inclus `guardrailConfiguration` dans la demande, le champ `guardrailAction` vous indique si le contenu a été bloqué ou non.

Si les données récupérées contiennent des images, la réponse renvoie également les en-têtes de réponse suivants, qui contiennent les métadonnées des blocs source renvoyés dans la réponse :
+ `x-amz-bedrock-kb-byte-content-source` : contient l’URI d’Amazon S3 de l’image.
+ `x-amz-bedrock-kb-description` : contient la chaîne encodée en Base64 pour l’image.

**Note**  
Vous ne pouvez pas filtrer sur ces en-têtes de réponse de métadonnées lorsque vous [configurez des filtres de métadonnées](kb-test-config.md).

------

**Note**  
Si vous recevez un message d’erreur indiquant que l’invite dépasse la limite de caractères lors de la génération des réponses, vous pouvez raccourcir l’invite comme suit :  
Réduisez le nombre maximum de résultats récupérés (cela raccourcit ce qui est rempli dans l’espace réservé \$1search\$1results\$1 dans [Modèles d’invite de base de connaissances : orchestration et génération](kb-test-config.md#kb-test-config-prompt-template)).
Recréez la source de données à l’aide d’une stratégie de découpage qui utilise des blocs plus petits (cela raccourcit ce qui est rempli dans l’espace réservé \$1search\$1results\$1 dans [Modèles d’invite de base de connaissances : orchestration et génération](kb-test-config.md#kb-test-config-prompt-template)).
Raccourcissez le modèle d’invite.
Raccourcissez la requête utilisateur (cela raccourcit ce qui est rempli dans l’espace réservé \$1query\$1 dans [Modèles d’invite de base de connaissances : orchestration et génération](kb-test-config.md#kb-test-config-prompt-template)).

# Génération d’une requête pour des données structurées
<a name="knowledge-base-generate-query"></a>

Lorsque vous connectez un magasin de données structuré à votre base de connaissances, celle-ci peut l’interroger en convertissant la requête en langage naturel fournie par l’utilisateur en requête SQL, en fonction de la structure de la source de données interrogée. Lorsque vous utilisez :
+ [https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent-runtime_Retrieve.html](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent-runtime_Retrieve.html) : la réponse renvoie le résultat de l’exécution de la requête SQL.
+ [https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent-runtime_RetrieveAndGenerate.html](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent-runtime_RetrieveAndGenerate.html) : la réponse générée est basée sur le résultat de l’exécution de la requête SQL.
+ [GenerateQuery](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent-runtime_GenerateQuery.html): Amazon Bedrock Knowledge Bases dissocie la conversion de la requête du processus de récupération. Cette opération d’API vous permet de transformer une requête en code SQL.

## Utilisation de l’API `GenerateQuery`
<a name="knowledge-base-generate-query-api"></a>

Vous pouvez utiliser la réponse de l’opération d’API `GenerateQuery` avec une action `Retrieve` ou `RetrieveAndGenerate` ultérieure, ou l’insérer dans d’autres flux de travail. `GenerateQuery` vous permet de transformer efficacement les requêtes en requêtes SQL en tenant compte de la structure de la source de données de votre base de connaissances.

Pour transformer une requête en langage naturel en requête SQL, soumettez une [GenerateQuery](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent-runtime_GenerateQuery.html)demande avec un point de [terminaison Agents for Amazon Bedrock Runtime](https://docs.aws.amazon.com/general/latest/gr/bedrock.html#bra-rt). La demande `GenerateQuery` contient les champs suivants :
+ queryGenerationInput — Spécifiez `TEXT` en tant que `type` et incluez la requête dans le `text` champ.
**Note**  
Les requêtes doivent être écrites en anglais.
+ transformationConfiguration : spécifiez `TEXT_TO_SQL` comme `mode`. Dans le champ `textToSqlConfiguration`, spécifiez `KNOWLEDGE_BASE` comme `type`. Spécifiez ensuite l’ARN de la base de connaissances.

La réponse renvoie un tableau contenant un [GeneratedQuery](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent-runtime_GeneratedQuery.html)objet dans le `queries` champ. L’objet contient une requête SQL pour la requête dans le champ `sql`.

## Considérations clés
<a name="knowledge-base-generate-query-considerations"></a>

Voici quelques points essentiels à prendre en compte lors de la génération d’une requête à l’aide de données structurées :
+ 

**Inférence interrégionale et récupération de données structurées**  
La récupération de données structurées utilise l'inférence interrégionale pour sélectionner la solution optimale au Région AWS sein de votre zone géographique afin de traiter votre demande d'inférence. Cela n’engendre aucuns frais supplémentaires et améliore l’expérience client en optimisant les ressources disponibles et la disponibilité des modèles.

  Les demandes d'inférence croisée sont conservées dans les Régions AWS limites de la zone géographique dans laquelle les données se trouvent à l'origine. Vos données restent stockées dans la région source, mais les invites d’entrée et les résultats de sortie peuvent être déplacés en dehors de cette région. Toutes les données sont transmises chiffrées sur l’ensemble du réseau sécurisé d’Amazon.

  Pour de plus amples informations, veuillez consulter [Augmentez le débit grâce à l’inférence entre régions](cross-region-inference.md).
+ 

**Précision des requêtes SQL générées**  
La précision d’une requête SQL générée peut varier en fonction du contexte, des schémas de table et de l’intention de la requête utilisateur. Évaluez les requêtes générées pour vous assurer qu’elles correspondent à votre cas d’utilisation avant de les utiliser dans votre charge de travail.
+ 

**Nombre de résultats récupérés**  
Les restrictions suivantes s’appliquent lors de la génération de la réponse :
  + Lors de l’utilisation des opérations d’API `InvokeAgent`, `RetrieveAndGenerate` et `RetrieveAndGenerateStream`, seuls 10 résultats récupérés sont utilisés lors de la génération de la réponse.
  + Lors de l’utilisation de l’API `InvokeAgent`, s’il y a plus de 10 lignes de résultats récupérés, le nombre total de lignes récupérées n’est pas transmis à l’agent pour générer la réponse. Si vous utilisez plutôt l’API `RetrieveAndGenerate`, le nombre total de lignes est inclus dans l’invite de génération de la réponse finale.
+ 

**Quota de l’API `GenerateQuery`**  
L’API `GenerateQuery` dispose d’un quota de 2 demandes par seconde.

## Octroi à un rôle des autorisations nécessaires pour accéder aux requêtes générées
<a name="knowledge-base-structured-permissions"></a>

Pour votre base de connaissances connectée à une source de données structurée, si vous souhaitez effectuer des opérations supplémentaires sur les requêtes générées, vous devez accorder les autorisations nécessaires pour effectuer l’action d’API `GenerateQuery`. Pour permettre à votre rôle IAM d’interroger une base de connaissances connectée à un magasin de données structuré, attachez la politique suivante au rôle :

------
#### [ JSON ]

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Sid": "GetKB",
            "Effect": "Allow",
            "Action": [
                "bedrock:GetKnowledgeBase"
            ],
            "Resource": [
                "arn:aws:bedrock:us-east-1:123456789012:knowledge-base/KnowledgeBaseId"
            ]
        },
        {
            "Sid": "GenerateQueryAccess",
            "Effect": "Allow",
            "Action": [
                "bedrock:GenerateQuery",
                "sqlworkbench:GetSqlRecommendations"
            ],
            "Resource": "*"
        },
        {
            "Sid": "Retrieve",
            "Effect": "Allow",
            "Action": [
                "bedrock:Retrieve"
            ],
            "Resource": [
                "arn:aws:bedrock:us-east-1:123456789012:knowledge-base/KnowledgeBaseId"
            ]
        },
        {
            "Sid": "RetrieveAndGenerate",
            "Effect": "Allow",
            "Action": [
                "bedrock:RetrieveAndGenerate"
            ],
            "Resource": [
                "*"
            ]
        }
    ]
}
```

------

Vous pouvez supprimer les instructions dont vous n’avez pas besoin, selon votre cas d’utilisation :
+ Les `GenerateQuery` instructions `GetKB` and doivent être appelées [GenerateQuery](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent-runtime_GenerateQuery.html)pour générer des requêtes SQL qui prennent en compte les requêtes des utilisateurs et votre source de données connectée.
+ L’instruction `Retrieve` est requise pour appeler [https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent-runtime_Retrieve.html](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent-runtime_Retrieve.html) afin de récupérer les données de votre magasin de données structuré.
+ L’instruction `RetrieveAndGenerate` est requise pour appeler [https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent-runtime_RetrieveAndGenerate.html](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent-runtime_RetrieveAndGenerate.html) afin de récupérer les données de votre magasin de données structuré et générer des réponses basées sur ces données.

# Interrogation d’une base de connaissances connectée à un index GenAI Amazon Kendra
<a name="kb-test-kendra"></a>

Vous pouvez interroger une base de connaissances qui utilise un index GenAI Amazon Kendra et renvoyer uniquement le texte pertinent provenant de sources de données. Pour cette requête, envoyez une demande [https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent-runtime_Retrieve.html](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent-runtime_Retrieve.html) avec un [point de terminaison d’exécution Agents Amazon Bedrock](https://docs.aws.amazon.com/general/latest/gr/bedrock.html#bra-rt), par exemple avec une base de connaissances standard.

La structure d’une réponse renvoyée par une base de connaissances avec un index GenAI Amazon Kendra est identique à celle d’un [KnowledgeBaseRetrievalResult](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent-runtime_KnowledgeBaseRetrievalResult.html) standard. Cependant, la réponse inclut également quelques champs supplémentaires provenant d’Amazon Kendra.

Le tableau suivant décrit les champs d’Amazon Kendra que vous pourriez voir dans une réponse renvoyée. Amazon Bedrock obtient ces champs à partir de la réponse d’Amazon Kendra. Si cette réponse ne contient pas ces champs, le résultat de la requête renvoyé par Amazon Bedrock ne contiendra pas non plus ces champs.


| Champ | Description | 
| --- | --- | 
|  x-amz-kendra-document-title  |  Titre du document renvoyé.  | 
|  x-amz-kendra-score-confidence  |  Classement relatif de la pertinence de la réponse par rapport à la requête. Les valeurs possibles sont VERY\$1HIGH, HIGH, MEDIUM, LOW et NOT\$1AVAILABLE.  | 
|  x-amz-kendra-passage-id  |  ID du passage renvoyé.  | 
|  x-amz-kendra-document-id  |  ID du document renvoyé.  | 
|  DocumentAttributes  |  Attributs de documents ou champs de métadonnées provenant d’Amazon Kendra. Le résultat de la requête renvoyé par la base de connaissances les stocke sous forme de paires clé-valeur de métadonnées. Vous pouvez filtrer les résultats avec le filtre de métadonnées d’Amazon Bedrock. Pour plus d’informations, consultez [DocumentAttribute](https://docs.aws.amazon.com/kendra/latest/APIReference/API_DocumentAttribute.html).  | 

# Interrogation d’une base de connaissances connectée à un graphe d’analytique Amazon Neptune
<a name="kb-test-neptune"></a>

Vous pouvez interroger une base de connaissances qui utilise un graphe d’analytique Amazon Neptune et renvoyer uniquement le texte pertinent provenant de sources de données. Pour cette requête, envoyez une demande [https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent-runtime_Retrieve.html](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent-runtime_Retrieve.html) avec un [point de terminaison d’exécution Agents Amazon Bedrock](https://docs.aws.amazon.com/general/latest/gr/bedrock.html#bra-rt), par exemple avec une base de connaissances standard. Pour plus d’informations sur l’interrogation d’une base de connaissances, l’extraction de données et la génération de réponses, consultez :
+  [Interrogation d’une base de connaissances et extraction des données](kb-test-retrieve.md) 
+  [Interrogation d’une base de connaissances et génération de réponses basées sur les données récupérées](kb-test-retrieve-generate.md) 

La structure d’une réponse renvoyée par une base de connaissances avec un graphe d’analytique Amazon Neptune est identique à celle d’un [KnowledgeBaseRetrievalResult](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent-runtime_KnowledgeBaseRetrievalResult.html) standard. Cependant, la réponse inclut également quelques champs supplémentaires provenant d’Amazon Neptune.

Le tableau suivant décrit les champs d’analytique Neptune que vous pouvez voir dans une réponse renvoyée. Amazon Bedrock obtient ces champs à partir de la réponse de l’analytique Neptune. Si cette réponse ne contient pas ces champs, le résultat de la requête renvoyé par Amazon Bedrock ne contiendra pas non plus ces champs.


| Champ | Description | 
| --- | --- | 
|  x-amz-bedrock-kb-source-uri  |  URL Amazon S3 du document renvoyé.  | 
|  score  |  Mesure de distance qui indique dans quelle mesure une réponse correspond à la requête fournie, tandis que des valeurs faibles indiquent de meilleures correspondances.  | 
|  x-amz-bedrock-kb-data-source-id  |  ID de la source de données utilisée pour la base de connaissances.  | 
|  x-amz-bedrock-kb-chunk-id  |  ID du segment qui a été utilisé pour récupérer les informations relatives à la requête et générer la réponse.  | 
|  DocumentAttributes  |  Attributs de documents ou champs de métadonnées provenant d’Amazon Kendra. Le résultat de la requête renvoyé par la base de connaissances les stocke sous forme de paires clé-valeur de métadonnées. Vous pouvez filtrer les résultats avec le filtre de métadonnées d’Amazon Bedrock.  | 

## Utilisation des métadonnées et du filtrage
<a name="kb-test-neptune-metadata"></a>

Lorsque vous interrogez la base de connaissances et générez des réponses, vous pouvez filtrer les métadonnées pour trouver des documents plus pertinents. Vous pouvez, par exemple, filtrer sur la base de la date de publication du document. Vous pouvez utiliser la console Amazon Bedrock ou l’API d’exécution [https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent-runtime_RetrievalFilter.html](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent-runtime_RetrievalFilter.html) à cette fin, qui peuvent spécifier certaines conditions générales de filtrage.

Voici quelques considérations relatives à l’utilisation de l’API `RetrievalFilter` pour les graphes d’analytique Neptune.
+ Les filtres `startsWith` et `listContains` ne sont pas pris en charge.
+ La variante de liste du filtre `stringContains` n’est pas prise en charge.

Voici un exemple:

```
"vectorSearchConfiguration": {
        "numberOfResults": 5,
        "filter": {
            "orAll": [
                {
                    "andAll": [
                        {
                            "equals": {
                                "key": "genre",
                                "value": "entertainment"
                            }
                        },
                        {
                            "greaterThan": {
                                "key": "year",
                                "value": 2018
                            }
                        }
                    ]
                },
                {
                    "andAll": [                        
                        {
                            "startsWith": {
                                "key": "author",
                                "value": "C"
                            }
                        }
                    ]
                }
            ]
        }
    }
}
```

# Configuration et personnalisation de la génération de requêtes et de réponses
<a name="kb-test-config"></a>

Vous pouvez configurer et personnaliser l’extraction et la génération de réponses, afin d’améliorer encore la pertinence des réponses. Par exemple, vous pouvez appliquer des filtres aux métadonnées des documents fields/attributes afin d'utiliser les derniers documents mis à jour ou ceux dont la date de modification est récente.

**Note**  
Toutes les configurations suivantes, à l’exception de **Orchestration et génération**, ne s’appliquent qu’aux sources de données non structurées.

Pour plus d’informations sur ces configurations dans la console ou l’API, sélectionnez l’une des rubriques suivantes :

## Nombre de blocs source
<a name="kb-test-config-number"></a>

Lorsque vous interrogez une base de connaissances, Amazon Bedrock renvoie par défaut jusqu’à cinq résultats dans la réponse. Chaque résultat correspond à un segment source.

**Note**  
Le nombre réel de résultats dans la réponse peut être inférieur à la valeur `numberOfResults` spécifiée, car ce paramètre définit le nombre maximum de résultats à renvoyer. Si vous avez configuré le découpage hiérarchique pour votre stratégie de segmentation, le paramètre `numberOfResults` correspond au nombre de segments enfants que la base de connaissances extraira. Étant donné que les segments enfants qui partagent le même segment parent sont remplacés par le segment parent dans la réponse finale, le nombre de résultats renvoyés peut être inférieur au montant demandé.

Pour modifier le nombre maximum de résultats à renvoyer, choisissez l’onglet correspondant à votre méthode préférée, puis suivez les étapes :

------
#### [ Console ]

Suivez les étapes de la console sur [Interrogation d’une base de connaissances et extraction des données](kb-test-retrieve.md) ou[Interrogation d’une base de connaissances et génération de réponses basées sur les données récupérées](kb-test-retrieve-generate.md). Dans le volet **Configurations**, développez la section **Segments sources** et entrez le nombre maximum de segments sources à renvoyer.

------
#### [ API ]

Lorsque vous faites une [https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent-runtime_RetrieveAndGenerate.html](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent-runtime_RetrieveAndGenerate.html)demande [https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent-runtime_Retrieve.html](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent-runtime_Retrieve.html)ou, incluez un `retrievalConfiguration` champ mappé à un [KnowledgeBaseRetrievalConfiguration](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent-runtime_KnowledgeBaseRetrievalConfiguration.html)objet. Pour connaître l'emplacement de ce champ, reportez-vous aux corps de [https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent-runtime_RetrieveAndGenerate.html](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent-runtime_RetrieveAndGenerate.html)requête [https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent-runtime_Retrieve.html](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent-runtime_Retrieve.html)et dans la référence de l'API.

L'objet JSON suivant indique les champs minimaux requis dans l'[KnowledgeBaseRetrievalConfiguration](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent-runtime_KnowledgeBaseRetrievalConfiguration.html)objet pour définir le nombre maximal de résultats à renvoyer :

```
"retrievalConfiguration": {
    "vectorSearchConfiguration": {
        "numberOfResults": number
    }
}
```

Spécifiez le nombre maximum de résultats extraits (voir le `numberOfResults` champ [KnowledgeBaseRetrievalConfiguration](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent-runtime_KnowledgeBaseRetrievalConfiguration.html)pour connaître la plage de valeurs acceptées) à renvoyer dans le `numberOfResults` champ.

------

## Type de recherche
<a name="kb-test-config-search"></a>

Le type de recherche définit la manière dont les sources de données de la base de connaissances sont interrogées. Les types de recherche possibles sont les suivants :

**Note**  
La recherche hybride n'est prise en charge que pour les magasins vectoriels Amazon RDS, Amazon OpenSearch Serverless et MongoDB qui contiennent un champ de texte filtrable. Si vous utilisez un autre magasin de vecteurs ou si votre magasin de vecteurs ne contient pas de champ de texte filtrable, la requête utilise la recherche sémantique.
+ **Par défaut** : Amazon Bedrock décide de la stratégie de recherche à votre place.
+ **Hybride** : Combine la recherche de vectorisations (recherche sémantique) avec la recherche dans le texte brut.
+ **Sémantique** : recherche uniquement les vectorisations.

Pour apprendre à définir le type de recherche, choisissez l’onglet correspondant à votre méthode préférée, puis suivez les étapes :

------
#### [ Console ]

Suivez les étapes de la console sur [Interrogation d’une base de connaissances et extraction des données](kb-test-retrieve.md) ou[Interrogation d’une base de connaissances et génération de réponses basées sur les données récupérées](kb-test-retrieve-generate.md). Lorsque vous ouvrez le volet **Configurations**, développez la section **Type de recherche**, activez **Remplacer la recherche par défaut** et sélectionnez une option.

------
#### [ API ]

Lorsque vous faites une [https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent-runtime_RetrieveAndGenerate.html](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent-runtime_RetrieveAndGenerate.html)demande [https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent-runtime_Retrieve.html](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent-runtime_Retrieve.html)ou, incluez un `retrievalConfiguration` champ mappé à un [KnowledgeBaseRetrievalConfiguration](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent-runtime_KnowledgeBaseRetrievalConfiguration.html)objet. Pour connaître l'emplacement de ce champ, reportez-vous aux corps de [https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent-runtime_RetrieveAndGenerate.html](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent-runtime_RetrieveAndGenerate.html)requête [https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent-runtime_Retrieve.html](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent-runtime_Retrieve.html)et dans la référence de l'API.

L'objet JSON suivant indique les champs minimaux requis dans l'[KnowledgeBaseRetrievalConfiguration](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent-runtime_KnowledgeBaseRetrievalConfiguration.html)objet pour définir les configurations de type de recherche :

```
"retrievalConfiguration": {
    "vectorSearchConfiguration": {
        "overrideSearchType": "HYBRID | SEMANTIC"
    }
}
```

Spécifiez le type de recherche dans le champ `overrideSearchType`. Vous avez les options suivantes :
+ Si vous ne spécifiez pas de valeur, Amazon Bedrock choisit la stratégie de recherche la mieux adaptée à la configuration de votre magasin de vecteurs.
+ **HYBRIDE** : Amazon Bedrock interroge la base de connaissances en utilisant à la fois les vectorisations et le texte brut.
+ **SÉMANTIQUE** : Amazon Bedrock interroge la base de connaissances à l’aide de ses vectorisations.

------

## Streaming
<a name="kb-test-config-stream"></a>

------
#### [ Console ]

Suivez les étapes de la console décrites dans [Interrogation d’une base de connaissances et génération de réponses basées sur les données récupérées](kb-test-retrieve-generate.md). Lorsque vous ouvrez le volet **Configurations**, développez la section **Préférence de diffusion** et activez **Diffuser les réponses**.

------
#### [ API ]

Pour diffuser les réponses, utilisez l’API [https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent-runtime_RetrieveAndGenerateStream.html](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent-runtime_RetrieveAndGenerateStream.html). Pour plus de détails sur le remplissage des champs, consultez l’onglet **API** à la section [Interrogation d’une base de connaissances et génération de réponses basées sur les données récupérées](kb-test-retrieve-generate.md).

------

## Filtrage manuel des métadonnées
<a name="kb-test-config-filters"></a>

Vous pouvez appliquer des filtres fields/attributes au document pour améliorer encore la pertinence des réponses. Vos sources de données peuvent inclure des métadonnées attributes/fields de document à filtrer et peuvent spécifier les champs à inclure dans les intégrations.

Par exemple, « epoch\$1modification\$1time » représente le temps en secondes écoulé depuis le 1er janvier 1970 (UTC), date à laquelle le document a été mis à jour pour la dernière fois. Vous pouvez filtrer les données en fonction des plus récentes, pour lesquelles « epoch\$1modification\$1time » est *supérieur à* un certain nombre. Ces documents les plus récents peuvent être utilisés pour la requête.

Pour utiliser des filtres lorsque vous interrogez une base de connaissances, vérifiez que celle-ci répond aux exigences suivantes :
+ Lorsque vous configurez votre connecteur de source de données, la plupart des connecteurs explorent les principaux champs de métadonnées de vos documents. Si vous utilisez un compartiment Amazon S3 comme source de données, le compartiment doit inclure au moins un `fileName.extension.metadata.json` pour le fichier ou le document auquel il est associé. Consultez **Champs de métadonnées du document** dans [Configuration de la connexion](s3-data-source-connector.md#configuration-s3-connector) pour plus d’informations sur la configuration du fichier de métadonnées.
+ Si l'index vectoriel de votre base de connaissances se trouve dans un magasin de vecteurs Amazon OpenSearch Serverless, vérifiez que l'index vectoriel est configuré avec le `faiss` moteur. Si l’index vectoriel est configuré avec le moteur `nmslib`, vous devrez effectuer l’une des opérations suivantes :
  + [Créez une nouvelle base de connaissances](knowledge-base-create.md) dans la console et laissez Amazon Bedrock créer automatiquement un index vectoriel dans Amazon OpenSearch Serverless pour vous.
  + [Créer un autre index vectoriel](knowledge-base-setup.md) dans le magasin de vecteurs et sélectionner `faiss` comme **moteur** [Créer ensuite une base de connaissances](knowledge-base-create.md) et spécifier le nouvel index vectoriel
+ Si votre base de connaissances utilise un index vectoriel dans un compartiment vectoriel S3, vous ne pouvez pas utiliser les filtres `startsWith` et `stringContains`.
+ Si vous ajoutez des métadonnées à un index vectoriel existant dans un cluster de bases de données Amazon Aurora, nous vous recommandons de fournir le nom de champ de la colonne de métadonnées personnalisée afin de stocker toutes vos métadonnées dans une seule colonne. Lors de l’[ingestion de données](kb-data-source-sync-ingest.md), cette colonne sera utilisée pour remplir toutes les informations contenues dans vos fichiers de métadonnées à partir de vos sources de données. Si vous choisissez de remplir ce champ, vous devez créer un index sur cette colonne.
  + Lorsque vous [créez une nouvelle base de connaissances](knowledge-base-create.md) dans la console et que vous laissez Amazon Bedrock configurer votre base de données Amazon Aurora, il crée automatiquement une colonne unique pour vous et la remplit avec les informations de vos fichiers de métadonnées.
  + Lorsque vous choisissez de [créer un autre index vectoriel](knowledge-base-setup.md) dans le magasin de vecteurs, vous devez fournir le nom du champ de métadonnées personnalisé pour stocker les informations de vos fichiers de métadonnées. Si vous ne fournissez pas ce nom de champ, vous devez créer une colonne pour chaque attribut de métadonnées de vos fichiers et spécifier le type de données (texte, nombre ou booléen). Par exemple, si l’attribut `genre` existe dans votre source de données, vous devez ajouter une colonne nommée `genre` et spécifier `text` comme type de données. Pendant l’ingestion, ces colonnes distinctes seront remplies avec les valeurs d’attribut correspondantes.

*Si votre source de données contient des documents PDF et que vous utilisez Amazon OpenSearch Serverless pour votre boutique vectorielle : les bases de connaissances Amazon Bedrock généreront des numéros de page de document et les stockeront dans une métadonnée field/attribute appelée x-amz-bedrock-kb -. document-page-number* Notez que les numéros de page enregistrés dans un champ de métadonnées ne sont pas pris en charge si vous choisissez de ne pas segmenter vos documents.

Vous pouvez utiliser les opérateurs de filtrage suivants pour filtrer les résultats lorsque vous interrogez les éléments suivants :


**Opérateurs de filtrage**  

| Opérateur | Console | Nom du filtre d’API | Types de données d’attribut pris en charge | Résultats filtrés | 
| --- | --- | --- | --- | --- | 
| Égal à | = | [equals](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent-runtime_RetrievalFilter.html#bedrock-Type-agent-runtime_RetrievalFilter-equals) | chaîne, nombre, booléen | L'attribut correspond à la valeur que vous fournissez | 
| Non égal à | \$1= | [notEquals](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent-runtime_RetrievalFilter.html#bedrock-Type-agent-runtime_RetrievalFilter-notEquals) | chaîne, nombre, booléen | L’attribut ne correspond pas à la valeur que vous fournissez | 
| Supérieur à | > | [Plus grand que](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent-runtime_RetrievalFilter.html#bedrock-Type-agent-runtime_RetrievalFilter-greaterThan) | number | L’attribut est supérieur à la valeur que vous fournissez | 
| Supérieur ou égal à | >= | [greaterThanOrÉgal](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent-runtime_RetrievalFilter.html#bedrock-Type-agent-runtime_RetrievalFilter-greaterThanOrEquals) | number | L’attribut est supérieur ou égal à la valeur que vous fournissez | 
| Inférieur à | < | [Inférieur à](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent-runtime_RetrievalFilter.html#bedrock-Type-agent-runtime_RetrievalFilter-lessThan) | number | L’attribut est inférieur à la valeur que vous fournissez | 
| Inférieur ou égal à | <= | [lessThanOrÉgal](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent-runtime_RetrievalFilter.html#bedrock-Type-agent-runtime_RetrievalFilter-lessThanOrEquals) | number | L’attribut est inférieur ou égal à la valeur que vous fournissez | 
| Dans | : | [in](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent-runtime_RetrievalFilter.html#bedrock-Type-agent-runtime_RetrievalFilter-in) | liste de chaînes | L'attribut figure dans la liste que vous fournissez (actuellement, il est préférable de le prendre en charge avec les magasins OpenSearch vectoriels Amazon Serverless et Neptune Analytics GraphRag) | 
| Pas dans | \$1: | [Pas dedans](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent-runtime_RetrievalFilter.html#bedrock-Type-agent-runtime_RetrievalFilter-notIn) | liste de chaînes | L'attribut ne figure pas dans la liste que vous fournissez (actuellement, il est préférable de le prendre en charge avec les magasins OpenSearch vectoriels Amazon Serverless et Neptune Analytics GraphRag) | 
| La chaîne contient | Non disponible | [stringContains](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent-runtime_RetrievalFilter.html#bedrock-Type-agent-runtime_RetrievalFilter-stringContains) | chaîne | L’attribut doit être une chaîne. Le nom de l'attribut correspond à la clé et sa valeur est une chaîne contenant la valeur que vous avez fournie sous forme de sous-chaîne, ou une liste dont un membre contient la valeur que vous avez fournie sous forme de sous-chaîne (actuellement, il est préférable de le prendre en charge avec le magasin vectoriel Amazon OpenSearch Serverless). Le magasin vectoriel GraphRag de Neptune Analytics prend en charge la variante de chaîne (mais pas la variante de liste de ce filtre). | 
| La liste contient | Non disponible | [listContains](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent-runtime_RetrievalFilter.html#bedrock-Type-agent-runtime_RetrievalFilter-listContains) | chaîne | L’attribut doit être une liste de chaînes. Le nom de l'attribut correspond à la clé et sa valeur est une liste contenant la valeur que vous avez fournie en tant que membre (actuellement, il est préférable de le prendre en charge avec les boutiques vectorielles Amazon OpenSearch Serverless). | 

Pour combiner les opérateurs de filtrage, vous pouvez utiliser les opérateurs logiques suivants :


**Opérateurs logiques**  

| Opérateur | Console | Nom de champ de filtre d’API | Résultats filtrés | 
| --- | --- | --- | --- | 
| Et | and | [andAll](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent-runtime_RetrievalFilter.html#bedrock-Type-agent-runtime_RetrievalFilter-andAll) | Les résultats répondent à toutes les expressions de filtrage du groupe | 
| Or | or | [orAll](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent-runtime_RetrievalFilter.html#bedrock-Type-agent-runtime_RetrievalFilter-orAll) | Les résultats répondent à au moins toutes les expressions de filtrage du groupe | 

Pour apprendre à filtrer les résultats à l’aide de métadonnées, choisissez l’onglet correspondant à votre méthode préférée, puis suivez les étapes :

------
#### [ Console ]

Suivez les étapes de la console sur [Interrogation d’une base de connaissances et extraction des données](kb-test-retrieve.md) ou[Interrogation d’une base de connaissances et génération de réponses basées sur les données récupérées](kb-test-retrieve-generate.md). Lorsque vous ouvrez le volet **Configurations**, vous verrez une section **Filtres**. Les procédures suivantes décrivent différents cas d’utilisation :
+ Pour ajouter un filtre, créez une expression de filtrage en saisissant un attribut de métadonnées, un opérateur de filtrage et une valeur dans le champ. Séparez chaque partie de l’expression par un espace. Appuyez sur **Entrée** pour ajouter le filtre.

  Pour obtenir la liste des opérateurs de filtrage acceptés, consultez le tableau **Opérateurs de filtrage** ci-dessus. Vous pouvez également voir une liste d’opérateurs de filtrage lorsque vous ajoutez un espace après l’attribut de métadonnées.
**Note**  
Vous devez placer les chaînes entre guillemets.

  Par exemple, vous pouvez filtrer les résultats des documents source contenant un attribut de métadonnées `genre` dont la valeur est `"entertainment"` en ajoutant le filtre suivant : **genre = "entertainment"**.  
![\[Ajoutez un filtre.\]](http://docs.aws.amazon.com/fr_fr/bedrock/latest/userguide/images/kb/filter-one.png)
+ Pour ajouter un autre filtre, entrez une autre expression de filtrage dans le champ et appuyez sur **Entrée**. Vous pouvez ajouter jusqu’à 5 filtres au groupe.  
![\[Ajoutez un autre filtre.\]](http://docs.aws.amazon.com/fr_fr/bedrock/latest/userguide/images/kb/filter-more.png)
+ Par défaut, la requête renvoie des résultats qui répondent à toutes les expressions de filtrage que vous fournissez. Pour renvoyer des résultats qui répondent à au moins une des expressions de filtrage, choisissez le menu déroulant **et** entre deux opérations de filtrage, puis sélectionnez **ou**.  
![\[Modifiez l’opération logique entre les filtres.\]](http://docs.aws.amazon.com/fr_fr/bedrock/latest/userguide/images/kb/filter-logical.png)
+ Pour combiner différents opérateurs logiques, sélectionnez **\$1 Ajouter un groupe** pour ajouter un groupe de filtres. Entrez les expressions de filtrage dans le nouveau groupe. Vous pouvez ajouter jusqu’à 5 groupes de filtres.  
![\[Ajoutez un groupe de filtres pour combiner différents opérateurs logiques.\]](http://docs.aws.amazon.com/fr_fr/bedrock/latest/userguide/images/kb/filter-group.png)
+ Pour modifier l’opérateur logique utilisé entre tous les groupes de filtrage, choisissez le menu déroulant **ET** entre deux groupes de filtres et sélectionnez **OU**.  
![\[Modifiez l’opération logique entre les groupes de filtres.\]](http://docs.aws.amazon.com/fr_fr/bedrock/latest/userguide/images/kb/filter-group-logical.png)
+ Pour modifier un filtre, sélectionnez-le, modifiez l’opération de filtrage, puis choisissez **Appliquer**.  
![\[Modifiez un filtre.\]](http://docs.aws.amazon.com/fr_fr/bedrock/latest/userguide/images/kb/filter-edit.png)
+ Pour supprimer un groupe de filtres, cliquez sur l’icône de corbeille (![\[Trapezoid-shaped diagram showing data flow from source to destination through AWS Transfer Family.\]](http://docs.aws.amazon.com/fr_fr/bedrock/latest/userguide/images/icons/trash.png)) en regard du groupe. Pour supprimer un filtre, choisissez l’icône de suppression (![\[Close or cancel icon represented by an "X" symbol.\]](http://docs.aws.amazon.com/fr_fr/bedrock/latest/userguide/images/icons/close.png)) en regard du filtre.  
![\[Supprimez un filtre ou un groupe de filtres.\]](http://docs.aws.amazon.com/fr_fr/bedrock/latest/userguide/images/kb/filter-delete.png)

L’image suivante montre un exemple de configuration de filtre qui renvoie tous les documents écrits après **2018** dont le genre est **"entertainment"**, en plus des documents dont le genre est **"cooking"** ou **"sports"** et dont l’auteur commence par **"C"**.

![\[Exemple de configuration de filtre.\]](http://docs.aws.amazon.com/fr_fr/bedrock/latest/userguide/images/kb/filter-example.png)


------
#### [ API ]

Lorsque vous faites une [https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent-runtime_RetrieveAndGenerate.html](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent-runtime_RetrieveAndGenerate.html)demande [https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent-runtime_Retrieve.html](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent-runtime_Retrieve.html)ou, incluez un `retrievalConfiguration` champ mappé à un [KnowledgeBaseRetrievalConfiguration](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent-runtime_KnowledgeBaseRetrievalConfiguration.html)objet. Pour connaître l'emplacement de ce champ, reportez-vous aux corps de [https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent-runtime_RetrieveAndGenerate.html](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent-runtime_RetrieveAndGenerate.html)requête [https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent-runtime_Retrieve.html](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent-runtime_Retrieve.html)et dans la référence de l'API.

Les objets JSON suivants indiquent les champs minimaux requis dans l'[KnowledgeBaseRetrievalConfiguration](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent-runtime_KnowledgeBaseRetrievalConfiguration.html)objet pour définir des filtres pour différents cas d'utilisation :

1. Utilisez un opérateur de filtrage (consultez le tableau des **Opérateurs de filtrage** ci-dessus).

   ```
   "retrievalConfiguration": {
       "vectorSearchConfiguration": {
           "filter": {
               "<filter-type>": {
                   "key": "string",
                   "value": "string" | number | boolean | ["string", "string", ...]
               }
           }
       }
   }
   ```

1. Utilisez un opérateur logique (consultez le tableau **Opérateurs logiques** ci-dessus) pour en combiner jusqu’à 5.

   ```
   "retrievalConfiguration": {
       "vectorSearchConfiguration": {
           "filter": {
               "andAll | orAll": [
                   "<filter-type>": {
                       "key": "string",
                       "value": "string" | number | boolean | ["string", "string", ...]
                   },
                   "<filter-type>": {
                       "key": "string",
                       "value": "string" | number | boolean | ["string", "string", ...]
                   },
                   ...
               ]
           }
       }
   }
   ```

1. Utilisez un opérateur logique pour combiner jusqu’à 5 opérateurs de filtrage dans un groupe de filtres, et un second opérateur logique pour combiner ce groupe de filtres avec un autre opérateur de filtrage.

   ```
   "retrievalConfiguration": {
       "vectorSearchConfiguration": {
           "filter": {
               "andAll | orAll": [
                   "andAll | orAll": [
                       "<filter-type>": {
                           "key": "string",
                           "value": "string" | number | boolean | ["string", "string", ...]
                       },
                       "<filter-type>": {
                           "key": "string",
                           "value": "string" | number | boolean | ["string", "string", ...]
                       },
                       ...
                   ],
                   "<filter-type>": {
                       "key": "string",
                       "value": "string" | number | boolean | ["string", "string", ...]
                   }
               ]
           }
       }
   }
   ```

1. Combinez jusqu’à 5 groupes de filtres en les intégrant dans un autre opérateur logique. Vous pouvez créer un niveau d’intégration.

   ```
   "retrievalConfiguration": {
       "vectorSearchConfiguration": {
           "filter": {
               "andAll | orAll": [
                   "andAll | orAll": [
                       "<filter-type>": {
                           "key": "string",
                           "value": "string" | number | boolean | ["string", "string", ...]
                       },
                       "<filter-type>": {
                           "key": "string",
                           "value": "string" | number | boolean | ["string", "string", ...]
                       },
                       ...
                   ],
                   "andAll | orAll": [
                       "<filter-type>": {
                           "key": "string",
                           "value": "string" | number | boolean | ["string", "string", ...]
                       },
                       "<filter-type>": {
                           "key": "string",
                           "value": "string" | number | boolean | ["string", "string", ...]
                       },
                       ...
                   ]
               ]
           }
       }
   }
   ```

Le tableau suivant décrit les types de filtre que vous pouvez utiliser :


****  

| Champ | Types de données de valeur pris en charge | Résultats filtrés | 
| --- | --- | --- | 
| equals | chaîne, nombre, booléen | L'attribut correspond à la valeur que vous fournissez | 
| notEquals | chaîne, nombre, booléen | L’attribut ne correspond pas à la valeur que vous fournissez  | 
| greaterThan | number | L’attribut est supérieur à la valeur que vous fournissez | 
| greaterThanOrEquals | number | L’attribut est supérieur ou égal à la valeur que vous fournissez | 
| lessThan | number | L’attribut est inférieur à la valeur que vous fournissez  | 
| lessThanOrEquals | number | L’attribut est inférieur ou égal à la valeur que vous fournissez | 
| in | liste de chaînes | L’attribut se trouve dans la liste que vous fournissez | 
| notIn | liste de chaînes | L’attribut ne se trouve pas dans la liste que vous fournissez | 
| startsWith | chaîne | L'attribut commence par la chaîne que vous fournissez (uniquement pris en charge pour les boutiques vectorielles Amazon OpenSearch Serverless) | 

Pour combiner les types de filtre, vous pouvez utiliser l’un des opérateurs logiques suivants :


****  

| Champ | Est mappé à | Résultats filtrés | 
| --- | --- | --- | 
| andAll | Liste de 5 types de filtres au maximum | Les résultats répondent à toutes les expressions de filtrage du groupe | 
| orAll | Liste de 5 types de filtres au maximum | Les résultats répondent à au moins toutes les expressions de filtrage du groupe | 

Pour des exemples, voir [Envoyer une requête et inclure des filtres (Retrieve)](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent-runtime_Retrieve.html#API_agent-runtime_Retrieve_Example_2) et [Envoyer une requête et inclure des filtres (RetrieveAndGenerate)](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent-runtime_RetrieveAndGenerate.html#API_agent-runtime_RetrieveAndGenerate_Example_2).

------

## Filtrage implicite de métadonnées
<a name="kb-test-config-implicit"></a>

La base de connaissances Amazon Bedrock génère et applique un filtre d’extraction basé sur la requête utilisateur et un schéma de métadonnées.

**Note**  
La fonctionnalité ne fonctionne actuellement qu’avec Anthropic Claude 3.5 Sonnet.

`implicitFilterConfiguration` est spécifié dans le corps `vectorSearchConfiguration` de la demande [https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent-runtime_Retrieve.html](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent-runtime_Retrieve.html). Incluez les champs suivants :
+ `metadataAttributes` : dans ce tableau, fournissez des schémas décrivant les attributs de métadonnées pour lesquels le modèle générera un filtre.
+ `modelArn` : ARN du modèle à utiliser.

Voici un exemple de schéma de métadonnées que vous pouvez ajouter à la matrice `metadataAttributes`.

```
[
    {
        "key": "company",
        "type": "STRING",
        "description": "The full name of the company. E.g. `Amazon.com, Inc.`, `Alphabet Inc.`, etc"
    },
    {
        "key": "ticker",
        "type": "STRING",
        "description": "The ticker name of a company in the stock market, e.g. AMZN, AAPL"
    },
    {
        "key": "pe_ratio",
        "type": "NUMBER",
        "description": "The price to earning ratio of the company. This is a measure of valuation of a company. The lower the pe ratio, the company stock is considered chearper."
    },
    {
        "key": "is_us_company",
        "type": "BOOLEAN",
        "description": "Indicates whether the company is a US company."
    },
    {
        "key": "tags",
        "type": "STRING_LIST",
        "description": "Tags of the company, indicating its main business. E.g. `E-commerce`, `Search engine`, `Artificial intelligence`, `Cloud computing`, etc"
    }
]
```

## Barrières de protection
<a name="kb-test-config-guardrails"></a>

Vous pouvez mettre en œuvre des mesures de protection pour votre base de connaissances, vos cas d’utilisation et les politiques d’IA responsables. Vous pouvez créer plusieurs barrières de protection adaptées à différents cas d’utilisation et les appliquer à de multiples conditions de demande et de réponse, afin d’offrir une expérience utilisateur cohérente et de standardiser les contrôles de sécurité dans votre base de connaissances. Vous pouvez configurer les sujets refusés pour interdire les sujets indésirables et les filtres de contenu pour bloquer le contenu préjudiciable dans les entrées et les réponses du modèle. Pour de plus amples informations, veuillez consulter [Détection et filtrage des contenus préjudiciables à l’aide des barrières de protection Amazon Bedrock](guardrails.md).

**Note**  
L’utilisation de barrières de protection pour les bases de connaissances n’est actuellement pas prise en charge sur Claude 3, Sonnet et Haiku.

Pour les directives générales d’ingénierie de requête, consultez [Concepts d’ingénierie de requête](prompt-engineering-guidelines.md).

Choisissez l’onglet correspondant à votre méthode préférée, puis suivez les étapes :

------
#### [ Console ]

Suivez les étapes de la console sur [Interrogation d’une base de connaissances et extraction des données](kb-test-retrieve.md) ou[Interrogation d’une base de connaissances et génération de réponses basées sur les données récupérées](kb-test-retrieve-generate.md). Dans la fenêtre de test, activez **Générer des réponses**. Ensuite, dans le volet **Configurations**, développez la section **Barrières de protection**.

1. Dans la section **Barrières de protection**, choisissez le **Nom** et la **version** de votre barrière de protection. Si vous souhaitez voir les détails de la barrière de protection et de la version que vous avez choisis, choisissez **Afficher**.

   Vous pouvez également en créer une nouvelle en choisissant le lien **Barrière de protection**.

1. Lorsque vous avez terminé les modifications, choisissez **Enregistrer les modifications**. Pour quitter sans enregistrer les modifications, choisissez **Supprimer les modifications**.

------
#### [ API ]

Lorsque vous faites une demande [https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent-runtime_RetrieveAndGenerate.html](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent-runtime_RetrieveAndGenerate.html), incluez le champ `guardrailConfiguration` dans `generationConfiguration` pour utiliser votre barrière de protection avec la demande. Pour connaître l’emplacement de ce champ, reportez-vous au corps de demande [https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent-runtime_RetrieveAndGenerate.html](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent-runtime_RetrieveAndGenerate.html) dans la Référence des API.

L'objet JSON suivant indique les champs [GenerationConfiguration](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent-runtime_GenerationConfiguration.html)minimaux requis pour définir `guardrailConfiguration` :

```
"generationConfiguration": {
    "guardrailConfiguration": {
        "guardrailId": "string",
        "guardrailVersion": "string"
    }
}
```

Spécifiez les valeurs `guardrailId` et `guardrailVersion` des barrières de protection que vous avez choisies. 

------

## Reclassement
<a name="kb-test-config-rerank"></a>

Vous pouvez utiliser un modèle de reclassement pour reclasser les résultats d’une requête de la base de connaissances. Suivez les étapes de la console sur [Interrogation d’une base de connaissances et extraction des données](kb-test-retrieve.md) ou[Interrogation d’une base de connaissances et génération de réponses basées sur les données récupérées](kb-test-retrieve-generate.md). Lorsque vous ouvrez le volet **Configurations**, développez la section **Reclassement**. Sélectionnez un modèle de reclassement, mettez à jour les autorisations si nécessaire et modifiez les options supplémentaires. Entrez une invite et sélectionnez **Exécuter** pour tester les résultats après le reclassement.

## Décomposition des requêtes
<a name="kb-test-query-modifications"></a>

La décomposition des requêtes est une technique utilisée pour décomposer une requête complexe en sous-requêtes plus petites et plus faciles à gérer. Cette approche peut aider à extraire des informations plus précises et pertinentes, en particulier lorsque la requête initiale comporte plusieurs facettes ou est trop large. L’activation de cette option peut entraîner l’exécution de plusieurs requêtes dans votre base de connaissances, ce qui peut contribuer à une réponse finale plus précise.

Par exemple, pour une question du type *« Qui a obtenu le meilleur score lors de la Coupe du Monde de la FIFA 2022, l’Argentine ou la France ? »*, les bases de connaissances Amazon Bedrock peuvent d’abord générer les sous-requêtes suivantes, avant de générer une réponse finale :

1. *Combien de buts l’Argentine a-t-elle marqués lors de la finale de la Coupe du Monde de la FIFA 2022 ?*

1. *Combien de buts la France a-t-elle marqués lors de la finale de la Coupe du Monde de la FIFA 2022 ?*

------
#### [ Console ]

1. Créez et synchronisez une source de données ou utilisez une base de connaissances existante.

1. Accédez à la fenêtre de test et ouvrez le panneau de configuration.

1. Activez la décomposition des requêtes.

------
#### [ API ]

```
POST /retrieveAndGenerate HTTP/1.1
Content-type: application/json
{
   "input": {
      "text": "string"
   },
   "retrieveAndGenerateConfiguration": {
      "knowledgeBaseConfiguration": {
         "orchestrationConfiguration": { // Query decomposition
           "queryTransformationConfiguration": {
                "type": "string" // enum of QUERY_DECOMPOSITION
           }
         },
...}
}
```

------

## Paramètres d'inférence
<a name="kb-test-model-params"></a>

Lorsque vous générez des réponses basées sur l’extraction d’informations, vous pouvez utiliser des [paramètres d’inférence](inference-parameters.md) pour mieux contrôler le comportement du modèle pendant l’inférence et influencer les sorties du modèle.

Pour découvrir comment modifier les paramètres d’influence, choisissez l’onglet correspondant à votre méthode préférée, puis suivez les étapes :

------
#### [ Console ]

**Pour modifier les paramètres d’inférence lorsque vous interrogez une base de connaissances**, suivez les étapes de la console décrites dans [Interrogation d’une base de connaissances et extraction des données](kb-test-retrieve.md) ou [Interrogation d’une base de connaissances et génération de réponses basées sur les données récupérées](kb-test-retrieve-generate.md). Lorsque vous ouvrez le volet **Configurations**, vous verrez une section **Paramètres d’inférence**. Modifiez les paramètres selon vos besoins.

**Pour modifier les paramètres d’inférence lorsque vous discutez avec votre document**, suivez les étapes décrites dans [Discussion avec votre document sans configuration de base de connaissances](knowledge-base-chatdoc.md). Dans le volet **Configurations**, développez la section **Paramètres d’inférence** et modifiez les paramètres si nécessaire.

------
#### [ API ]

Vous fournissez les paramètres du modèle lors de l’appel de l’API [https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent-runtime_RetrieveAndGenerate.html](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent-runtime_RetrieveAndGenerate.html). Vous pouvez personnaliser le modèle en fournissant des paramètres d’inférence dans le champ `inferenceConfig` de `knowledgeBaseConfiguration` (si vous interrogez une base de connaissances) ou de `externalSourcesConfiguration` (si vous [discutez avec votre document](knowledge-base-chatdoc.md)).

Le champ `inferenceConfig` contient un champ `textInferenceConfig` qui contient les paramètres suivants que vous pouvez :
+ temperature
+ topP
+ maxTokenCount
+ stopSequences

Vous pouvez personnaliser le modèle en utilisant les paramètres suivants dans le champ `inferenceConfig` de `externalSourcesConfiguration` et `knowledgeBaseConfiguration` : 
+ temperature
+ topP
+ maxTokenCount
+ stopSequences

Pour une explication détaillée de la fonction de chacun de ces paramètres, consultez [Génération de réponse d’influence à l’aide de paramètres d’inférence](inference-parameters.md).

En outre, vous pouvez fournir des paramètres personnalisés qui ne sont pas pris en charge par `textInferenceConfig` via la carte `additionalModelRequestFields`. Vous pouvez fournir des paramètres uniques à des modèles spécifiques avec cet argument. Pour les paramètres uniques, consultez [Paramètres de demande d’inférence et champs de réponse pour les modèles de fondation](model-parameters.md).

Si un paramètre est omis de `textInferenceConfig`, une valeur par défaut sera utilisée. Tout paramètre non reconnu dans `textInferneceConfig` sera ignoré, tandis que tout paramètre non reconnu dans `AdditionalModelRequestFields` provoquera une exception. 

Une exception de validation est émise s’il existe le même paramètre dans à la fois `additionalModelRequestFields` et `TextInferenceConfig`.

**Utilisation des paramètres du modèle dans RetrieveAndGenerate**

 Voici un exemple de structure pour `inferenceConfig` et `additionalModelRequestFields` sous `generationConfiguration` dans le corps de demande `RetrieveAndGenerate` :

```
"inferenceConfig": {
    "textInferenceConfig": {
        "temperature": 0.5,  
        "topP": 0.5,
        "maxTokens": 2048,
        "stopSequences": ["\nObservation"]
    }
},
"additionalModelRequestFields": {
    "top_k": 50
}
```

 L’exemple suivant définit une valeur `temperature` de 0,5, `top_p` de 0,5 ou `maxTokens` de 2 048, arrête la génération s’il rencontre la chaîne « \$1nObservation » dans la réponse générée et transmet une valeur `top_k` personnalisée de 50. 

------

## Modèles d’invite de base de connaissances : orchestration et génération
<a name="kb-test-config-prompt-template"></a>

Lorsque vous interrogez une base de données et demandez la génération d’une réponse, Amazon Bedrock utilise un modèle d’invite qui combine les instructions et le contexte avec la requête de l’utilisateur pour construire l’invite de génération qui est envoyée au modèle pour la génération de réponses. Vous pouvez également personnaliser l’invite d’orchestration, qui transforme l’invite de l’utilisateur en requête de recherche. Lorsque vous modifiez les modèles d’invite à l’aide des outils suivants :
+ **Espaces réservés à l’invite** : variables prédéfinies dans les bases de connaissances Amazon Bedrock qui sont renseignées dynamiquement au moment de l’exécution lors de l’interrogation de la base de connaissances. Dans l’invite du système, vous verrez ces espaces réservés entourés du symbole `$`. La liste suivante décrit les espaces réservés que vous pouvez utiliser :
**Note**  
L’espace réservé `$output_format_instructions$` est un champ obligatoire pour que les citations soient affichées dans la réponse.  
****    
[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/fr_fr/bedrock/latest/userguide/kb-test-config.html)
+ **Balises XML** : les modèles Anthropic prennent en charge l’utilisation de balises XML pour structurer et délimiter vos invites. Utilisez des noms de balises descriptifs pour des résultats optimaux. Par exemple, dans l’invite système par défaut, vous verrez la balise `<database>` utilisée pour délimiter une base de données de questions précédemment posées). Pour plus d’informations, consultez [Utiliser des balises XML](https://docs.anthropic.com/claude/docs/use-xml-tags) dans le [Guide de l’utilisateur Anthropic](https://docs.anthropic.com/en/docs/welcome).

Pour les directives générales d’ingénierie de requête, consultez [Concepts d’ingénierie de requête](prompt-engineering-guidelines.md).

Choisissez l’onglet correspondant à votre méthode préférée, puis suivez les étapes :

------
#### [ Console ]

Suivez les étapes de la console sur [Interrogation d’une base de connaissances et extraction des données](kb-test-retrieve.md) ou[Interrogation d’une base de connaissances et génération de réponses basées sur les données récupérées](kb-test-retrieve-generate.md). Dans la fenêtre de test, activez **Générer des réponses**. Ensuite, dans le volet **Configurations**, développez la section **modèle d’invite de la base de connaissances**.

1. Choisissez **Modifier**.

1. Modifiez l’invite système dans l’éditeur de texte, en incluant les espaces réservés aux invites et les balises XML si nécessaire. Pour revenir au modèle d’invite par défaut, sélectionnez **Restauration**.

1. Lorsque vous avez terminé les modifications, choisissez **Enregistrer les modifications**. Pour quitter sans enregistrer l’invite du système, choisissez **Ignorer les modifications**.

------
#### [ API ]

Lorsque vous faites une [https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent-runtime_RetrieveAndGenerate.html](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent-runtime_RetrieveAndGenerate.html)demande, incluez un `generationConfiguration` champ mappé à un [GenerationConfiguration](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent-runtime_GenerationConfiguration.html)objet. Pour connaître l’emplacement de ce champ, reportez-vous au corps de demande [https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent-runtime_RetrieveAndGenerate.html](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent-runtime_RetrieveAndGenerate.html) dans la Référence des API.

L'objet JSON suivant indique les champs minimaux requis dans l'[GenerationConfiguration](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent-runtime_GenerationConfiguration.html)objet pour définir le nombre maximal de résultats extraits à renvoyer :

```
"generationConfiguration": {
    "promptTemplate": {
        "textPromptTemplate": "string"
    }
}
```

Entrez votre modèle d’invite personnalisé dans le champ `textPromptTemplate`, y compris les espaces réservés aux invites et les balises XML si nécessaire. Pour connaître le nombre maximal de caractères autorisés dans l'invite du système, consultez le `textPromptTemplate` champ dans [GenerationConfiguration](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent-runtime_GenerationConfiguration.html).

------

# Configuration de la génération de réponses pour les modèles de raisonnement avec les bases de connaissances
<a name="kb-test-configure-reasoning"></a>

Certains modèles de fondation peuvent effectuer un raisonnement modélisé, dans le cadre duquel ils prennent une tâche plus vaste et complexe et la décomposent en étapes plus petites et plus simples. Ce processus, souvent appelé raisonnement fondé sur la chaîne de pensée (CoT), peut améliorer la précision du modèle en lui donnant la possibilité de réfléchir avant de réagir. Le raisonnement modélisé est particulièrement utile pour des tâches telles que l’analyse en plusieurs étapes, les problèmes mathématiques et les tâches de raisonnement complexes. Pour plus d’informations, consultez [Amélioration des réponses des modèles grâce au raisonnement modélisé](inference-reasoning.md).

**Note**  
Cette page explique comment utiliser la configuration de raisonnement spécifiquement pour les bases de connaissances Amazon Bedrock. Pour plus d’informations sur la configuration du raisonnement pour l’invocation directe du modèle à l’aide de l’API `InvokeModel`, consultez [Amélioration des réponses des modèles grâce au raisonnement modélisé](inference-reasoning.md).

Lorsque le raisonnement modélisé est activé, il peut améliorer la précision avec de meilleurs résultats de citation, mais peut également entraîner une augmentation de la latence. Voici quelques points à prendre en compte lorsque vous interrogez les sources de données et générez des réponses à l’aide de modèles de raisonnement basés sur les bases de connaissances Amazon Bedrock.

**Topics**
+ [Modèles de raisonnement](#kb-test-reasoning-models)
+ [Utilisation du raisonnement modélisé pour Claude 3.7 Sonnet](#kb-test-reasoning-using)
+ [Considérations d’ordre général](#kb-test-reasoning-general-considerations)
+ [Considérations d’API relatives à l’extraction et la génération](#kb-test-reasoning-api-considerations)

## Modèles de raisonnement
<a name="kb-test-reasoning-models"></a>

Le raisonnement modélisé est disponible pour les modèles suivants.


| Modèle de fondation | ID du modèle | Nombre de jetons | Configuration du raisonnement | 
| --- | --- | --- | --- | 
| Anthropic Claude Opus 4 | anthropic.claude-opus-4-20250514-v1:0 | Ce modèle comportera 32 768 jetons, qui incluent à la fois des jetons de sortie et des jetons de raisonnement. | Le raisonnement peut être activé ou désactivé pour ce modèle à l’aide d’un budget de jetons configurable. Par défaut, le raisonnement est désactivé. | 
| Anthropic Claude Sonnet 4 | anthropic.claude-sonnet-4-20250514-v1:0 | Ce modèle comportera 65 536 jetons, qui incluent à la fois des jetons de sortie et des jetons de raisonnement. | Le raisonnement peut être activé ou désactivé pour ce modèle à l’aide d’un budget de jetons configurable. Par défaut, le raisonnement est désactivé. | 
| Anthropic Claude 3.7 Sonnet | anthropic.claude-3-7-sonnet-20250219-v1:0 | Ce modèle comportera 65 536 jetons, qui incluent à la fois des jetons de sortie et des jetons de raisonnement. | Le raisonnement peut être activé ou désactivé pour ce modèle à l’aide d’un budget de jetons configurable. Par défaut, le raisonnement est désactivé. | 
| DeepSeek DeepSeek-R1 | deepseek.r1-v1:0 | Ce modèle comportera 8 192 jetons, qui incluent à la fois des jetons de sortie et des jetons de raisonnement. Le nombre de jetons de réflexion ne peut pas être configuré et le nombre maximum de jetons de sortie ne doit pas être supérieur à 8 192. | Le raisonnement est toujours activé pour ce modèle. Le modèle ne prend pas en charge l’activation ou la désactivation de la capacité de raisonnement. | 

## Utilisation du raisonnement modélisé pour Claude 3.7 Sonnet
<a name="kb-test-reasoning-using"></a>

**Note**  
Le raisonnement modélisé est toujours activé pour le modèle DeepSeek-R1. Le modèle ne prend pas en charge l’activation ou la désactivation de la capacité de raisonnement.

Lorsque vous utilisez le modèle Claude 3.7 Sonnet, le raisonnement modélisé peut être activé ou désactivé à l’aide du paramètre `additionalModelRequestFields` de l’API [https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent-runtime_RetrieveAndGenerate.html](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent-runtime_RetrieveAndGenerate.html). Ce paramètre accepte toutes les paires clé-valeur. Par exemple, vous pouvez ajouter un champ `reasoningConfig` et utiliser une clé `type` pour activer ou désactiver le raisonnement, comme indiqué ci-dessous.

```
{
   "input": { 
      "text": "string",
      "retrieveAndGenerateConfiguration": { 
      "knowledgeBaseConfiguration": { 
         "generationConfiguration": { 
            "additionalModelRequestFields": {
                "reasoningConfig" : {
                    "type": "enabled",
                    "budget_tokens": INT_VAL, #required when enabled
                }
            }
         },
         "knowledgeBaseId": "string",
      },
      "type": "string"
   },
   "sessionId": "string"
}
```

## Considérations d’ordre général
<a name="kb-test-reasoning-general-considerations"></a>

Voici quelques considérations générales relatives à l’utilisation des modèles de raisonnement pour les bases de connaissances.
+ Les modèles de raisonnement auront jusqu’à cinq minutes pour répondre à une requête. Si le modèle met plus de cinq minutes à répondre à la requête, cela entraîne un délai d’attente.
+ Pour éviter de dépasser le délai de cinq minutes, le raisonnement du modèle est activé uniquement à l’étape de génération lorsque vous configurez vos requêtes et la génération de réponses. L’étape d’orchestration ne peut pas reposer sur le raisonnement du modèle.
+ Les modèles de raisonnement peuvent utiliser jusqu’à 8 192 jetons pour répondre aux requêtes, qui incluront à la fois les jetons de sortie et les jetons de réflexion. Toute demande demandant un nombre maximum de jetons de sortie supérieur à cette limite entraînera une erreur.

## Considérations d’API relatives à l’extraction et la génération
<a name="kb-test-reasoning-api-considerations"></a>

Voici quelques points à prendre en compte lors de l’utilisation de l’API [https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent-runtime_RetrieveAndGenerate.html](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent-runtime_RetrieveAndGenerate.html) pour les modèles de raisonnement.
+ Par défaut, lorsque le raisonnement est désactivé pour tous les modèles, y compris le Claude 3.7 Sonnet, la température est réglée sur zéro. Lorsque le raisonnement est activé, la température doit être réglée sur un.

  ```
  "inferenceConfig": {
      "textInferenceConfig": {
          "maxTokens": 8192,
          "temperature": 1
      }
  }
  ```
+ Le paramètre Top P doit être désactivé lorsque le raisonnement est activé pour le modèle Claude 3.7 Sonnet. Top P est un champ de demande de modèle supplémentaire qui détermine le percentile des jetons possibles à sélectionner lors de la génération. Par défaut, la valeur Top P pour les autres modèles d’Anthropic Claude est de un. Pour le modèle Claude 3.7 Sonnet, cette valeur sera désactivée par défaut.
+ Lorsque le raisonnement modélisé est utilisé, cela peut entraîner une augmentation des temps de latence. Lorsque vous utilisez cette opération d’API et l’opération d’API [https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent-runtime_RetrieveAndGenerateStream.html](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent-runtime_RetrieveAndGenerateStream.html), vous remarquerez peut-être un retard dans la réception de la réponse de l’API.

# Déploiement de votre base de connaissances pour votre application d’IA
<a name="knowledge-base-deploy"></a>

Pour déployer une base de connaissances pour votre application, configurez-la de sorte qu’elle envoie des demandes [https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent-runtime_Retrieve.html](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent-runtime_Retrieve.html) ou [https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent-runtime_RetrieveAndGenerate.html](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent-runtime_RetrieveAndGenerate.html) à la base de connaissances. Pour découvrir comment utiliser ces opérations d’API à des fins d’interrogation et de génération de réponses, consultez [Test de votre base de connaissances avec des requêtes et des réponses](knowledge-base-test.md).

Vous pouvez également associer la base de connaissances à un agent, qui l’invoque si nécessaire pendant l’orchestration. Pour plus d’informations, consultez [Automatisation des tâches de votre application à l’aide d’agents d’IA](agents.md).

Vous devez configurer et synchroniser votre ou vos sources de données avec votre base de connaissances avant de pouvoir déployer cette dernière. Consultez [Sources de données prises en charge](https://docs.aws.amazon.com/bedrock/latest/userguide/data-source-connectors.html).

Choisissez l’onglet correspondant à votre méthode préférée, puis suivez les étapes :

------
#### [ Console ]

**Pour associer une base de connaissances à un agent**

1. Connectez-vous à la AWS Management Console avec une identité IAM autorisée à utiliser la console Amazon Bedrock. Ensuite, ouvrez la console Amazon Bedrock à l’adresse [https://console.aws.amazon.com/bedrock](https://console.aws.amazon.com/bedrock).

1. Dans le volet de navigation gauche, cliquez sur **Agents**.

1. Sélectionnez l’agent auquel vous souhaitez ajouter une base de connaissances.

1. Dans la section **Version préliminaire**, choisissez **Version préliminaire**.

1. Cliquez sur **Ajouter** dans la section **Bases de connaissances**.

1. Choisissez une base de connaissances dans la liste déroulante sous **Sélectionner la base de connaissances**, puis spécifiez les instructions sur la manière dont l’agent doit interagir avec la base de connaissances et renvoyer des résultats.

**Pour dissocier une base de connaissances d’un agent**

1. Connectez-vous à la AWS Management Console avec une identité IAM autorisée à utiliser la console Amazon Bedrock. Ensuite, ouvrez la console Amazon Bedrock à l’adresse [https://console.aws.amazon.com/bedrock](https://console.aws.amazon.com/bedrock).

1. Dans le volet de navigation gauche, cliquez sur **Agents**.

1. Sélectionnez l’agent auquel vous souhaitez ajouter une base de connaissances.

1. Dans la section **Version préliminaire**, choisissez **Version préliminaire**.

1. Dans la section **Bases de connaissances**, sélectionnez une base de connaissances.

1. Cliquez sur **Supprimer**.

------
#### [ API ]

Pour associer une base de connaissances à un agent, envoyez une demande [AssociateAgentKnowledgeBase](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent_AssociateAgentKnowledgeBase.html).
+ Incluez une `description` détaillée pour fournir des instructions sur la manière dont l’agent doit interagir avec la base de connaissances et renvoyer des résultats.
+ Définissez le paramètre `knowledgeBaseState` sur `ENABLED` pour permettre à l’agent d’interroger la base de connaissances.

Vous pouvez mettre à jour une base de connaissances associée à un agent en envoyant une demande [UpdateAgentKnowledgeBase](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent_UpdateAgentKnowledgeBase.html). Par exemple, vous pouvez définir le paramètre `knowledgeBaseState` sur `ENABLED` pour résoudre un problème. Étant donné que tous les champs seront écrasés, incluez à la fois les champs que vous souhaitez mettre à jour et ceux que vous souhaitez conserver tels quels.

Pour dissocier une base de connaissances d’un agent, envoyez une demande [DisassociateAgentKnowledgeBase](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent_DisassociateAgentKnowledgeBase.html).

------

# Affichage d’informations sur une base de connaissances Amazon Bedrock
<a name="kb-info"></a>

Vous pouvez afficher des informations sur une base de connaissances, telles que les paramètres et l’état d’une base de connaissances.

Pour surveiller votre base de connaissances à l’aide d’Amazon CloudWatch Logs, consultez [Journalisation de la base de connaissances](https://docs.aws.amazon.com/bedrock/latest/userguide/knowledge-bases-logging.html).

Choisissez l’onglet correspondant à votre méthode préférée, puis suivez les étapes :

------
#### [ Console ]

**Pour afficher des informations sur une base de connaissances**

1. Connectez-vous à la AWS Management Console avec une identité IAM autorisée à utiliser la console Amazon Bedrock. Ensuite, ouvrez la console Amazon Bedrock à l’adresse [https://console.aws.amazon.com/bedrock](https://console.aws.amazon.com/bedrock).

1. Dans le volet de navigation de gauche, sélectionnez **Bases de connaissances**.

1. Pour afficher les détails d’une base de connaissances, sélectionnez le **nom** de la source ou cliquez sur la case d’option située à côté de la source et sélectionnez **Modifier**.

1. Sur la page de détails, vous pouvez effectuer les actions suivantes :
   + Pour modifier les détails de la base de connaissances, sélectionnez **Modifier** dans la section **Présentation de la base de connaissances**.
   + Pour mettre à jour les balises associées à la base de connaissances, sélectionnez **Gérer les balises** dans la section **Balises**.
   + Si vous mettez à jour la source de données à partir de laquelle la base de connaissances a été créée et que vous devez synchroniser les modifications, sélectionnez **Synchroniser** dans la section **Source de données**.
   + Pour afficher les détails d’une source de données, sélectionnez un **nom de source de données**. Dans les détails, vous pouvez cliquer sur la case d’option située à côté d’un événement de synchronisation dans la section **Historique de synchronisation** et sélectionner **Afficher les avertissements** pour déterminer pourquoi les fichiers de la tâche d’ingestion de données n’ont pas pu être synchronisés.
   + Pour gérer le modèle de vectorisation utilisé pour la base de connaissances, sélectionnez **Modifier le débit provisionné**.
   + Lorsque vous avez terminé les modifications, sélectionnez **Enregistrer les modifications**.

------
#### [ API ]

Pour obtenir des informations sur une base de connaissances, envoyez une demande [GetKnowledgeBase](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent_GetKnowledgeBase.html) avec un [point de terminaison de compilation pour agents Amazon Bedrock](https://docs.aws.amazon.com/general/latest/gr/bedrock.html#bra-bt) et spécifiez `knowledgeBaseId`.

Pour afficher les informations relatives aux bases de connaissances, envoyez une demande [ListKnowledgeBases](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent_ListKnowledgeBases.html) avec un [point de terminaison de compilation pour agents Amazon Bedrock](https://docs.aws.amazon.com/general/latest/gr/bedrock.html#bra-bt). Vous pouvez spécifier le nombre maximum de résultats à renvoyer en réponse. Si le nombre de résultats est supérieur à ce que vous avez défini, la réponse renvoie un `nextToken`. Vous pouvez utiliser cette valeur dans le champ `nextToken` d’une autre demande [ListKnowledgeBases](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent_ListKnowledgeBases.html) pour voir le prochain lot de résultats.

------

# Modification d’une base de connaissances Amazon Bedrock
<a name="kb-update"></a>

Vous pouvez mettre à jour une base de connaissances, par exemple en modifiant les configurations de la base de connaissances.

Choisissez l’onglet correspondant à votre méthode préférée, puis suivez les étapes :

------
#### [ Console ]

**Pour mettre à jour une base de connaissances**

1. Connectez-vous à la AWS Management Console avec une identité IAM autorisée à utiliser la console Amazon Bedrock. Ensuite, ouvrez la console Amazon Bedrock à l’adresse [https://console.aws.amazon.com/bedrock](https://console.aws.amazon.com/bedrock).

1. Dans le volet de navigation de gauche, sélectionnez **Bases de connaissances**.

1. Sélectionnez une base de connaissances pour en afficher les détails, ou cliquez sur le bouton radio en regard de la base de connaissances, puis sélectionnez **Modifier**.

1. Vous pouvez modifier la base de connaissances des façons suivantes.
   + Modifiez les configurations de la base de connaissances en choisissant **Modifier** dans la section **Présentation de la base de connaissances**.
   + Modifiez et gérez les balises associées à la base de connaissances en choisissant **Gérer les balises** dans la section **Balises**
   + Modifiez et gérez la source de données de la base de connaissances dans la section **Source de données**.

1. Lorsque vous avez terminé les modifications, sélectionnez **Enregistrer les modifications**.

------
#### [ API ]

Pour mettre à jour une base de connaissances, envoyez une demande [UpdateKnowledgeBase](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent_UpdateKnowledgeBase.html) avec un [point de terminaison de compilation pour agents Amazon Bedrock](https://docs.aws.amazon.com/general/latest/gr/bedrock.html#bra-bt). Étant donné que tous les champs seront écrasés, incluez à la fois les champs que vous souhaitez mettre à jour et ceux que vous souhaitez conserver tels quels.

------

# Suppression d’une base de connaissances Amazon Bedrock
<a name="kb-delete"></a>

Vous pouvez supprimer une base de connaissances que vous n’utilisez plus ou dont vous n’avez plus besoin. Lorsque vous supprimez une base de connaissances, vous devez également effectuer les actions suivantes pour supprimer complètement toutes les ressources associées à la base de connaissances.
+ Dissociez la base de connaissances de tous les agents auxquels elle est associée.
+ Supprimez le magasin de vecteurs lui-même pour votre base de connaissances.

**Note**  
La `dataDeletionPolicy` par défaut d’une source de données nouvellement créée est « Supprimer », sauf indication contraire lors de la création de la source de données. La politique s’applique lorsque vous supprimez une base de connaissances ou une ressource de source de données. Vous pouvez mettre à jour la politique afin de « retenir » les données de votre source de données qui sont converties en vectorisations. Notez que le **magasin de vecteurs lui-même n’est pas supprimé** si vous supprimez une ressource de type base de connaissances ou source de données.

Choisissez l’onglet correspondant à votre méthode préférée, puis suivez les étapes :

------
#### [ Console ]

**Pour supprimer une base de connaissances**

1. Avant de procéder aux étapes suivantes, assurez-vous de supprimer la base de connaissances de tous les agents auxquels elle est associée. Pour ce faire, procédez comme suit :

   1. Dans le volet de navigation de gauche, sélectionnez **Agents**.

   1. Choisissez le **nom** de l’agent dont vous souhaitez supprimer la base de connaissances.

   1. Une bannière rouge apparaît pour vous avertir de supprimer de l’agent la référence à la base de connaissances, qui n’existe plus.

   1. Sélectionnez la case d’option située à côté de la base de connaissances que vous souhaitez supprimer. Sélectionnez **Actions**, puis choisissez **Supprimer**.

1. Connectez-vous à la AWS Management Console avec une identité IAM autorisée à utiliser la console Amazon Bedrock. Ensuite, ouvrez la console Amazon Bedrock à l’adresse [https://console.aws.amazon.com/bedrock](https://console.aws.amazon.com/bedrock).

1. Dans le volet de navigation de gauche, sélectionnez **Bases de connaissances**.

1. Choisissez une base de connaissances ou sélectionnez la case d’option à côté d’une base de connaissances. Ensuite, choisissez **Supprimer**.

1. Vérifiez les avertissements relatifs à la suppression d’une base de connaissances. Si vous acceptez ces conditions, entrez **delete** dans la zone de saisie et sélectionnez **Supprimer** pour confirmer.
**Note**  
Le **magasin de vecteurs lui-même n’est pas supprimé**, seules les données le sont. Vous pouvez utiliser la console ou le kit SDK du magasin de vecteurs pour supprimer le magasin de vecteurs. Assurez-vous également de vérifier tous les agents Amazon Bedrock que vous utilisez avec votre base de connaissances.

------
#### [ API ]

Pour supprimer la base de connaissances, envoyez une demande [DeleteKnowledgeBase](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent_DeleteKnowledgeBase.html) avec un [point de terminaison de compilation pour agents Amazon Bedrock](https://docs.aws.amazon.com/general/latest/gr/bedrock.html#bra-bt).

Vous devez également la dissocier de tous les agents auxquels elle est associée en effectuant une demande [DisassociateAgentKnowledgeBase](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent_DisassociateAgentKnowledgeBase.html) avec un [point de terminaison de compilation pour agents Amazon Bedrock](https://docs.aws.amazon.com/general/latest/gr/bedrock.html#bra-bt).

Vous devez également supprimer le magasin de vecteurs lui-même en utilisant la console ou le kit SDK du magasin de vecteurs pour supprimer le magasin de vecteurs.

------