

本文為英文版的機器翻譯版本，如內容有任何歧義或不一致之處，概以英文版為準。

# 建立受管知識庫
<a name="kb-managed-create"></a>

當您建立受管知識庫時，Amazon Bedrock AgentCore 會為您管理儲存、索引和擷取基礎設施。根據預設，會使用服務管理的內嵌模型，不需要模型選擇或組態。您可以選擇性地提供自己的 Bedrock 內嵌模型。您也可以選擇性地提供 KMS 金鑰來加密受管向量存放區。

建立知識庫之後，請將其連接到資料來源並開始擷取。如需連接資料來源的詳細資訊，請參閱[連接資料來源](kb-managed-connect-ds.md)。若要同步資料來源，請使用 `StartIngestionJob` API。如需詳細資訊，請參閱[將您的資料與您的 Amazon Bedrock 知識庫同步](kb-data-source-sync-ingest.md)。

若要了解如何建立受管知識庫，請選擇您偏好方法的索引標籤：

------
#### [ Console ]

**建立受管知識庫**

1. 登入 AWS 管理主控台 並導覽至 Amazon Bedrock AgentCore > **內建工具** > **知識庫**。

1. 選擇**建立受管知識庫**。

1. （選用） 展開**知識庫詳細資訊****的其他組態**區段，以設定下列項目：
   + 新增描述。
   + 選擇內嵌模型類型：
     + **受**管 （預設）：使用服務受管內嵌模型。不需要模型選擇或組態。
     + **自訂**：選取 Bedrock 內嵌模型。選擇模型以開啟模型選擇器，顯示可用的供應商 (Amazon、Cohere) 和模型。
   + 設定 IAM 許可：選擇**建立並使用新的服務角色** （建議） 或選取現有的角色。
   + 設定受管向量存放區的 AWS KMS 加密 （預設為受AWS 管金鑰，或選取自訂 KMS 金鑰）。

1. 在**資料來源**下，提供資料來源名稱。

1. 從下拉式清單中選取您的資料來源類型：Amazon S3、Confluence、Custom、Google Drive、OneDrive、SharePoint 或 Web Crawler。

1. 設定所選資料來源類型的資料來源連線設定。

1. （選用） **展開內容剖析和區塊，**以設定下列項目：
   + 剖析策略預設為**受管剖析器**。
   + 從下拉式清單中選取文字區塊策略：
     + **預設區塊 **（建議）：將文字分割為固定大小區塊。
     + **固定大小區塊**：將文字分割成您設定的近似字符大小。
     + **無區塊：**適用於預先處理或預先分割的文件。

1. （選用） 展開**進階組態**以設定進階索引。在**內容索引**下，預設 會從常見文件中為文字型內容編製索引。啟用其他模態的進階索引：
   + **文件中的視覺內容**：處理 .pdf、.docx、.ppt、.pptx 檔案中的內嵌視覺效果。
   + **音訊檔案**：處理 .mp3、.wav、.m4a、.flac、.ogg 檔案。
   + **影片檔案**：處理 .mp4、.mov、.m4v 檔案。

   選擇性地設定檔案大小上限 (MB) 並設定文件刪除保護。

1. （選用） 設定日誌交付，將知識庫擷取日誌傳送至目的地，例如 CloudWatch Logs、Amazon S3 或 Firehose。

1. 選擇**建立知識庫**。

