Inserisci documenti direttamente in una knowledge base - 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à.

Inserisci documenti direttamente in una knowledge base

Questo argomento descrive come inserire documenti direttamente in una knowledge base. Si applicano restrizioni ai tipi di documenti che è possibile importare direttamente a seconda della fonte di dati. Fate riferimento alla tabella seguente per le restrizioni sui metodi che potete utilizzare per specificare i documenti da importare:

Tipo di origine dati Documento definito in linea Documento nella posizione Amazon S3
Amazon S3 No No Yes
Personalizza Yes Yes

Espandi la sezione corrispondente al tuo caso d'uso:

Per aggiungere o modificare documenti direttamente in AWS Management Console, procedi come segue:

  1. Accedi all' AWS Management Console utilizzo di un ruolo IAM con autorizzazioni Amazon Bedrock e 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, seleziona la knowledge base in cui inserire i documenti.

  4. Nella sezione Origine dati, seleziona l'origine dati per la quale desideri aggiungere, modificare o eliminare i documenti.

  5. Nella sezione Documenti, scegli Aggiungi documenti. Effettua quindi una delle seguenti operazioni:

    • Per aggiungere o modificare direttamente un documento, seleziona Aggiungi documenti direttamente. Successivamente, esegui queste operazioni:

      1. Nel campo Identificatore del documento, specifica un nome univoco per il documento. Se si specifica un nome già esistente nell'origine dati, il documento verrà sostituito.

      2. Per caricare un documento, seleziona Carica. Per definire un documento in linea, seleziona Aggiungi documento in linea, scegli un formato e inserisci il testo del documento nella casella.

      3. (Facoltativo) Per associare i metadati al documento, selezionate Aggiungi metadati e immettete una chiave, un tipo e un valore.

    • Per aggiungere o modificare un documento specificandone la posizione S3, seleziona Aggiungi documenti S3. Successivamente, esegui queste operazioni:

      1. Nel campo Identificatore del documento, specifica un nome univoco per il documento. Se si specifica un nome già esistente nell'origine dati, il documento verrà sostituito.

      2. Specificate se la posizione S3 del documento si trova nel vostro AWS account corrente o in un altro. Quindi specifica l'URI S3 del documento.

      3. (Facoltativo) Per associare i metadati al documento, scegliete una fonte di metadati. Specificate l'URI S3 dei metadati o selezionate Aggiungi metadati e immettete una chiave, un tipo e un valore.

  6. Per inserire il documento e tutti i metadati associati, scegli Aggiungi.

Per importare documenti direttamente in una knowledge base utilizzando l'API Amazon Bedrock, invia una IngestKnowledgeBaseDocumentsrichiesta a un endpoint di compilazione Agents for Amazon Bedrock e specifica l'ID della knowledge base e della fonte di dati a cui è connessa.

Nota

Se specifichi un identificatore del documento o una posizione S3 già esistente nella knowledge base, il documento verrà sovrascritto con il nuovo contenuto.

Il corpo della richiesta contiene un campodocuments, che corrisponde a una serie di KnowledgeBaseDocumentoggetti, ognuno dei quali rappresenta il contenuto e i metadati opzionali di un documento da aggiungere alla fonte di dati e da inserire nella knowledge base. Un KnowledgeBaseDocumentoggetto contiene i seguenti campi:

Seleziona un argomento per scoprire come inserire documenti per diversi tipi di fonti di dati o per visualizzare esempi:

Inserisci un documento in una knowledge base collegata a una fonte di dati personalizzata

dataSourceIdSe l'oggetto specificato appartiene a un'origine dati personalizzata, è possibile aggiungere contenuto e metadati per ogni KnowledgeBaseDocumentoggetto dell'documentsarray.

Il contenuto di un documento aggiunto a un'origine dati personalizzata può essere definito nei seguenti modi:

È possibile definire i seguenti tipi di documenti in linea:

Text

Se il documento è testo, l'DocumentContentoggetto deve avere il seguente formato:

{ "custom": { "customDocumentIdentifier": { "id": "string" }, "inlineContent": { "textContent": { "data": "string" }, "type": "TEXT" }, "sourceType": "IN_LINE" }, "dataSourceType": "CUSTOM" }

Includi un ID per il documento nel id campo e il testo del documento nel data campo.

Bytes

Se il documento contiene più di testo, convertilo in una stringa Base64. L'DocumentContentoggetto dovrebbe quindi avere il seguente formato:

{ "custom": { "customDocumentIdentifier": { "id": "string" }, "inlineContent": { "byteContent": { "data": blob, "mimeType": "string" }, "type": "BYTE" }, "sourceType": "IN_LINE" }, "dataSourceType": "CUSTOM" }

Includete un ID per il documento nel id campo, il documento con codifica Base64 nel data campo e il tipo MIME nel campo. mimeType

Se stai importando un documento da una posizione S3, l'DocumentContentoggetto nel content campo deve avere il seguente formato:

{ "custom": { "customDocumentIdentifier": { "id": "string" }, "s3Location": { "bucketOwnerAccountId": "string", "uri": "string" }, "sourceType": "S3" }, "dataSourceType": "CUSTOM" }

Includi un ID per il documento nel id campo, il proprietario del bucket S3 che contiene il documento nel bucketOwnerAccountId campo e l'URI S3 del documento nel campo. uri

I metadati per un documento possono essere definiti nei seguenti modi:

Se si definiscono i metadati in linea, l'DocumentMetadataoggetto nel metadata campo deve avere il seguente formato:

