Création d’une base de connaissances Amazon Bedrock avec des graphiques d’analytique Amazon Neptune - 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 Amazon Bedrock avec des graphiques d’analytique Amazon Neptune

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 la AWS Management Console, l’AWS CLI ou le kit 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 à 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.

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

  3. Dans la section Bases de connaissances, choisissez Créer, puis sélectionnez Base de connaissances avec magasin de vecteurs.

  4. (Facultatif) Sous Détails de la base de connaissances, modifiez le nom par défaut et fournissez une description de votre base de connaissances.

  5. 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.

  6. Veillez à choisir Amazon S3 comme source de données et cliquer sur Suivant pour configurer votre source de données.

  7. 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.

  8. 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.

  9. 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 plus d’informations, consultez Conditions préalables à l’utilisation d’un magasin de vecteurs que vous avez créé pour une base de connaissances.

  10. 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.

  11. 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.

  12. 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.

API
Pour créer une base de connaissances pour l’analytique Neptune à l’aide de l’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 CreateDataSource avec un point de terminaison de compilation pour agents Amazon Bedrock. 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" } } } }
  2. Pour créer une base de connaissances, envoyez une demande CreateKnowledgeBase avec un point de terminaison de compilation pour agents Amazon Bedrock. 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" } } }
  3. 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

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.

Ingestion des modifications dans votre base de connaissances

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 plus d’informations, consultez Ingestion des modifications directement dans une base de connaissances.

Test de votre base de connaissances

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 plus d’informations, consultez Interrogation d’une base de connaissances connectée à un graphe d’analytique Amazon Neptune.