View a markdown version of this page

Création d’une base de connaissances gérée - Amazon Bedrock

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.

Création d’une base de connaissances gérée

Lorsque vous créez une base de connaissances gérée, Amazon Bedrock AgentCore gère l'infrastructure de stockage, d'indexation et de récupération pour vous. Par défaut, un modèle d'intégration géré par les services est utilisé et aucune sélection ou configuration de modèle n'est requise. Vous pouvez éventuellement fournir votre propre modèle d'intégration Bedrock à la place. Vous pouvez également fournir éventuellement une clé KMS pour le chiffrement du magasin vectoriel géré.

Après avoir créé la base de connaissances, connectez-la à une source de données et lancez l'ingestion. Pour plus d'informations sur la connexion d'une source de données, voir Connecter une source de données. Pour synchroniser une source de données, utilisez l'StartIngestionJobAPI. Pour en savoir plus, consultez Synchronisation de vos données avec votre base de connaissances Amazon Bedrock.

Note

Après avoir créé et synchronisé une base de connaissances gérée, utilisez l'RetrieveAPI pour l'interroger. Dans le retrievalConfiguration champ, spécifiezmanagedSearchConfiguration. Le vectorSearchConfiguration champ s'applique uniquement aux bases de connaissances personnalisées. Pour des exemples de demandes et des considérations supplémentaires, voirInterrogation d’une base de connaissances et extraction des données.

Pour savoir comment créer une base de connaissances gérée, choisissez l'onglet correspondant à votre méthode préférée :

Console
Pour créer une base de connaissances gérée
  1. Connectez-vous Console de gestion AWS et accédez à Amazon Bedrock AgentCore > Built-in Outils > Base de connaissances.

  2. Choisissez Créer une base de connaissances gérée.

  3. (Facultatif) Développez la section Configurations supplémentaires de la section Détails de la base de connaissances pour configurer les éléments suivants :

    • Ajoutez une description.

    • Choisissez un type de modèle d'intégration :

      • Géré (par défaut) : un modèle d'intégration géré par les services est utilisé. Aucune sélection ou configuration de modèle n'est requise.

      • Personnalisé  : sélectionnez un modèle d'intégration Bedrock. Choisissez le modèle pour ouvrir le sélecteur de modèle, qui affiche les fournisseurs (Amazon, Cohere) et les modèles disponibles.

      • Modèle d'intégration multimodal personnalisé  : sélectionnez un modèle d'intégration multimodal. Actuellement, seul TwelveLabs Marengo Embed 3.0 est pris en charge. Ce modèle traite les fichiers image, audio et vidéo de manière native. Lorsque vous choisissez ce modèle, vous devez également fournir une destination de stockage multimodal, à savoir le compartiment Amazon S3 utilisé pour le traitement et l'ingestion de votre contenu multimodal. Les bases de connaissances Amazon Bedrock créent un dossier de aws/ préfixes dans votre compartiment pour y accéder facilement. Pour de plus amples informations, veuillez consulter Traitement multimodal natif.

    • Configurez les autorisations IAM : choisissez Créer et utiliser un nouveau rôle de service (recommandé) ou sélectionnez un rôle existant.

    • Configurez le AWS KMS chiffrement pour le magasin vectoriel AWS géré (clé gérée par défaut, ou sélectionnez une clé KMS personnalisée).

  4. Sous Source de données, indiquez un nom de source de données.

  5. Sélectionnez votre type de source de données dans la liste déroulante : Amazon S3, Confluence, Custom, Google Drive ou Web OneDrive SharePoint Crawler.

  6. Configurez les paramètres de connexion à la source de données pour le type de source de données que vous avez sélectionné.

  7. (Facultatif) Développez l'analyse et le découpage du contenu pour configurer les éléments suivants :

    • La stratégie d'analyse est définie sur Managed parser par défaut.

    • Sélectionnez une stratégie de découpage de texte dans la liste déroulante :

      • Découpage par défaut (recommandé) : divise le texte en morceaux de taille fixe.

      • Fixed-size découpage  : divise le texte selon la taille approximative de jeton que vous avez définie.

      • Pas de découpage  : pour les documents prétraités ou pré-divisés.

  8. (Facultatif) Développez les configurations avancées pour configurer l'indexation avancée. Sous Indexation du contenu, la valeur par défaut indexe le contenu textuel provenant de documents courants. Activez l'indexation avancée pour des modalités supplémentaires :

    • Contenu visuel des documents  : traite les fichiers image autonomes (.png, .jpg, .jpeg, .jpe, .tif, .tiff, .gif, .bmp, .webp, .svg, .jp2, .heic) et les visuels intégrés dans des fichiers .pdf, .docx, .ppt, .pptx.

    • Fichiers audio  : traite les fichiers .mp3, .wav, .m4a, .flac, .ogg.

    • Fichiers vidéo  : traite les fichiers .mp4, .mov, .m4v.

    Définissez éventuellement une taille de fichier maximale (Mo) et configurez la protection contre la suppression des documents.

  9. (Facultatif) Configurez la livraison des journaux pour envoyer les journaux d'ingestion de la base de connaissances vers une destination telle que CloudWatch Logs, Amazon S3 ou Firehose.

  10. Choisissez Créer une base de connaissances.

  11. Attendez que la base de connaissances et la source de données soient créées (2 à 5 minutes). Si vous créez une base de connaissances gérée avec une clé gérée par le client, la création peut prendre plus de temps.

