本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
本主題說明如何將文件直接擷取至知識庫。限制適用於您可以直接擷取的文件類型,視資料來源而定。請參閱下表,了解您可以用來指定要擷取文件的方法限制:
Data source type (資料來源類型) | 文件已定義內嵌 | Amazon S3 位置中的文件 |
---|---|---|
Amazon S3 |
![]() |
![]() |
自訂 |
![]() |
![]() |
展開與您使用案例對應的區段:
若要直接在 中新增或修改文件 AWS Management Console,請執行下列動作:
-
AWS Management Console 使用具有 Amazon Bedrock 許可的 IAM 角色登入 ,然後開啟位於 https://https://console.aws.amazon.com/bedrock/
的 Amazon Bedrock 主控台。 -
在左側導覽窗格中,選擇知識庫。
-
在知識庫區段中,選取要擷取文件的知識庫。
-
在資料來源區段中,選取要新增、修改或刪除文件的資料來源。
-
在文件區段中,選擇新增文件。然後執行下列其中一項:
-
若要直接新增或修改文件,請選取直接新增文件。然後,執行下列動作:
-
在文件識別碼欄位中,指定文件的唯一名稱。如果您指定已存在於資料來源中的名稱,則會取代文件。
-
若要上傳文件,請選取上傳。若要內嵌定義文件,請選取內嵌新增文件、選擇格式,然後在方塊中輸入文件的文字。
-
(選用) 若要將中繼資料與文件建立關聯,請選取新增中繼資料並輸入金鑰、類型和值。
-
-
若要透過指定文件的 S3 位置來新增或修改文件,請選取新增 S3 文件。然後,執行下列動作:
-
在文件識別碼欄位中,指定文件的唯一名稱。如果您指定已存在於資料來源中的名稱,則會取代文件。
-
指定文件的 S3 位置是否位於您目前的 AWS 帳戶中,或位於不同的帳戶中。然後指定文件的 S3 URI。
-
(選用) 若要將中繼資料與文件建立關聯,請選擇中繼資料來源。指定中繼資料的 S3 URI,或選取新增中繼資料並輸入金鑰、類型和值。
-
-
-
若要擷取文件和任何相關聯的中繼資料,請選擇新增。
若要使用 Amazon Bedrock API 直接將文件擷取到知識庫,請使用 Amazon Bedrock 建置時間端點的代理程式傳送 IngestKnowledgeBaseDocuments 請求,並指定知識庫的 ID 及其連線的資料來源。
注意
如果您指定已存在於知識庫中的文件識別符或 S3 位置,則會以新內容覆寫文件。
請求內文包含一個欄位 documents
,對應至 KnowledgeBaseDocument 物件陣列,每個欄位代表要新增至資料來源和擷取至知識庫的文件內容和選用中繼資料。KnowledgeBaseDocument 物件包含下列欄位:
-
內容 – 映射至 DocumentContent 物件,其中包含要新增的文件內容的相關資訊。
-
中繼資料 – (選用) 映射到 DocumentMetadata 物件,其中包含要新增的文件中繼資料的相關資訊。如需有關如何在擷取期間使用中繼資料的詳細資訊,請參閱 中的中繼資料和篩選章節設定和自訂查詢和回應產生。
選取主題,了解如何擷取不同資料來源類型的文件,或查看範例:
將文件擷取至連線至自訂資料來源的知識庫
如果您dataSourceId
指定的 屬於自訂資料來源,您可以為documents
陣列中的每個 KnowledgeBaseDocument 物件新增內容和中繼資料。
新增至自訂資料來源的文件內容可以透過下列方式定義:
您可以內嵌定義下列類型的文件:
如果您是從 S3 位置擷取文件,則 content
欄位中的 DocumentContent 物件應為下列格式:
{
"custom": {
"customDocumentIdentifier": {
"id": "string"
},
"s3Location": {
"bucketOwnerAccountId": "string",
"uri": "string"
},
"sourceType": "S3"
},
"dataSourceType": "CUSTOM"
}
在 id
欄位中包含文件的 ID、bucketOwnerAccountId
在 欄位中包含文件的 S3 儲存貯體擁有者,以及在 uri
欄位中包含文件的 S3 URI。
文件的中繼資料可以透過下列方式定義:
如果您內嵌定義中繼資料, 欄位中的 DocumentMetadata 物件metadata
應該採用下列格式:
{
"inlineAttributes": [
{
"key": "string",
"value": {
"stringValue": "string",
"booleanValue": boolean,
"numberValue": number,
"stringListValue": [ "string" ],
"type": "STRING" | "BOOLEAN" | "NUMBER" | "STRING_LIST"
}
}
],
"type": "IN_LINE_ATTRIBUTE"
}
針對您新增的每個屬性,在 key
欄位中定義金鑰。在 type
欄位中指定值的資料類型,並包含對應至資料類型的欄位。例如,如果您包含字串, 屬性會採用下列格式:
{
"key": "string",
"value": {
"stringValue": "string",
"type": "STRING"
}
}
您也可以從 .metadata.json
S3 位置具有副檔名的檔案擷取中繼資料。如需中繼資料檔案格式的詳細資訊,請參閱 中的文件中繼資料欄位區段連線至 Amazon S3 以存取 Amazon Bedrock 知識庫。
如果中繼資料來自 S3 檔案, 欄位中的 DocumentMetadata 物件metadata
應該採用下列格式:
{
"s3Location": {
"bucketOwnerAccountId": "string",
"uri": "string"
},
"type": "S3_LOCATION"
}
}
在 bucketOwnerAccountId
欄位中包含中繼資料檔案的 S3 儲存貯體擁有者,以及在 uri
欄位中包含中繼資料檔案的 S3 URI。
警告
如果您內嵌定義內容,則必須內嵌定義中繼資料。
將文件擷取至連線至 Amazon S3 資料來源的知識庫
如果您dataSourceId
指定的 屬於 S3 資料來源,您可以為documents
陣列中的每個 KnowledgeBaseDocument 物件新增內容和中繼資料。
注意
對於 S3 資料來源,您只能從 S3 位置新增內容和中繼資料。
要新增至 S3S3 的 S3 文件內容應該以下列格式新增至 DocumentContent 物件:
{
"dataSourceType": "string",
"s3": {
"s3Location": {
"uri": "string"
}
}
}
在 bucketOwnerAccountId
欄位中包含文件的 S3 儲存貯體擁有者,以及在 uri
欄位中包含文件的 S3 URI。
新增至自訂資料來源的文件中繼資料可以下列格式定義:
{
"s3Location": {
"bucketOwnerAccountId": "string",
"uri": "string"
},
"type": "S3_LOCATION"
}
}
警告
您直接擷取到連接到 S3 資料來源知識庫的文件不會新增至 S3 儲存貯體本身。我們建議您也將這些文件新增至 S3 資料來源,這樣一來,如果您同步資料來源,就不會移除或覆寫這些文件。
請求內文範例
引爆下列各節,以查看使用 的不同使用案例的請求內文IngestKnowledgeBaseDocuments
:
下列範例顯示將一個文字文件新增至自訂資料來源:
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"
}
}
}
]
}
下列範例顯示將 PDF 文件新增至自訂資料來源:
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"
}
}
}
]
}
下列範例顯示從 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"
}
}
}
]
}
下列範例顯示文件自訂資料來源的內嵌新增,以及包含兩個屬性的中繼資料:
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"
}
}
]
}
下列範例顯示將文件與中繼資料一起新增至 S3 資料來源。您只能透過 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"
}
}
]
}