View a markdown version of this page

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

Importare documenti direttamente in una knowledge base

Questo argomento illustra come importare documenti direttamente in una knowledge base. In base all’origine dati, si applicano restrizioni ai tipi di documenti che è possibile importare direttamente. Per le restrizioni sui metodi che si possono utilizzare per specificare i documenti da importare, consulta la tabella seguente:

Tipo di origine dati Documento definito in linea Documento nella posizione di Amazon S3
Simple Storage Service (Amazon S3) Red circular icon with an X symbol, indicating cancellation or denial. No Green circular icon with a white checkmark symbol inside.
Personalizzato Green circular icon with a white checkmark symbol inside. Green circular icon with a white checkmark symbol inside.

Espandi la sezione corrispondente al caso d’uso specifico:

Nota

Quando usi la console, puoi importare fino a 10 documenti direttamente nella knowledge base. Se invece utilizzi l’API IngestKnowledgeBaseDocuments, nella knowledge base puoi importare fino a 25 documenti. Per ulteriori informazioni sulla quota, consulta Quote di servizio di Amazon Bedrock nella guida Riferimenti generali di AWS .

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

  1. Accedi a Console di gestione AWS con un'identità IAM che dispone delle autorizzazioni per utilizzare la console Amazon Bedrock. Quindi, apri la console Amazon Bedrock in 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 importare i documenti.

  4. Nella sezione Origine dati, seleziona l’origine dati per cui desideri aggiungere, modificare o eliminare 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 viene 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, seleziona Aggiungi metadati e immetti 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 viene sostituito.

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

      3. (Facoltativo) Per associare i metadati al documento, scegli un valore nel campo Origine dei metadati. Specifica l’URI S3 dei metadati o seleziona Aggiungi metadati e immetti una chiave, un tipo e un valore.

  6. Per importare il documento e 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 build Agents for Amazon Bedrock e specifica l'ID della knowledge base e della fonte di dati a cui è collegata.

Nota

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

Il corpo della richiesta contiene un campo 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. documents Un oggetto KnowledgeBaseDocument contiene i campi seguenti:

Seleziona un argomento per scoprire come importare documenti per diversi tipi di origini dati o per visualizzare esempi:

Importare un documento in una knowledge base connessa a un’origine dati personalizzata

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

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

È 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 campo id e il testo del documento nel campo data.

Bytes

Se il documento contiene altri elementi oltre al 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" }

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

Se state 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 campo id, il proprietario del bucket S3 che contiene il documento nel campo bucketOwnerAccountId e l’URI S3 del documento nel campo uri.

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

Se definisci 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 aggiunto, definisci la chiave nel campo key. Specifica il tipo di dati del valore nel campo type e includi 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 Connettersi ad Amazon S3 per una 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 campo bucketOwnerAccountId e l’URI S3 del file di metadati nel campo uri.

avvertimento

Se hai definito il contenuto in linea, anche i metadati devono essere definiti in linea.

Importare un documento in una knowledge base connessa 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 origini 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 campo bucketOwnerAccountId e l’URI S3 del documento nel campo uri.

I metadati di un documento aggiunto a un’origine dati personalizzata può essere definito nel seguente formato:

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

I documenti che importi direttamente in una knowledge base connessa a un’origine dati S3 non vengono aggiunti al bucket S3. Si consiglia di aggiungere questi documenti anche all’origine dati S3 in modo che non vengano rimossi né sovrascritti se si sincronizza l’origine dati.

Esempio di corpi della richiesta

Espandi le seguenti sezioni per visualizzare i corpi delle richieste per diversi casi d’uso con IngestKnowledgeBaseDocuments:

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 e di 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 e dei metadati a un’origine 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" } } ] }