Utiliser Aurora Postgre SQL comme base de connaissances pour Amazon Bedrock - Amazon Aurora

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.

Utiliser Aurora Postgre SQL comme base de connaissances pour Amazon Bedrock

Vous pouvez utiliser un cluster de base de SQL données Aurora Postgre comme base de connaissances pour Amazon Bedrock. Pour plus d’informations, consultez Création d’un stockage vectoriel dans Amazon Aurora. Une base de connaissances prend automatiquement les données de texte non structurées stockées dans un compartiment Amazon S3, les convertit en fragments de texte et en vecteurs, et les stocke dans une base de données SQL Postgre. Avec les applications d'IA générative, vous pouvez utiliser Agents for Amazon Bedrock pour interroger les données stockées dans la base de connaissances et utiliser les résultats de ces requêtes pour compléter les réponses fournies par les modèles fondamentaux. Ce flux de travail s'appelle Retrieval Augmented Generation (RAG). Pour plus d'informations surRAG, voir Retrieval Augmented Generation (RAG).

Pour obtenir des informations détaillées sur l'utilisation d'Aurora Postgre SQL pour créer des applications d'IA génératives à l'aide d'Aurora PostgreRAG, consultez ce billet de blog.

Prérequis

Familiarisez-vous avec les prérequis suivants pour utiliser le SQL cluster Aurora Postgre comme base de connaissances pour Amazon Bedrock. À un niveau supérieur, vous devez configurer les services suivants pour une utilisation avec Bedrock :

  • Cluster de SQL base de données Amazon Aurora Postgre créé dans l'une des versions suivantes :

    • 16.1 et toutes les versions supérieures

    • Version 15.4 et versions ultérieures

    • Version 14.9 et versions ultérieures

    • Versions 13.12 et supérieures

    • Versions 12.16 et supérieures

    Note

    Vous devez activer l'pgvectorextension dans votre base de données cible et utiliser la version 0.5.0 ou supérieure. Pour plus d'informations, consultez pgvector v0.5.0 avec indexation. HNSW

  • RDSDonnées API

  • Un utilisateur géré dans AWS Secrets Manager. Pour plus d'informations, consultezGestion des mots de passe avec Amazon Aurora et AWS Secrets Manager.

Préparation d'Aurora Postgre SQL en vue de son utilisation comme base de connaissances pour Amazon Bedrock

Suivez les étapes décrites dans les sections ci-dessous pour préparer Aurora Postgre SQL afin qu'il soit utilisé comme base de connaissances pour Amazon Bedrock.

Création et configuration d'Aurora Postgre SQL

Pour configurer Amazon Bedrock avec un cluster de SQL base de données Aurora Postgre, vous devez d'abord créer un cluster de SQL base de données Aurora Postgre et prendre note des champs importants pour le configurer avec Amazon Bedrock. Pour plus d'informations sur la création d'un cluster de SQL base de données Aurora Postgre, consultezCréation et connexion à un cluster de bases de données Aurora PostgreSQL.

  • Activez les données API lors de la création du cluster de SQL base de données Aurora Postgre. Pour plus d'informations sur les versions prises en charge, consultezUtilisation des RDS données API.

  • Assurez-vous de noter les Amazon Resource Names (ARN) de votre cluster de SQL base de données Aurora Postgre. Vous en aurez besoin pour configurer le cluster de base de données à utiliser avec Amazon Bedrock. Pour plus d'informations, consultez Amazon Resource Names (ARNs).

Connexion à une base de données et installation de pgvector

Vous pouvez vous connecter à Aurora Postgre à SQL l'aide de n'importe quel utilitaire de connexion. Pour des informations plus détaillées sur ces utilitaires, consultezConnexion à un cluster de SQL base de données Amazon Aurora Postgre. Vous pouvez également utiliser l'éditeur de requêtes de RDS console pour exécuter les requêtes. Vous avez besoin d'un cluster de base de données Aurora avec les RDS données API activées pour utiliser l'éditeur de requêtes.

  1. Connectez-vous à la base de données avec votre utilisateur principal et configurez pgvector. Utilisez la commande suivante si l'extension n'est pas installée :

    CREATE EXTENSION IF NOT EXISTS vector;

    Utilisez la version pgvector 0.5.0 ou supérieure qui prend en charge l'HNSWindexation. Pour plus d'informations, consultez pgvector v0.5.0 avec indexation. HNSW

  2. Utilisez la commande suivante pour vérifier la version du système pg_vector installé :

    SELECT extversion FROM pg_extension WHERE extname='vector';