API

Voici un exemple de création d'une base de connaissances gérée et de configuration de votre source de données à l'aide de l'API avec le SDK AWS CLI ou du SDK compatible, tel que Python. Après avoir appelé CreateKnowledgeBase, vous appelez CreateDataSource pour créer votre source de données avec vos informations de connexiondataSourceConfiguration.

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.

AWS Command Line Interface

Étape 1 : Création de la base de connaissances

Avec un modèle d'intégration géré (par défaut) :

aws bedrock-agent create-knowledge-base \ --name "my-managed-kb" \ --role-arn "arn:aws:iam::123456789012:role/BedrockKBRole" \ --description "My managed knowledge base" \ --knowledge-base-configuration file://kb-config.json kb-config.json { "type": "MANAGED", "managedKnowledgeBaseConfiguration": { "embeddingModelType": "MANAGED" } }

Avec un modèle d'intégration personnalisé (modèle Bedrock fourni par le client) :

aws bedrock-agent create-knowledge-base \ --name "my-custom-embed-kb" \ --role-arn "arn:aws:iam::123456789012:role/BedrockKBRole" \ --description "My managed knowledge base with custom embedding" \ --knowledge-base-configuration file://kb-config.json kb-config.json { "type": "MANAGED", "managedKnowledgeBaseConfiguration": { "embeddingModelType": "CUSTOM", "embeddingModelArn": "arn:aws:bedrock:us-west-2::foundation-model/amazon.titan-embed-text-v2:0", "embeddingModelConfiguration": { "bedrockEmbeddingModelConfiguration": { "dimensions": 1024 } } } }
Note

Quand embeddingModelType est omis, sa valeur par défaut est. MANAGED Lors de l'utilisationMANAGED, vous ne devez pas spécifier embeddingModelArn ouembeddingModelConfiguration. Lors de l'utilisationCUSTOM, les deux champs sont obligatoires.

Avec un modèle d'intégration multimodal personnalisé () TwelveLabs Marengo Embed 3.0 :

Un modèle d'intégration multimodal utilise la même chose CUSTOM embeddingModelType qu'un modèle d'intégration de texte. La différence est qu'il bedrockEmbeddingModelConfiguration accepte un modelConfiguration champ supplémentaire, dans lequel vous transmettez des paramètres spécifiques au modèle, et que vous devez en spécifier un supplementalDataStorageConfiguration pour votre destination de stockage multimodal.

aws bedrock-agent create-knowledge-base \ --name "my-multimodal-embed-kb" \ --role-arn "arn:aws:iam::123456789012:role/BedrockKBRole" \ --description "My managed knowledge base with multimodal embedding" \ --knowledge-base-configuration file://kb-config.json kb-config.json { "type": "MANAGED", "managedKnowledgeBaseConfiguration": { "embeddingModelType": "CUSTOM", "embeddingModelArn": "arn:aws:bedrock:us-east-1::foundation-model/twelvelabs.marengo-embed-3-0-v1:0", "embeddingModelConfiguration": { "bedrockEmbeddingModelConfiguration": { "embeddingDataType": "FLOAT", "modelConfiguration": { "version": "1", "audio": { "segmentation": { "method": "dynamic", "dynamic": { "minDurationSec": 4 } } }, "video": { "segmentation": { "method": "fixed", "fixed": { "durationSec": 6 } } } } } }, "supplementalDataStorageConfiguration": { "storageLocations": [ { "s3Location": { "uri": "s3://amzn-s3-demo-bucket" }, "type": "S3" } ] } } }

