Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.
Utilizzo di Aurora PostgreSQL come Knowledge Base per Amazon Bedrock
Puoi utilizzare un cluster Aurora PostgreSQL DB come Knowledge Base per Amazon Bedrock. Per ulteriori informazioni, consulta Creazione di un archivio vettoriale in Amazon Aurora. Una Knowledge Base acquisisce automaticamente dati di testo non strutturati archiviati in un bucket Amazon S3, li converte in blocchi di testo e vettori e li archivia in un database PostgreSQL. Con le applicazioni di intelligenza artificiale generativa, puoi utilizzare Agents for Amazon Bedrock per interrogare i dati archiviati nella Knowledge Base e utilizzare i risultati di tali query per aumentare le risposte fornite dai modelli di base. Questo flusso di lavoro si chiama Retrieval Augmented Generation (RAG). Per ulteriori informazioni su RAG, vedere Retrieval Augmented Generation (RAG).
Argomenti
Prerequisiti
Acquisisci familiarità con i seguenti prerequisiti per utilizzare il cluster Aurora PostgreSQL come Knowledge Base per Amazon Bedrock. A un livello elevato, è necessario configurare i seguenti servizi da utilizzare con Bedrock:
-
Cluster DB Amazon Aurora PostgreSQL creato in una delle seguenti versioni:
-
16.1 e tutte le versioni successive
-
15.4 e versioni successive
-
14.9 e versioni successive
-
13.12 e versioni successive
-
12.16 e versioni successive
Nota
È necessario abilitare l'
pgvector
estensione nel database di destinazione e utilizzare la versione 0.5.0 o successiva. Per ulteriori informazioni, consulta pgvector v0.5.0con indicizzazione HNSW. -
-
API dati RDS
-
Un utente gestito in AWS Secrets Manager. Per ulteriori informazioni, consulta Gestione delle password con Amazon Aurora e AWS Secrets Manager.
Preparazione di Aurora PostgreSQL per l'utilizzo come Knowledge Base per Amazon Bedrock
Segui i passaggi spiegati nelle sezioni seguenti per preparare Aurora PostgreSQL da utilizzare come Knowledge Base per Amazon Bedrock.
Creazione e configurazione di Aurora PostgreSQL
Per configurare Amazon Bedrock con un cluster Aurora PostgreSQL DB, devi prima creare un cluster Aurora PostgreSQL DB e prendere nota dei campi importanti per configurarlo con Amazon Bedrock. Per ulteriori informazioni sulla creazione del cluster Aurora PostgreSQL DB, consulta. Creazione e connessione di un cluster di database Aurora PostgreSQL
-
Abilita Data API durante la creazione del cluster Aurora PostgreSQL DB. Per ulteriori informazioni sulle versioni supportate, consulta. Utilizzo dell'API dati Amazon RDS
-
Assicurati di annotare gli Amazon Resource Names (ARN) del tuo cluster Aurora PostgreSQL DB. Ti servirà per configurare il cluster DB da utilizzare con Amazon Bedrock. Per ulteriori informazioni, consulta Amazon Resource Names (ARNs).
Connessione a un database e installazione di pgvector
È possibile connettersi ad Aurora PostgreSQL utilizzando una qualsiasi delle utilità di connessione. Per informazioni più dettagliate su queste utilità, consulta. Connessione a un cluster Amazon Aurora SQL Postgre DB In alternativa, è possibile utilizzare l'editor di query della console RDS per eseguire le query. È necessario un cluster Aurora DB con l'API RDS Data abilitata per utilizzare l'editor di query.
-
Accedi al database con il tuo utente principale e configura pgvector. Usa il seguente comando se l'estensione non è installata:
CREATE EXTENSION IF NOT EXISTS vector;
Usa la versione
pgvector
0.5.0 e successive che supportano l'indicizzazione HNSW. Per ulteriori informazioni, vedere pgvectorv0.5.0 con indicizzazione HNSW. -
Utilizzate il seguente comando per verificare la versione del file installato:
pg_vector
SELECT extversion FROM pg_extension WHERE extname='vector';
Impostazione degli oggetti e dei privilegi del database
-
Crea uno schema specifico che Bedrock può utilizzare per interrogare i dati. Utilizzate il seguente comando per creare uno schema:
CREATE SCHEMA bedrock_integration;
-
Crea un nuovo ruolo che Bedrock può utilizzare per interrogare il database. Usa il seguente comando per creare un nuovo ruolo:
CREATE ROLE bedrock_user WITH PASSWORD '
password
' LOGIN;Nota
Prendi nota di questa password poiché ti servirà in seguito per creare una password di Secrets Manager.
Se utilizzi
psql
client, utilizza i seguenti comandi per creare un nuovo ruolo:CREATE ROLE bedrock_user LOGIN; \PASSWORD
password
; -
Concedi le
bedrock_user
autorizzazioni per gestire lobedrock_integration
schema. Ciò fornirà la possibilità di creare tabelle o indici all'interno dello schema.GRANT ALL ON SCHEMA bedrock_integration to bedrock_user;
-
Effettua il login come
bedrock_user
e crea una tabella in.bedrock_integration schema
CREATE TABLE bedrock_integration.bedrock_kb (id uuid PRIMARY KEY, embedding vector(
n
), chunks text, metadata json, custom_metadata jsonb);Questo comando creerà la
bedrock_kb
tabella nellobedrock_integration
schema con gli incorporamenti di Titan.Sostituisci n nel tipo di
vector(
dati con la dimensione appropriata per il modello di incorporamento che stai utilizzando. Utilizzate i consigli riportati di seguito per aiutarvi a selezionare le dimensioni:n
)-
Per il modello Titan v2, usa
vector(1024)
vector(512)
, o o.vector (256)
Per ulteriori informazioni, consulta Amazon Titan Embeddings Text. -
Per il modello Titan v1.2, usa.
vector(1536)
Per ulteriori informazioni, consulta Amazon Titan Multimodal Embeddings G1. -
Per il modello Cohere Embed, usa.
vector(1024)
Per saperne di più, consulta Modelli Cohere Embed. -
Per Cohere Embed Multilingual v3, usa.
vector(1024)
Le prime quattro colonne sono obbligatorie. Per la gestione dei metadati, Bedrock scrive i dati dai file di metadati nella colonna.
custom_metadata
Ti consigliamo di creare questa colonna se prevedi di utilizzare metadati e filtri. Se non crei unacustom_metadata
colonna, aggiungi singole colonne per ogni attributo di metadati nella tabella prima di iniziare l'inserimento. Per ulteriori informazioni, consulta Configurare e personalizzare le query e la generazione di risposte. -
-
Segui questi passaggi per creare gli indici richiesti che Bedrock utilizza per interrogare i tuoi dati:
Crea un indice con l'operatore coseno che Bedrock può utilizzare per interrogare i dati.
CREATE INDEX ON bedrock_integration.bedrock_kb USING hnsw (embedding vector_cosine_ops);
Ti consigliamo di impostare il valore su 256
ef_construction
per la versionepgvector
0.6.0 e successive che utilizzano la creazione di indici paralleli.CREATE INDEX ON bedrock_integration.bedrock_kb USING hnsw (embedding vector_cosine_ops) WITH (ef_construction=256);
-
Create un indice che Bedrock possa usare per interrogare i dati di testo.
CREATE INDEX ON bedrock_integration.bedrock_kb USING gin (to_tsvector('simple', chunks));
-
Se hai creato una colonna per metadati personalizzati, crea un indice che Bedrock può utilizzare per interrogare i metadati.
CREATE INDEX ON bedrock_integration.bedrock_kb USING gin (custom_metadata);
Crea un segreto in Secrets Manager
Secrets Manager consente di archiviare le credenziali Aurora in modo che possano essere trasmesse in modo sicuro alle applicazioni. Se non hai scelto l'opzione di gestione AWS dei segreti durante la creazione del cluster Aurora PostgreSQL DB, ora puoi creare un segreto. Per ulteriori informazioni sulla creazione del segreto AWS Secrets Manager del database, vedere AWS Secrets Manager database secret.
Creazione di una Knowledge Base nella console Bedrock
Durante la preparazione di Aurora PostgreSQL per l'utilizzo come archivio vettoriale per una Knowledge Base, è necessario raccogliere i seguenti dettagli da fornire alla console Amazon Bedrock.
-
ARN del cluster Amazon Aurora DB: l'ARN del tuo cluster DB.
-
ARN segreto: l'ARN della chiave Secrets Manager AWS per il cluster DB.
-
Nome del database: il nome del database. Ad esempio, è possibile utilizzare il database predefinito
postgres
. -
Nome della tabella: si consiglia di fornire un nome qualificato dello schema durante la creazione della tabella utilizzando il comando simile al seguente:
CREATE TABLE bedrock_integration.bedrock_kb;
Questo comando creerà la
bedrock_kb
tabella nellobedrock_integration
schema. -
Quando crei la tabella, assicurati di configurarla con le colonne e i tipi di dati specificati. Puoi utilizzare i nomi di colonna preferiti anziché quelli elencati nella tabella. Ricordati di prendere nota dei nomi che hai scelto come riferimento durante la configurazione della Knowledge Base.
Nome colonna Tipo di dati Descrizione id UUID (chiave primaria) Contiene identificatori univoci per ogni record.
pezzi Testo Contiene i blocchi di testo non elaborato provenienti dalle origini dati.
incorporamento Vettore Contiene gli incorporamenti vettoriali delle origini dati.
metadata JSON Contiene i metadati necessari per eseguire l'attribuzione della fonte e per consentire l'inserimento e l'interrogazione dei dati.
metadati personalizzati JSONB (Facoltativo) Definisce la colonna di destinazione in cui Amazon Bedrock scrive i dettagli dei metadati dalle tue fonti di dati.
Con questi dettagli, ora puoi creare una Knowledge Base nella console Bedrock. Per informazioni più dettagliate sulla configurazione di un indice vettoriale e sulla creazione di informazioni della Knowledge Base, consulta Creare un archivio vettoriale in Amazon Aurora e Creare un archivio vettoriale in Amazon Aurora.
Dopo aver aggiunto Aurora come Knowledge Base, ora puoi importare le tue fonti di dati per ricerche e interrogazioni. Per ulteriori informazioni, consulta Inserire le fonti di dati nella Knowledge Base.