Creazione di una knowledge base di Amazon Bedrock con i grafi di Analisi Amazon Neptune - Amazon Bedrock

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

Creazione di una knowledge base di Amazon Bedrock con i grafi di Analisi Amazon Neptune

GraphRAG è completamente integrato in Knowledge Base per Amazon Bedrock e utilizza Analisi Amazon Neptune per l’archiviazione di grafi e vettori. Puoi iniziare a utilizzare GraphRAG nelle tue knowledge base con Console di gestione AWS, AWS CLI o AWS SDK.

Non è necessaria alcuna infrastruttura basata su grafi esistente per iniziare a utilizzare GraphRAG. Knowledge Base per Amazon Bedrock gestisce automaticamente la creazione e la manutenzione dei grafi da Amazon Neptune. Il sistema crea e aggiorna automaticamente un grafo estraendo entità, fatti e relazioni dai documenti che carichi nel tuo bucket Amazon S3, in modo da poter fornire risposte pertinenti agli utenti finali, senza alcuna conoscenza preliminare della modellazione dei grafi. Il grafo verrà archiviato in Analisi Amazon Neptune.

Quando crei una knowledge base, imposta o specifica quanto segue:

  • Informazioni generali che definiscono e identificano la knowledge base.

  • Il ruolo di servizio con autorizzazioni per la knowledge base.

  • Configurazioni per la knowledge base, incluso il modello di embedding da utilizzare per la conversione dei dati dall’origine dati e le configurazioni di archiviazione per il servizio in cui archiviare gli embedding.

Nota

Non puoi creare una knowledge base con un utente root. Accedi con un utente IAM prima di iniziare questi passaggi.

Di seguito viene illustrato come creare una knowledge base per l’utilizzo di Neptune GraphRAG dalla console e utilizzando la CLI.

Console
Come creare una knowledge base per Analisi Neptune dalla console
  1. Accedi alla Console di gestione AWS con un’identità IAM che disponga delle autorizzazioni per utilizzare la console Amazon Bedrock. Quindi, apri la console Amazon Bedrock all’indirizzo https://console.aws.amazon.com/bedrock.

  2. Nel riquadro di navigazione a sinistra, scegli Knowledge base.

  3. Nella sezione Knowledge base, scegli Crea, quindi scegli Knowledge base con archivio vettoriale.

  4. (Opzionale) In Dettagli della knowledge base, modifica il nome predefinito e fornisci una descrizione per la tua knowledge base.

  5. In Autorizzazioni IAM, scegli un ruolo IAM che fornisca ad Amazon Bedrock l’autorizzazione per accedere ad altri servizi Servizi AWS necessari. Puoi lasciare che Amazon Bedrock crei il ruolo di servizio oppure puoi scegliere di utilizzare un ruolo personalizzato che hai creato per Analisi Neptune. Per vedere un esempio, consulta Autorizzazioni per accedere al database vettoriale in Analisi Amazon Neptune.

  6. Assicurati di scegliere Amazon S3 come origine dati e scegli Avanti per configurare la tua origine dati.

  7. Fornisci l’URI S3 del file che verrà utilizzato come origine dati per connettere la tua knowledge base e per l’integrazione con Analisi Amazon Neptune. Per ulteriori passaggi e informazioni opzionali che puoi fornire, consulta Connettere un’origine dati alla knowledge base.

  8. Nella sezione Modello di embedding, scegli un modello di embedding per convertire i tuoi dati in embedding vettoriali. Facoltativamente, puoi utilizzare la sezione Configurazioni aggiuntive per specificare le dimensioni vettoriali. Per il tipo di incorporamento, si consiglia di utilizzare embedding vettoriali a virgola mobile.

    Nota

    Le dimensioni vettoriali del modello di embedding devono corrispondere alle dimensioni vettoriali specificate durante la creazione del grafo di Analisi Neptune.

  9. Nella sezione Database vettoriale, scegli il metodo per creare l’archivio vettoriale, quindi scegli Analisi Amazon Neptune (GraphRAG) come archivio di vettoriale per archiviare gli embedding che verranno utilizzati per la query. Per creare il tuo archivio vettoriale, puoi utilizzare uno dei metodi seguenti:

    • Ti consigliamo di utilizzare il metodo Crea rapidamente un nuovo archivio vettoriale per iniziare rapidamente a creare il tuo archivio vettoriale. Scegli Analisi Amazon Neptune (GraphRAG) come archivio vettoriale. Questa opzione non richiede la disponibilità di risorse di Analisi Neptune esistenti. La knowledge base genera e archivia automaticamente gli embedding di documenti in Amazon Neptune, insieme a una rappresentazione a grafi delle entità e delle loro relazioni derivate dal corpus di documenti.

    • In alternativa, se hai già creato il grafo e l’indice vettoriale di Analisi Neptune, puoi utilizzare l’opzione Scegli un archivio vettoriale che hai creato. Scegli Analisi Amazon Neptune (GraphRAG) come archivio vettoriale e identifica l’ARN del grafo, i nomi dei campi vettoriali e i nomi dei campi di metadati nell’indice vettoriale. Per ulteriori informazioni, consulta Prerequisiti per l’utilizzo di un archivio vettoriale creato per una knowledge base.

  10. Scegli Avanti e rivedi i dettagli della tua knowledge base. Puoi modificare qualsiasi sezione prima di procedere e creare la tua knowledge base.

    Nota

    Il tempo richiesto per creare la knowledge base dipende dalle configurazioni specifiche. Una volta completata la creazione della knowledge base, lo stato della knowledge base cambia per indicare che è pronta o disponibile.

    Una volta che la knowledge base è pronta e disponibile, sincronizza l’origine dati per la prima volta e ogni volta che desideri aggiornare i contenuti. Scegli la knowledge base nella console, poi scegli Sincronizza nella sezione Panoramica dell’origine dati.

  11. Scegli Crea knowledge base. Quando Amazon Bedrock crea la knowledge base, deve essere visibile lo stato In corso. Devi attendere il completamento della creazione prima di poter sincronizzare un’origine dati.

  12. Quando Amazon Bedrock termina la creazione della knowledge base, segui le istruzioni in Connettere un’origine dati alla knowledge base per configurare un’origine dati.