Le modelConfiguration champ est un objet JSON dont le contenu est spécifique au modèle d'intégration que vous choisissez. Le version champ est obligatoire et doit être défini sur1. Pour chacune des video modalités audio et, vous pouvez définir soit un segmentation methoddynamic, qui prend une minDurationSec valeur, soit unfixed, qui prend une durationSec valeur. Pour les paramètres TwelveLabs Marengo Embed 3.0 acceptés, consultezTwelveLabs Marengo Intégrer 3.0.

Note

Vous devez fournir une supplementalDataStorageConfiguration date d'utilisation du TwelveLabs Marengo Embed 3.0 modèle.

Étape 2 : Création d'une source de données

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://bedrock-s3-managed-connector-configuration.json \ --data-deletion-policy "DELETE" \ --vector-ingestion-configuration '{"parsingConfiguration":{"parsingStrategy":"SMART_PARSING"}}' bedrock-s3-managed-connector-configuration.json { "type": "MANAGED_KNOWLEDGE_BASE_CONNECTOR", "managedKnowledgeBaseConnectorConfiguration": { "mediaExtractionConfiguration": { "imageExtractionConfiguration": { "imageExtractionStatus": "ENABLED" } }, "connectorParameters": { "type": "S3", "version": "1", "connectionConfiguration": { "bucketName": "your-test-s3-bucket", "bucketOwnerAccountId": "123456789012" }, "deletionProtectionConfiguration": { "enableDeletionProtection": false } } } }

Options de modèle d'intégration

Les bases de connaissances gérées prennent en charge les types de modèles d'intégration suivants :

  • Intégration gérée (par défaut) : un modèle d'intégration géré par les services est utilisé automatiquement. Vous n'avez pas besoin de sélectionner un modèle, de configurer les dimensions ou de gérer les limites de service de Bedrock pour l'intégration. Le service gère la sélection, l'hébergement et la mise à l'échelle des modèles de manière transparente.

  • Intégration personnalisée — Vous fournissez votre propre ARN de modèle d'intégration Bedrock. Lorsque vous utilisez un modèle d'intégration personnalisé, vous devez spécifier les dimensions du modèle (1024) et le type de données d'intégration float32. Les modèles d'intégration Bedrock suivants sont pris en charge :

    • Plongement lexical Amazon Titan V2

    • Cohere Embed English v3

    • Cohere Embed Multilingual v3

    • Cohere Embed v4

    • Intégrations multimodales Amazon Nova

  • Intégration multimodale personnalisée  : vous fournissez l'ARN d'un modèle d'intégration multimodal, qui traite de manière native les fichiers image, audio et vidéo en plus du texte. Actuellement, TwelveLabs Marengo Embed 3.0 (twelvelabs.marengo-embed-3-0-v1:0) est le seul modèle d'intégration multimodal pris en charge. Cette option nécessite une destination de stockage multimodale.

Note

Vous ne pouvez pas modifier le type de modèle d'intégration après avoir créé la base de connaissances. Pour passer de l'intégration gérée à l'intégration personnalisée, vous devez créer une nouvelle base de connaissances.

Important

Si vous créez une base de connaissances avec un modèle d'intégration personnalisé, le reclassement géré n'est pas disponible pour cette base de connaissances. Pour utiliser le reclassement géré, créez votre base de connaissances avec le modèle d'intégration géré par défaut.

Connecteurs de source de données pris en charge

Les bases de connaissances gérées prennent en charge les connecteurs de source de données suivants :

  • Amazon S3

  • Box

  • Cloud Confluence

  • Centre de données Confluence

  • Microsoft SharePoint en ligne

  • Google Drive

  • Microsoft OneDrive

  • ServiceNow

  • Robot Web

  • Connecteur personnalisé

Pour plus d'informations sur la configuration des connecteurs de source de données, voir Connecter une source de données.