{ "inlineAttributes": [ { "key": "string", "value": { "stringValue": "string", "booleanValue": boolean, "numberValue": number, "stringListValue": [ "string" ], "type": "STRING" | "BOOLEAN" | "NUMBER" | "STRING_LIST" } } ], "type": "IN_LINE_ATTRIBUTE" }

Per ogni attributo che aggiungi, definisci la chiave nel key campo. Specificate il tipo di dati del valore nel type campo e includete il campo che corrisponde al tipo di dati. Ad esempio, se includi una stringa, l'attributo avrà il seguente formato:

{ "key": "string", "value": { "stringValue": "string", "type": "STRING" } }

Puoi anche importare i metadati da un file con estensione .metadata.json in una posizione S3. Per ulteriori informazioni sul formato di un file di metadati, consulta la sezione Campi di metadati del documento in. Connect ad Amazon S3 per la tua knowledge base

Se i metadati provengono da un file S3, l'DocumentMetadataoggetto nel metadata campo deve avere il seguente formato:

{ "s3Location": { "bucketOwnerAccountId": "string", "uri": "string" }, "type": "S3_LOCATION" } }

Includi il proprietario del bucket S3 che contiene il file di metadati nel bucketOwnerAccountId campo e l'URI S3 del file di metadati nel campo. uri

avvertimento

Se hai definito il contenuto in linea, devi definire i metadati in linea.

Inserisci un documento in una knowledge base collegata a un'origine dati Amazon S3

dataSourceIdSe l'oggetto specificato appartiene a un'origine dati S3, puoi aggiungere contenuti e metadati per ogni KnowledgeBaseDocumentoggetto dell'array. documents

Nota

Per le sorgenti dati S3, puoi aggiungere contenuti e metadati solo da una posizione S3.

Il contenuto di un documento S3 da aggiungere a S3 deve essere aggiunto a un DocumentContentoggetto nel seguente formato:

{ "dataSourceType": "string", "s3": { "s3Location": { "uri": "string" } } }

Includi il proprietario del bucket S3 che contiene il documento nel bucketOwnerAccountId campo e l'URI S3 del documento nel campo. uri

I metadati per un documento aggiunto a un'origine dati personalizzata possono essere definiti nel seguente formato:

{ "s3Location": { "bucketOwnerAccountId": "string", "uri": "string" }, "type": "S3_LOCATION" } }
avvertimento

I documenti che inserisci direttamente in una knowledge base collegata a una fonte di dati S3 non vengono aggiunti al bucket S3 stesso. Ti consigliamo di aggiungere questi documenti anche alla fonte dati S3 in modo che non vengano rimossi o sovrascritti se sincronizzi la tua fonte di dati.

Esempi di corpi di richiesta

Espandi le seguenti sezioni per visualizzare i corpi delle richieste per diversi casi d'uso conIngestKnowledgeBaseDocuments:

L'esempio seguente mostra l'aggiunta di un documento di testo a un'origine dati personalizzata:

PUT /knowledgebases/KB12345678/datasources/DS12345678/documents HTTP/1.1 Content-type: application/json { "documents": [ { "content": { "dataSourceType": "CUSTOM", "custom": { "customDocumentIdentifier": { "id": "MyDocument" }, "inlineContent": { "textContent": { "data": "Hello world!" }, "type": "TEXT" }, "sourceType": "IN_LINE" } } } ] }

L'esempio seguente mostra l'aggiunta di un documento PDF a un'origine dati personalizzata:

PUT /knowledgebases/KB12345678/datasources/DS12345678/documents HTTP/1.1 Content-type: application/json { "documents": [ { "content": { "dataSourceType": "CUSTOM", "custom": { "customDocumentIdentifier": { "id": "MyDocument" }, "inlineContent": { "byteContent": { "data": "<Base64-encoded string>", "mimeType": "application/pdf" }, "type": "BYTE" }, "sourceType": "IN_LINE" } } } ] }

L'esempio seguente mostra l'aggiunta di un documento di testo a un'origine dati personalizzata da una posizione S3:

PUT /knowledgebases/KB12345678/datasources/DS12345678/documents HTTP/1.1 Content-type: application/json { "documents": [ { "content": { "dataSourceType": "CUSTOM", "custom": { "customDocumentIdentifier": { "id": "MyDocument" }, "s3": { "s3Location": { "uri": "amzn-s3-demo-bucket" } }, "sourceType": "S3" } } } ] }

L'esempio seguente mostra l'aggiunta in linea a un'origine dati personalizzata di un documento insieme a metadati contenenti due attributi:

PUT /knowledgebases/KB12345678/datasources/DS12345678/documents HTTP/1.1 Content-type: application/json { "documents": [ { "content": { "dataSourceType": "CUSTOM", "custom": { "customDocumentIdentifier": { "id": "MyDocument" }, "inlineContent": { "textContent": { "data": "Hello world!" }, "type": "TEXT" }, "sourceType": "IN_LINE" } }, "metadata": { "inlineAttributes": [ { "key": "genre", "value": { "stringValue": "pop", "type": "STRING" } }, { "key": "year", "value": { "numberValue": 1988, "type": "NUMBER" } } ], "type": "IN_LINE_ATTRIBUTE" } } ] }

L'esempio seguente mostra l'aggiunta di un documento insieme ai metadati a una fonte di dati S3. Puoi includere i metadati solo tramite S3:

PUT /knowledgebases/KB12345678/datasources/DS12345678/documents HTTP/1.1 Content-type: application/json { "documents": [ { "content": { "dataSourceType": "S3", "s3": { "s3Location": { "uri": "amzn-s3-demo-bucket" } } }, "metadata": { "s3Location": { "bucketOwnerId": "111122223333", "uri": "amzn-s3-demo-bucket" }, "type": "S3_LOCATION" } } ] }