Configuration des objets et des privilèges de base de données

  1. Créez un schéma spécifique que Bedrock peut utiliser pour interroger les données. Utilisez la commande suivante pour créer un schéma :

    CREATE SCHEMA bedrock_integration;
  2. Créez un nouveau rôle que Bedrock pourra utiliser pour interroger la base de données. Utilisez la commande suivante pour créer un nouveau rôle :

    CREATE ROLE bedrock_user WITH PASSWORD 'password' LOGIN;
    Note

    Prenez note de ce mot de passe car vous en aurez besoin ultérieurement pour créer un mot de passe pour le Gestionnaire de Secrets.

    Si vous utilisez un psql client, utilisez les commandes suivantes pour créer un nouveau rôle :

    CREATE ROLE bedrock_user LOGIN; \PASSWORD password;
  3. Accordez les bedrock_user autorisations nécessaires pour gérer le bedrock_integration schéma. Cela permettra de créer des tables ou des index dans le schéma.

    GRANT ALL ON SCHEMA bedrock_integration to bedrock_user;
  4. Connectez-vous en tant que bedrock_user et créez une table dans lebedrock_integration schema.

    CREATE TABLE bedrock_integration.bedrock_kb (id uuid PRIMARY KEY, embedding vector(1024), chunks text, metadata json);

    Cette commande créera la bedrock_kb table dans le bedrock_integration schéma avec les intégrations de Titan V2.

  5. Nous vous recommandons de créer un index avec l'opérateur cosinus que le socle rocheux peut utiliser pour interroger les données.

    CREATE INDEX ON bedrock_integration.bedrock_kb USING hnsw (embedding vector_cosine_ops);
  6. Nous vous recommandons de définir la valeur 256 ef_construction pour les pgvector versions 0.6.0 et supérieures qui utilisent la création d'index en parallèle.

    CREATE INDEX ON bedrock_integration.bedrock_kb USING hnsw (embedding vector_cosine_ops) WITH (ef_construction=256);

Création d'un secret dans Secrets Manager

Secrets Manager vous permet de stocker vos informations d'identification Aurora afin qu'elles puissent être transmises en toute sécurité aux applications. Si vous n'avez pas choisi le AWS option de gestionnaire de secrets lors de la création d'un SQL cluster de base de données Aurora Postgre, vous pouvez créer un secret maintenant. Pour plus d'informations sur la création AWS Secrets Manager secret de base de données, voir AWS Secret de la base de données Secrets Manager.

Création d'une base de connaissances dans la console Bedrock

Lors de la préparation SQL d'Aurora Postgre en vue de son utilisation comme magasin vectoriel pour une base de connaissances, vous devez rassembler les informations suivantes que vous devez fournir à la console Amazon Bedrock.

  • Cluster de base de données Amazon Aurora ARN : celui ARN de votre cluster de bases de données.

  • Secret ARN — Le ARN des AWS Clé Secrets Manager pour votre cluster de base de données.

  • Nom de la base de données : nom de votre base de données. Par exemple, vous pouvez utiliser la base de données par défaut postgres.

  • Nom de la table : nous vous recommandons de fournir un nom qualifié de schéma lors de la création de la table à l'aide d'une commande similaire à la suivante :

    CREATE TABLE bedrock_integration.bedrock_kb;

    Cette commande créera la bedrock_kb table dans le bedrock_integration schéma.

  • Lorsque vous créez la table, assurez-vous de la configurer avec les colonnes et les types de données spécifiés. Vous pouvez utiliser vos noms de colonne préférés au lieu de ceux répertoriés dans le tableau. N'oubliez pas de prendre note des noms que vous avez choisis comme référence lors de la configuration de la base de connaissances.

    Nom de la colonne Type de données Description
    id UUIDclé primaire

    Contient des identifiants uniques pour chaque enregistrement.

    morceaux Texte

    Contient les segments de texte brut provenant de vos sources de données.

    embedding Vector

    Contient les intégrations vectorielles des sources de données.

    métadonnées JSON

    Contient les métadonnées nécessaires pour effectuer l'attribution de la source et pour permettre l'ingestion et l'interrogation des données.

Avec ces informations, vous pouvez désormais créer une base de connaissances dans la console Bedrock. Pour des informations plus détaillées sur la configuration d'un index vectoriel et la création d'une base de connaissances, consultez Créer un magasin de vecteurs dans Amazon Aurora et Créer un magasin de vecteurs dans Amazon Aurora.

Après avoir ajouté Aurora comme base de connaissances, vous pouvez désormais ingérer vos sources de données pour effectuer des recherches et des requêtes. Pour plus d'informations, consultez Ingérer vos sources de données dans la base de connaissances.