API
Come creare una knowledge base per Analisi Neptune utilizzando AWS CLI
  1. Per prima cosa crea un’origine dati utilizzando la configurazione di arricchimento del contesto. Per eseguire questa operazione, invia una richiesta CreateDataSource a un endpoint in fase di compilazione Agent per Amazon Bedrock. Di seguito viene illustrato un esempio di comando 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"

    Il seguente codice mostra il contenuto del file 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. Per creare una knowledge base, invia una richiesta CreateKnowledgeBase con un endpoint in fase di compilazione Agent per Amazon Bedrock. Di seguito viene illustrato un esempio di comando CLI.

    aws bi create-knowledge-base \ --name <"knowledge-base-graphrag"> \ --role-arn arn:aws:iam::<accountId>:role/<BedrockExecutionRoleForKnowledgeBase> \ --cli-input-json "file://input.json"

    Nell'esempio seguente viene mostrato il contenuto del file 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. Quando l’applicazione basata su GraphRAG è in esecuzione, puoi continuare a utilizzare le operazioni dell’API delle knowledge Base per fornire agli utenti finali risposte più complete, pertinenti e spiegabili. Nelle sezioni seguenti viene illustrato come avviare l’importazione ed eseguire query di recupero utilizzando i comandi CLI.

Sincronizza l’origine dati

Dopo aver creato la knowledge base, importa o sincronizza i dati in modo che possano essere interrogati. L’importazione estrae la struttura basata su grafi e converte i dati grezzi dell’origine dati in embedding vettoriali, in base al modello di embedding vettoriali e alle configurazioni specificati.

Il seguente comando mostra un esempio di come avviare un processo di importazione tramite CLI.

aws bedrock-agent start-ingestion-job \ --data-source-id <"ABCDEFGHIJ"> \ --knowledge-base-id <"EFGHIJKLMN">

Per ulteriori informazioni e per dettagli su come sincronizzare l’origine dati utilizzando la console e l’API, consulta Sincronizzare i dati con Knowledge Base per Amazon Bedrock.

Importa le modifiche nella tua knowledge base

Quando utilizzi Amazon S3 come origine dati, puoi modificare la tua origine dati e sincronizzare le modifiche in un’unica fase. Con l’importazione diretta, puoi aggiungere, aggiornare o eliminare direttamente i file in una knowledge base con un’unica azione e la knowledge base può avere accesso ai documenti senza la necessità di sincronizzarli. L’importazione diretta utilizza le operazioni API KnowledgeBaseDocuments per indicizzare i documenti inviati direttamente nell’archivio vettoriale configurato per la knowledge base. È inoltre possibile visualizzare i documenti della knowledge base direttamente con queste operazioni, anziché dover accedere all’origine dati connessa per visualizzarli. Per ulteriori informazioni, consulta Importare le modifiche direttamente in una knowledge base.

Test della tua knowledge base

Dopo aver configurato la knowledge base, puoi testarla inviando query e generando risposte.

l codice riportato di seguito costituisce un esempio di comando CLI.

aws bedrock-agent-runtime retrieve \ --knowledge-base-id <"ABCDEFGHIJ"> \ --retrieval-query="{\"text\": \"What are the top three video games available now?\"}"

Per ulteriori informazioni, consulta Interrogare una knowledge base collegata a un grafico di Analisi Amazon Neptune.