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éez une base de connaissances Amazon Bedrock avec les graphiques d'Amazon Neptune Analytics
GraphRag est entièrement intégré aux bases de connaissances Amazon Bedrock et utilise Amazon Neptune Analytics pour le stockage de graphes 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 graphes. Le graphique sera stocké dans Amazon Neptune Analytics.
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 d'intégration à 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 intégrations doivent être stockées.
Il n'est pas possible de créer une base de connaissances avec un utilisateur root. Connectez-vous avec un utilisateur IAM avant de commencer ces étapes.
Ce qui suit montre comment créer une base de connaissances pour utiliser Neptune GraphRag à partir de la console et à l'aide de la CLI.
- Console
-
Pour créer une base de connaissances pour Neptune Analytics à partir de la console
-
Connectez-vous au AWS Management Console avec un directeur IAM autorisé à utiliser la console Amazon Bedrock. Ouvrez ensuite la console Amazon Bedrock à https://console.aws.amazon.com/bedrock/l'adresse.
-
Dans le volet de navigation de gauche, sélectionnez Knowledge bases.
-
Dans la section Bases de connaissances, choisissez Créer, puis sélectionnez Base de connaissances avec magasin vectoriel.
-
(Facultatif) Sous Détails de la base de connaissances, modifiez le nom par défaut et fournissez une description de votre base de connaissances.
-
Sous Autorisations IAM, choisissez un rôle IAM qui fournit à Amazon Bedrock les autorisations nécessaires pour accéder aux autres autorisations requises. Services AWS 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é que vous avez créé pour Neptune Analytics. Pour obtenir un exemple, consultez Autorisations d'accès à votre base de données vectorielle dans Amazon Neptune Analytics.
-
Assurez-vous de choisir Amazon S3 comme source de données et de choisir Next pour configurer votre source de données.
-
Indiquez l'URI S3 du fichier qui sera utilisé comme source de données pour connecter votre base de connaissances à Amazon Neptune Analytics et pour l'intégrer à celui-ci. Pour connaître les étapes supplémentaires et les informations facultatives que vous pouvez fournir, consultezConnect une source de données à votre base de connaissances.
-
Dans la section Modèle d'intégration, choisissez un modèle d'intégration pour convertir vos données en intégrations vectorielles. Vous pouvez éventuellement utiliser la section Configurations supplémentaires pour spécifier les dimensions du vecteur. Pour le type d'intégration, nous vous recommandons d'utiliser des intégrations vectorielles à virgule flottante.
Les dimensions vectorielles du modèle d'intégration doivent correspondre aux dimensions vectorielles que vous avez spécifiées lors de la création du graphe Neptune Analytics.
-
Dans la section Base de données vectorielle, choisissez la méthode de création du magasin vectoriel, puis choisissez Amazon Neptune Analytics (GraphRag) comme magasin vectoriel pour stocker les intégrations qui seront utilisées pour la requête. Pour créer votre magasin de vecteurs, vous pouvez utiliser l'une des méthodes suivantes :
-
Nous vous recommandons d'utiliser la méthode de création rapide d'un nouveau magasin de vecteurs pour commencer rapidement à créer votre magasin de vecteurs. Choisissez Amazon Neptune Analytics (GraphRag) comme boutique vectorielle. Cette option ne nécessite pas que vous disposiez de ressources Neptune Analytics existantes. La base de connaissances génère et stocke automatiquement les intégrations 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 graphe et votre index vectoriel Neptune Analytics, vous pouvez utiliser l'option Choisissez un magasin vectoriel que vous avez créé. Choisissez Amazon Neptune Analytics (GraphRag) comme magasin vectoriel et identifiez l'ARN du graphe, 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 vectoriel que vous avez créé pour une base de connaissances.
-
Choisissez Next et passez en revue les détails de votre base de connaissances. Vous pouvez modifier n'importe quelle section avant de créer votre base de connaissances.
Le temps nécessaire à la création de la base de connaissances dépend de vos configurations spécifiques. Lorsque la création de la base de connaissances est terminée, le statut de la base de connaissances change pour indiquer qu'elle est prête ou disponible.
Une fois que votre base de connaissances est prête et disponible, synchronisez votre source de données pour la première fois et chaque fois que vous souhaitez maintenir votre contenu à jour. Sélectionnez votre base de connaissances dans la console, puis sélectionnez Synchroniser dans la section de présentation des sources de données.
-
Choisissez 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.
-
Une fois qu'Amazon Bedrock a fini de créer la base de connaissances, pour configurer une source de données, suivez les instructions figurant dansConnect une source de données à votre base de connaissances.
- API
-
Pour créer une base de connaissances pour Neptune Analytics à l'aide du AWS CLI
-
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 CreateDataSource
demande à un point de terminaison Agents for Amazon Bedrock Build-time. Ce qui suit présente 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 montre le contenu du input.json
fichier.
{
"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 une base de connaissances, envoyez une CreateKnowledgeBase
demande à un point de terminaison Agents for Amazon Bedrock Build-time. Ce qui suit présente 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"
L’exemple suivant affiche 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"
}
}
}
-
Lorsque votre application basée sur Graphrag est en cours d'exécution, vous pouvez continuer à utiliser les opérations de l'API des bases de connaissances pour fournir aux utilisateurs finaux des réponses plus complètes, pertinentes et explicables. Les sections suivantes expliquent comment démarrer l'ingestion et exécuter des requêtes de récupération à l'aide des commandes CLI.
Synchronisez votre source de données
Après avoir créé votre base de connaissances, vous ingérez ou synchronisez vos données afin qu'elles puissent être consultées. L'ingestion extrait la structure graphique et convertit les données brutes de votre source de données en intégrations vectorielles, sur la base du modèle d'intégration vectorielle et des configurations que vous avez spécifiés.
La commande suivante montre un exemple de démarrage d'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 savoir comment synchroniser votre source de données à l'aide de la console et de l'API, consultezSynchronisez vos données avec votre base de connaissances Amazon Bedrock.
Intégrez les 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 de l'KnowledgeBaseDocuments
API pour indexer les documents que vous soumettez directement dans le magasin vectoriel 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 les consulter. Pour de plus amples informations, veuillez consulter Ingérez les modifications directement dans une base de connaissances.
Test de votre base de connaissances
Maintenant que vous avez 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 montre 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 Interrogez une base de connaissances connectée à un graphe Amazon Neptune Analytics.