1. 等待知識庫和資料來源建立 (2-5 分鐘）。如果您使用客戶受管金鑰建立受管知識庫，則建立可能需要更長的時間。

------
#### [ API ]

以下是使用 API 搭配 AWS CLI 或支援的 SDK 建立受管知識庫和設定資料來源的範例，例如 Python。呼叫 [CreateKnowledgeBase](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent_CreateKnowledgeBase.html) 之後，您可以呼叫 [CreateDataSource](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent_CreateDataSource.html)，在 `dataSourceConfiguration` 中使用連線資訊建立資料來源。

若要了解您可以透過包含選用 `vectorIngestionConfiguration` 欄位套用至擷取的自訂項目，請參閱[自訂資料來源的擷取](kb-managed-customize-ingestion.md)。

**AWS Command Line Interface**

**步驟 1：建立知識庫**

使用受管內嵌模型 （預設）：

```
aws bedrock-agent create-knowledge-base \
 --name "{{my-managed-kb}}" \
 --role-arn "{{arn:aws:iam::123456789012:role/BedrockKBRole}}" \
 --description "{{My managed knowledge base}}" \
 --knowledge-base-configuration file://kb-config.json

kb-config.json
{
    "type": "MANAGED",
    "managedKnowledgeBaseConfiguration": {
        "embeddingModelType": "MANAGED"
    }
}
```

使用自訂內嵌模型 （客戶提供的 Bedrock 模型）：

```
aws bedrock-agent create-knowledge-base \
 --name "{{my-custom-embed-kb}}" \
 --role-arn "{{arn:aws:iam::123456789012:role/BedrockKBRole}}" \
 --description "{{My managed knowledge base with custom embedding}}" \
 --knowledge-base-configuration file://kb-config.json

kb-config.json
{
    "type": "MANAGED",
    "managedKnowledgeBaseConfiguration": {
        "embeddingModelType": "CUSTOM",
        "embeddingModelArn": "{{arn:aws:bedrock:us-west-2::foundation-model/amazon.titan-embed-text-v2:0}}",
        "embeddingModelConfiguration": {
            "bedrockEmbeddingModelConfiguration": {
                "dimensions": 1024
            }
        }
    }
}
```

**注意**  
省略 `embeddingModelType` 時，預設為 `MANAGED`。使用 時`MANAGED`，您不得指定 `embeddingModelArn`或 `embeddingModelConfiguration`。使用 時`CUSTOM`，兩個欄位都是必要欄位。

**步驟 2：建立資料來源**

```
aws bedrock-agent create-data-source \
 --name "{{S3-connector}}" \
 --description "{{S3 data source connector for Amazon Bedrock to use content in S3}}" \
 --knowledge-base-id "{{your-knowledge-base-id}}" \
 --data-source-configuration file://bedrock-s3-managed-connector-configuration.json \
 --data-deletion-policy "DELETE" \
 --vector-ingestion-configuration '{"parsingConfiguration":{"parsingStrategy":"SMART_PARSING"}}'

bedrock-s3-managed-connector-configuration.json
{
    "type": "MANAGED_KNOWLEDGE_BASE_CONNECTOR",
    "managedKnowledgeBaseConnectorConfiguration": {
        "mediaExtractionConfiguration": {
            "imageExtractionConfiguration": {
                "imageExtractionStatus": "ENABLED"
            }
        },
        "connectorParameters": {
            "type": "S3",
            "version": "1",
            "connectionConfiguration": {
                "bucketName": "{{your-test-s3-bucket}}",
                "bucketOwnerAccountId": "{{123456789012}}"
            },
            "deletionProtectionConfiguration": {
                "enableDeletionProtection": false
            }
        }
    }
}
```

------

## 內嵌模型選項
<a name="kb-managed-embedding-models"></a>

受管知識庫支援兩種內嵌模型類型：
+ **受管內嵌** （預設） – 會自動使用服務受管內嵌模型。您不需要選取模型、設定維度或管理嵌入的 Bedrock 服務限制。服務以透明的方式處理模型選擇、託管和擴展。
+ **自訂內嵌** – 您提供自己的 Bedrock 內嵌模型 ARN。使用自訂內嵌模型時，您必須指定模型維度 (1024) 和 float32 內嵌資料類型。支援下列 Bedrock 內嵌模型：
  + Amazon Titan 文本嵌入 V2
  + Cohere Embed English v3
  + Cohere 內嵌多語言 v3
  + Cohere Embed v4
  + Amazon Nova 多模式內嵌

**注意**  
您無法在建立知識庫後變更內嵌模型類型。若要在受管和自訂內嵌之間切換，您必須建立新的知識庫。

**重要**  
如果您使用自訂內嵌模型建立知識庫，則受管重新排名器不適用於該知識庫。若要使用 受管重新排名器，請使用預設受管內嵌模型建立您的知識庫。

## 支援的資料來源連接器
<a name="kb-managed-connectors"></a>

受管知識庫支援下列資料來源連接器：
+ Amazon S3
+ Confluence
+ Microsoft SharePoint
+ Google 雲端硬碟
+ Microsoft OneDrive
+ Web 編目程式
+ 自訂連接器

如需設定資料來源連接器的資訊，請參閱[連接資料來源](kb-managed-connect-ds.md)。