

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

# 透過連線至 Amazon Bedrock 知識庫中的資料來源來建立知識庫
<a name="knowledge-base-create"></a>

當您透過連線至資料來源來建立知識庫時，您可以設定或指定下列項目：
+ 定義和識別知識庫的一般資訊
+ 具有知識庫許可的服務角色。
+ 知識庫的組態，包括從資料來源轉換資料時使用的嵌入模型、存放嵌入之服務的儲存組態，以及選擇性存放多模態資料的 S3 位置。

**注意**  
您無法使用根使用者建立知識庫。請先使用 IAM 使用者登入，再開始這些步驟。

展開與使用案例對應的區段：

## 使用主控台
<a name="knowledge-base-create-console"></a>

**設定知識庫**

1. AWS 管理主控台使用具有使用 Amazon Bedrock 主控台之許可的 IAM 身分登入 。接著，開啟位於 [https://console.aws.amazon.com/bedrock](https://console.aws.amazon.com/bedrock) 的 Amazon Bedrock 主控台。

1. 在左側導覽窗格中選擇**知識庫**。

1. 在**知識庫**區段中，選擇建立按鈕，然後選取以使用向量存放區建立知識庫。

1. (選用) 變更預設名稱並提供知識庫的描述。

1. 選擇 AWS Identity and Access Management(IAM) 角色，提供 Amazon Bedrock 存取其他必要AWS服務的許可。您可以讓 Amazon Bedrock 建立服務角色，或選擇使用自己的[您為 Neptune Analytics 建立的自訂角色](kb-permissions.md#kb-permissions-neptune)。

1. 選擇要連線知識庫的資料來源。

1. (選用) 將標籤新增至您的知識庫。如需詳細資訊，請參閱[標記 Amazon Bedrock 資源](tagging.md)。

1. (選用) 為您的知識庫設定要交付活動日誌的服務。

1. 前往下一節，並遵循 [將資料來源連結至知識庫](data-source-connectors.md) 中的步驟來設定資料來源。

1. 在**嵌入模型**區段中，執行下列動作：

   1. 選擇嵌入模型，以將您的資料轉換為向量嵌入。對於多模態資料 （影像、音訊和視訊），選取多模態內嵌模型，例如 Amazon Titan 多模態內嵌 G1 或 Cohere Embed v3。
**注意**  
使用 Amazon Titan Multimodal Embeddings G1 時，您必須提供 S3 內容儲存貯體，並且只能使用預設剖析器。此模型已針對影像搜尋使用案例進行最佳化。如需在多模式方法之間選擇的完整指引，請參閱 [建立多模態內容的知識庫](kb-multimodal.md)。

   1. (選用) 展開**其他組態**區段，查看下列組態選項 (並非所有模型都支援所有組態)：
      + **嵌入類型** – 是否要將資料轉換為浮點 (float32) 向量嵌入 (更精確，但較昂貴) 或二進位向量嵌入 (較不精確，但成本較低)。若要了解哪些嵌入模型支援二進位向量，請參閱[支援的嵌入模型](knowledge-base-supported.md)。
      + **向量維度** – 較高的值可提高準確性，但會增加成本和延遲。

1. 在**向量資料庫**區段中，執行下列動作：

   1. 選擇向量存放區以存放將用於查詢的向量嵌入。您有下列選項：
      + **快速建立新的向量存放區** – 選擇其中一個可供 Amazon Bedrock 建立的向量存放區。您也可以選擇性地設定向量存放區的AWS KMS金鑰加密。
**注意**  
使用此選項時，Amazon Bedrock 會自動處理每個向量存放區的中繼資料放置。
        + **Amazon OpenSearch Serverless** – Amazon Bedrock 知識庫會建立 Amazon OpenSearch Serverless 向量搜尋集合和索引，並使用必要欄位為您進行設定。
        + **Amazon Aurora PostgreSQL Serverless** – Amazon Bedrock 會設定 Amazon Aurora PostgreSQL Serverless 向量存放區。此程序會從 Amazon S3 儲存貯體取得非結構化文字資料，將其轉換為文字區塊和向量，然後將它們存放在 PostgreSQL 資料庫中。如需詳細資訊，請參閱[快速建立 Aurora PostgreSQL Amazon Bedrock 知識庫](https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/AuroraPostgreSQL.quickcreatekb.html)。
        + **Amazon Neptune Analytics** – Amazon Bedrock 使用檢索增強生成 (RAG) 技術與圖形結合，以增強生成式 AI 應用程式，以便最終使用者可以獲得更準確且全面的回應。
        + **Amazon S3 Vectors** – Amazon Bedrock 知識庫會建立 S3 向量儲存貯體和向量索引，以存放從資料來源產生的嵌入。

          您可以在可使用 Amazon Bedrock 和 Amazon S3 Vectors 的所有 AWS 區域中建立 Amazon S3 Vectors 的知識庫。如需詳細資訊，請參閱《Amazon S3 使用者指南》**中的 [Amazon S3 Vectors](https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-vectors.html)。
**注意**  
搭配 Amazon Bedrock 知識庫使用 Amazon S3 Vectors 時，您最多可以連接 1 KB 的自訂中繼資料 （包括可篩選和不可篩選的中繼資料），以及每個向量 35 個中繼資料金鑰。如需中繼資料限制的詳細資訊，請參閱 [中繼資料支援](knowledge-base-setup.md#metadata-support)中的 [使用您為知識庫建立的向量存放區的先決條件](knowledge-base-setup.md)。
      + **選擇您已建立的向量存放區** – 選取支援的向量存放區，並在向量索引中識別向量欄位名稱和中繼資料欄位名稱。如需詳細資訊，請參閱[使用您為知識庫建立的向量存放區的先決條件](knowledge-base-setup.md)。
**注意**  
如果您的資料來源是 Confluence、Microsoft SharePoint 或 Salesforce 執行個體，則唯一支援的向量存放區服務是 Amazon OpenSearch Serverless。

   1. (選用) 展開**其他組態**區段，並修改任何相關的組態。

1. 如果您的資料來源包含影像，請指定 Amazon S3 URI，以在其中存放剖析器將從**多模態儲存目的地**中的資料擷取的影像。您可以在查詢期間傳回影像。您也可以選擇性地選擇客戶受管金鑰，而非預設金鑰AWS 受管金鑰來加密您的資料。
**注意**  
多模態資料僅支援 Amazon S3 和自訂資料來源。
**注意**  
使用多模式內嵌模型時：  
Amazon Titan Multimodal Embeddings G1 需要 S3 內容儲存貯體，並且最適合使用預設剖析器的影像限定資料集
Cohere Embed v3 支援混合文字和影像資料集，可與任何剖析器組態搭配使用
對於影像搜尋使用案例，避免使用 Bedrock Data Automation (BDA) 或基礎模型剖析器搭配 Titan G1，因為字符限制
多模式儲存目的地會建立用於擷取目的的檔案副本，這可能會產生額外的儲存費用

1. 選擇**下一步**並檢閱知識庫的詳細資訊。您可以在繼續和建立知識庫之前編輯任何區段。
**注意**  
建立知識庫所需的時間取決於您的特定組態。建立知識庫完成後，知識庫的狀態會變更為就緒或可用。  
一旦您的知識庫準備就緒且可用，請於首次以及每當您想要將內容保持在最新狀態時同步您的資料來源。在主控台中選取您的知識庫，然後在資料來源概觀區段中選取**同步**。

## 使用 API
<a name="knowledge-base-create-api"></a>

若要建立知識庫，請使用 [Amazon Bedrock 代理程式建置時期端點](https://docs.aws.amazon.com/general/latest/gr/bedrock.html#bra-bt)傳送 [CreateKnowledgeBase](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent_CreateKnowledgeBase.html) 請求。

**注意**  
如果您希望讓 Amazon Bedrock 為您建立和管理向量存放區，請使用主控台。如需詳細資訊，請展開本主題中的**使用主控台**區段。

下列是必要欄位：


****  

| 欄位 | 基本描述 | 
| --- | --- | 
| name | 知識庫的名稱 | 
| roleArn | [Amazon Bedrock 知識庫服務角色](kb-permissions.md)的 ARN。 | 
| knowledgeBaseConfiguration | 包含知識庫的組態。請參閱下列詳細資訊。 | 
| storageConfiguration | (只有在您連線至非結構化資料來源時才需要)。包含您選擇的資料來源服務的組態。 | 

以下是選填欄位:


****  

| 欄位 | 使用案例 | 
| --- | --- | 
| description | 知識庫的描述。 | 
| clientToken | 為確保 API 請求，僅完成一次。如需詳細資訊，請參閱[確保冪等性](https://docs.aws.amazon.com/ec2/latest/devguide/ec2-api-idempotency.html)。 | 
| 標籤 | 將標籤與流程建立關聯。如需詳細資訊，請參閱[標記 Amazon Bedrock 資源](tagging.md)。 | 

在對應至 [KnowledgeBaseConfiguration](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent_KnowledgeBaseConfiguration.html) 物件的 `knowledgeBaseConfiguration` 欄位中，在 `type` 欄位中指定 `VECTOR`，並包含 [VectorKnowledgeBaseConfiguration](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent_VectorKnowledgeBaseConfiguration.html) 物件。在物件中，包含下列欄位：
+ `embeddingModelArn` – 要使用的嵌入模型 ARN。
+ `embeddingModelConfiguration` – 嵌入模型的組態。若要查看您可以為每個支援的模型指定的可能值，請參閱 [Amazon Bedrock 知識庫支援的模型和區域](knowledge-base-supported.md)。
+ (如果您計劃在知識庫中納入包含影像、圖表或資料表的多模態資料) `supplementalDataStorageConfiguration` – 對應至 [SupplementalDataStorageLocation](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent_SupplementalDataStorageLocation.html) 物件，您可以在其中指定要存放擷取資料的 S3 位置。如需詳細資訊，請參閱[剖析資料來源的選項](kb-advanced-parsing.md)。

在對應至 [StorageConfiguration](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent_StorageConfiguration.html) 物件的 `storageConfiguration` 欄位中，指定您計劃在 `type` 欄位中連線的向量存放區，並包含對應至該向量存放區的欄位。如需您需要提供資訊的詳細資訊，請參閱 [StorageConfiguration](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent_StorageConfiguration.html) 中的每個向量存放區組態類型。

以下顯示建立連線至 Amazon OpenSearch Serverless 集合之知識庫的範例請求。來自連線資料來源的資料將轉換為使用 Amazon Titan Text Embeddings V2 的二進位向量嵌入，且剖析器擷取的多模態資料會設定為存放在名為 *MyBucket* 的儲存貯體中。

```
PUT /knowledgebases/ HTTP/1.1
Content-type: application/json

{
   "name": "MyKB",
   "description": "My knowledge base",
   "roleArn": "arn:aws:iam::111122223333:role/service-role/AmazonBedrockExecutionRoleForKnowledgeBase_123",
   "knowledgeBaseConfiguration": {
      "type": "VECTOR",
      "vectorKnowledgeBaseConfiguration": { 
         "embeddingModelArn": "arn:aws:bedrock:us-east-1::foundation-model/amazon.titan-embed-text-v2:0",
         "embeddingModelConfiguration": { 
            "bedrockEmbeddingModelConfiguration": { 
               "dimensions": 1024,
               "embeddingDataType": "BINARY"
            }
         },
         "supplementalDataStorageConfiguration": { 
            "storageLocations": [ 
               { 
                  "s3Location": { 
                     "uri": "arn:aws:s3:::MyBucket"
                  },
                  "type": "S3"
               }
            ]
         }
      }
   },
   "storageConfiguration": { 
      "opensearchServerlessConfiguration": { 
         "collectionArn": "arn:aws:aoss:us-east-1:111122223333:collection/abcdefghij1234567890",
         "fieldMapping": { 
            "metadataField": "metadata",
            "textField": "text",
            "vectorField": "vector"
         },
         "vectorIndexName": "MyVectorIndex"
      }
   }
}
```

**Topics**
+ [將資料來源連結至知識庫](data-source-connectors.md)
+ [自訂資料來源的擷取](kb-data-source-customize-ingestion.md)
+ [為知識庫設定安全組態](kb-create-security.md)

# 將資料來源連結至知識庫
<a name="data-source-connectors"></a>

完成知識庫的設定後，您就可以將支援的資料來源連結到知識庫。

Amazon Bedrock 知識庫支援透過查詢引擎連結至非結構化資料來源或結構化資料存放區。選取主題以了解如何連結至該類型的資料來源：

**多模態內容支援**  
只有 Amazon S3 和自訂資料來源支援多模態內容 （影像、音訊和影片檔案）。其他資料來源類型會在擷取期間略過多模態檔案。如需使用多模態內容的完整指引，請參閱 [建立多模態內容的知識庫](kb-multimodal.md)。

若要了解如何使用 Amazon Bedrock 主控台連結至資料來源，請選取此頁面底部的與資料來源類型對應的主題：

若要使用 Amazon Bedrock API 連結至資料來源，請使用 [Amazon Bedrock 代理程式執行時期端點](https://docs.aws.amazon.com/general/latest/gr/bedrock.html#bra-rt)傳送 [CreateDataSource](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent_CreateDataSource.html) 請求。

下列是必要欄位：


****  

| 欄位 | 基本描述 | 
| --- | --- | 
| knowledgeBaseId | 知識庫的 ID。 | 
| name | 知識庫的名稱。 | 
| dataSourceConfiguration | 在 type 欄位中指定資料來源服務或類型，且包含對應的欄位。如需服務特定組態的詳細資訊，請從此頁面底部的主題中選取服務的主題。 | 

以下是選填欄位：


****  

| 欄位 | 使用案例 | 
| --- | --- | 
| description | 提供資料來源的描述。 | 
| vectorIngestionConfiguration | 包含用於自訂擷取程序的組態。如需詳細資訊，請參閱[自訂資料來源的擷取](kb-data-source-customize-ingestion.md)。 | 
| dataDeletionPolicy | 指定要對向量存放區中的向量嵌入進行 RETAIN，還是對他們進行 DELETE。 | 
| serverSideEncryptionConfiguration | 若要在資料與客戶自管金鑰同步期間加密暫時性資料，請在 kmsKeyArn 欄位中指定其 ARN。 | 
| clientToken | 為確保 API 請求，僅完成一次。如需詳細資訊，請參閱[確保冪等性](https://docs.aws.amazon.com/ec2/latest/devguide/ec2-api-idempotency.html)。 | 

選取主題以進一步了解服務並加以設定。

**Topics**
+ [連接至知識庫的 Amazon S3](s3-data-source-connector.md)
+ [連結至知識庫的 Confluence](confluence-data-source-connector.md)
+ [連接至 Microsoft SharePoint 以取得知識庫](sharepoint-data-source-connector.md)
+ [連接至 Salesforce 以取得知識庫](salesforce-data-source-connector.md)
+ [為您的知識庫網路爬取網頁](webcrawl-data-source-connector.md)
+ [將知識庫連結到自訂資料來源](custom-data-source-connector.md)

# 連接至知識庫的 Amazon S3
<a name="s3-data-source-connector"></a>

Amazon S3 是將資料當做物件存放在儲存貯體中的物件儲存服務。您可以使用 Amazon S3 Bedrock [AWS的 管理主控台或 CreateDataSource API （請參閱 Amazon Bedrock](https://console.aws.amazon.com/bedrock/home) [支援的 SDKs和AWS CLI](https://docs.aws.amazon.com/bedrock/latest/APIReference/welcome.html))，連線至 Amazon Bedrock 知識庫的 Amazon S3 儲存貯體。 [CreateDataSource](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent_CreateDataSource.html) 

**多模態內容支援**  
Amazon S3 資料來源支援多模式內容，包括影像、音訊和影片檔案。如需使用多模態內容的完整指引，請參閱 [建立多模態內容的知識庫](kb-multimodal.md)。

您可以使用 Amazon S3 主控台或 API，將一小批檔案上傳至 Amazon S3 儲存貯體。或者，您可以使用 持續將多個檔案[AWS DataSync](https://docs.aws.amazon.com/datasync/latest/userguide/create-s3-location.html)上傳至 S3，並依排程從內部部署、邊緣、其他雲端或AWS儲存體傳輸檔案。

目前僅支援一般用途 S3 儲存貯體。

可網路爬取的檔案數量及每個檔案大小 (MB) 都有限制。請參閱[知識庫的配額](https://docs.aws.amazon.com/bedrock/latest/userguide/quotas.html)。

**Topics**
+ [支援的功能](#supported-features-s3-connector)
+ [先決條件](#prerequisites-s3-connector)
+ [連線組態](#configuration-s3-connector)

## 支援的功能
<a name="supported-features-s3-connector"></a>
+ 文件中繼資料欄位
+ 包含字首
+ 新增、更新、刪除內容的增量內容同步

## 先決條件
<a name="prerequisites-s3-connector"></a>

**在 Amazon S3 中，請確定您**：
+ 請注意 Amazon S3 儲存貯體 URI、Amazon Resource Name (ARN)，以及儲存貯體擁有者的 AWS 帳戶 ID。您可以在 Amazon S3 主控台的屬性區段中找到 URI 和 ARN。您的儲存貯體必須與 Amazon Bedrock 知識庫位於相同的區域中。您必須具有存取儲存貯體的許可。

**在您的帳戶中AWS，請確定您**：
+ 在知識庫的 AWS Identity and Access Management (IAM) 角色/許可政策中包含要連接至資料來源的必要許可。如需此資料來源新增至知識庫IAM角色的必要許可資訊，請參閱[存取資料來源的許可](https://docs.aws.amazon.com/bedrock/latest/userguide/kb-permissions.html#kb-permissions-access-ds)。

**注意**  
如果您使用 主控台，則可以在建立知識庫的步驟中為您建立具有所有必要許可IAM的角色。在您設定資料來源和其他組態之後，具有所有必要許可的 IAM 角色會套用至特定知識庫。

## 連線組態
<a name="configuration-s3-connector"></a>

若要連線至 Amazon S3 儲存貯體，您必須提供必要的組態資訊，Amazon Bedrock 才能存取和網路爬取資料。您也必須遵循 [先決條件](#prerequisites-s3-connector)。

本節包含此資料來源的組態範例。

如需包含篩選條件、文件中繼資料欄位、增量同步以及這些運作方式的詳細資訊，請選取下列各項：

### 文件中繼資料欄位
<a name="ds-s3-metadata-fields"></a>

您可以包含一個獨立的檔案，該檔案會指定 Amazon S3 資料來源中每個檔案的文件中繼資料欄位/屬性，以及在為資料來源編製索引至向量存放區時是否將其包含在嵌入中。例如，您可以建立以下格式的檔案，將其命名為 *fileName.extension.metadata.json*，並將其上傳至 S3 儲存貯體。

```
{
  "metadataAttributes": {
    "company": {
      "value": {
        "type": "STRING",
        "stringValue": "BioPharm Innovations"
      },
      "includeForEmbedding": true
    },
    "created_date": {
      "value": {
        "type": "NUMBER",
        "numberValue": 20221205
      },
      "includeForEmbedding": true
    },
    "author": {
      "value": {
        "type": "STRING",
        "stringValue": "Lisa Thompson"
      },
      "includeForEmbedding": true
    },
    "origin": {
      "value": {
        "type": "STRING",
        "stringValue": "Overview"
      },
      "includeForEmbedding": true
    }
  }
}
```

中繼資料檔案必須使用與其相關聯來源文件檔案相同的名稱，並將 `.metadata.json` 附加到檔案名稱的結尾。中繼資料檔案必須與 Amazon S3 儲存貯體中的來源檔案存放在相同的資料夾或位置。檔案不得超過 10 KB 的限制。如需可套用至中繼資料欄位之支援屬性/欄位資料類型和篩選運算子的詳細資訊，請參閱[中繼資料和篩選](https://docs.aws.amazon.com/bedrock/latest/userguide/kb-test-config.html)。

### 包含字首
<a name="ds-s3-inclusion-exclusion"></a>

您可以指定包含字首，這是 Amazon S3 路徑字首，您可以在其中使用 S3 檔案或資料夾，而不是整個儲存貯體來建立 S3 資料來源連接器。

### 增量同步
<a name="ds-s3-incremental-sync"></a>

每次資料來源與知識庫同步時，資料來源連接器都會編目新的、修改和刪除的內容。 Amazon Bedrock可以使用資料來源的機制來追蹤自上次同步以來變更的內容和編目內容。當您第一次將資料來源與知識庫同步時，依預設會網路爬取所有內容。

若要將資料來源與知識庫同步，請使用 [StartIngestionJob](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent_StartIngestionJob.html) API，或在主控台中選取知識庫，然後在資料來源概觀區段中選取**同步**。

**重要**  
您從資料來源同步的所有資料可供具有 `bedrock:Retrieve` 許可能擷取資料的任何人使用。這也可以包含具有受控資料來源許可的任何資料。如需詳細資訊，請參閱[知識庫許可](https://docs.aws.amazon.com/bedrock/latest/userguide/kb-permissions.html)。

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

**將 Amazon S3 儲存貯體連接到知識庫**

1. 遵循 [透過連線至 Amazon Bedrock 知識庫中的資料來源來建立知識庫](knowledge-base-create.md) 中的步驟，然後選擇 **Amazon S3** 作為資料來源。

1. 提供資料來源的名稱。

1. 指定 Amazon S3 儲存貯體位於您目前的AWS帳戶或其他AWS帳戶中。您的儲存貯體必須與知識庫位於相同的區域中。

1. (選用) 如果 Amazon S3 儲存貯體是使用 KMS 金鑰加密的，請包含該金鑰。如需詳細資訊，請參閱[在 Amazon S3 中解密資料來源 AWS KMS 金鑰的許可](encryption-kb.md#encryption-kb-ds)。

1. (選用) 在**內容剖析和分塊**區段中，您可以自訂如何將資料剖析和分塊。請參閱下列資源進一步了解這些自訂項目：
   + 如需剖析選項的詳細資訊，請參閱[剖析資料來源的選項](kb-advanced-parsing.md)。
   + 如需有關分塊策略的詳細資訊，請參閱[內容群集如何適用於知識庫](kb-chunking.md)。
**警告**  
在連線至資料來源之後，便無法變更分塊策略。
   + 如需如何使用 Lambda 函數自訂資料分塊和處理中繼資料的詳細資訊，請參閱[使用自訂轉換 Lambda 函數來定義如何擷取您的資料](kb-custom-transformation.md)。

1. 在**進階設定**區段中，您可以選擇設定下列項目：
   + **用於暫時性資料儲存的 KMS 金鑰。**– 您可以使用預設AWS 受管金鑰或您自己的 KMS 金鑰，在將資料轉換為內嵌時加密暫時性資料。如需詳細資訊，請參閱[資料擷取期間的暫時性資料儲存加密](encryption-kb.md#encryption-kb-ingestion)。
   + **資料刪除政策** – 您可以刪除預設存放在向量存放區中資料來源的向量嵌入，或選擇保留向量存放區資料。

1. 繼續選擇嵌入模型和向量存放區。若要查看剩餘的步驟，請返回[透過連線至 Amazon Bedrock 知識庫中的資料來源來建立知識庫](knowledge-base-create.md)，並在連接資料來源後繼續進行該步驟。

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

以下是 Amazon Bedrock 知識庫連線至 Amazon S3 的組態範例。您可以使用 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-data-source-customize-ingestion.md)。

**AWS Command Line Interface**

```
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://s3-bedrock-connector-configuration.json \
 --data-deletion-policy "DELETE" \
 --vector-ingestion-configuration '{"chunkingConfiguration":{"chunkingStrategy":"FIXED_SIZE","fixedSizeChunkingConfiguration":{"maxTokens":100,"overlapPercentage":10}}}'
                    
s3-bedrock-connector-configuration.json
{
    "s3Configuration": {
	    "bucketArn": "arn:aws:s3:::bucket-name",
	    "bucketOwnerAccountId": "000000000000",
	    "inclusionPrefixes": [
	        "documents/"
	    ]
    },
    "type": "S3"	
}
```

------

# 連結至知識庫的 Confluence
<a name="confluence-data-source-connector"></a>

Atlassian Confluence 是一款協作型工作管理工具，專為共用、儲存和進行專案規劃、軟體開發和產品管理而設計。您可以使用 [Amazon Bedrock 的 AWS 管理主控台](https://console.aws.amazon.com/bedrock/home)或 [CreateDataSource](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent_CreateDataSource.html) API 來連結至 Amazon Bedrock 知識庫的 Confluence 執行個體 (請參閱 Amazon Bedrock [支援的 SDK 和 AWS CLI](https://docs.aws.amazon.com/bedrock/latest/APIReference/welcome.html))。

**注意**  
Confluence 資料來源連接器目前為預覽版本，並可能會有所變更。  
Confluence 資料來源不支援多模態資料，例如資料表、圖表或其他影像。

Amazon Bedrock 支援連結至 Confluence Cloud 執行個體。目前，只有 Amazon OpenSearch Serverless 向量存放區可搭配此資料來源使用。

可網路爬取的檔案數量及每個檔案大小 (MB) 都有限制。請參閱[知識庫的配額](https://docs.aws.amazon.com/bedrock/latest/userguide/quotas.html)。

**Topics**
+ [支援的功能](#supported-features-confluence-connector)
+ [必要條件](#prerequisites-confluence-connector)
+ [連線組態](#configuration-confluence-connector)

## 支援的功能
<a name="supported-features-confluence-connector"></a>
+ 自動偵測主要文件欄位
+ 包含/排除內容篩選條件
+ 新增、更新、刪除內容的增量內容同步
+ OAuth 2.0 身分驗證，使用 Confluence API 字符進行身分驗證

## 必要條件
<a name="prerequisites-confluence-connector"></a>

**在 Confluence 中，請確定您**：
+ 記下 Confluence 執行個體的 URL。例如，若是 Confluence Cloud，則為 *https://example.atlassian.net*。Confluence Cloud 的 URL 必須是基底 URL，結尾為 *.atlassian.net*。
+ 設定內含使用者名稱 (管理員帳戶的電子郵件) 和密碼 (Confluence API 字符) 的基本身分驗證憑證，以允許 Amazon Bedrock 連結至 Confluence Cloud 執行個體。如需如何建立 Confluence API 字符的相關資訊，請參閱 Atlassian 網站上的[管理 Atlassian 帳戶的 API 字符](https://support.atlassian.com/atlassian-account/docs/manage-api-tokens-for-your-atlassian-account/#Create-an-API-token)。
+ (選用) 使用應用程式金鑰、應用程式秘密、存取字符和重新整理字符的憑證，來設定 OAuth 2.0 應用程式。如需詳細資訊，請參閱 Atlassian 網站上的 [OAuth 2.0 應用程式](https://developer.atlassian.com/cloud/confluence/oauth-2-3lo-apps/)。
+ 必須啟用特定讀取許可或範圍，OAuth 2.0 應用程式才能連結至 Confluence。

  Confluence API：
  + offline\$1access
  + read:content:confluence：檢視詳細內容 
  + read:content-details:confluence：檢視內容詳細資訊 
  + read:space-details:confluence：檢視空間詳細資訊
  + read:audit-log:confluence：檢視稽核記錄 
  + read:page:confluence：檢視頁面 
  + read:attachment:confluence：檢視和下載內容附件 
  + read:blogpost:confluence：檢視部落格文章 
  + read:custom-content:confluence：檢視自訂內容 
  + read:comment:confluence：檢視註解 
  + read:template:confluence：檢視內容範本 
  + read:label:confluence：檢視標籤 
  + read:watcher:confluence：檢視內容監看器 
  + read:relation:confluence：檢視實體關係 
  + read:user:confluence：檢視使用者詳細資訊 
  + read:configuration:confluence：檢視 Confluence 設定 
  + read:space:confluence：檢視空間詳細資訊 
  + read:space.property:confluence：檢視空間屬性 
  + read:user.property:confluence：檢視使用者屬性 
  + read:space.setting:confluence：檢視空間設定 
  + read:analytics.content:confluence：檢視內容的分析
  + read:content.property:confluence：檢視內容屬性
  + read:content.metadata:confluence：檢視內容摘要 
  + read:inlinetask:confluence：檢視任務 
  + read:task:confluence：檢視任務 
  + read:whiteboard:confluence：檢視白板 
  + read:app-data:confluence：讀取應用程式資料 
  + read:folder:confluence：檢視資料夾
  + read:embed:confluence：檢視 Smart Link 資料

**在您的 AWS 帳戶中，請確認已完成下列項目**：
+ 將身分驗證憑證存放在 [AWS Secrets Manager 機密](https://docs.aws.amazon.com/secretsmanager/latest/userguide/create_secret.html)中，並記下機密的 Amazon Resource Name (ARN)。遵循此頁面上的**連線組態**指示，以包含必須在機密中包含的鍵/值對。
+ 在知識庫的 AWS Identity and Access Management (IAM) 角色/許可政策中包含要連接至資料來源的必要許可。如需將此資料來源新增至知識庫 IAM 角色的必要許可資訊，請參閱[存取資料來源的許可](https://docs.aws.amazon.com/bedrock/latest/userguide/kb-permissions.html#kb-permissions-access-ds)。

**注意**  
如果使用主控台，您可以前往 AWS Secrets Manager 新增秘密，或在資料來源組態步驟的過程中使用現有的秘密。您可以在建立知識庫的主控台步驟中，為您建立具有所有必要許可的 IAM 角色。在您設定資料來源和其他組態之後，具有所有必要許可的 IAM 角色會套用至特定知識庫。  
建議定期更新或輪換憑證與機密。僅授予作業所需的最低存取層級，以確保自身安全。不建議您在資料來源之間重複使用憑證和機密。

## 連線組態
<a name="configuration-confluence-connector"></a>

若要連結至 Confluence 執行個體，您必須提供必要的組態資訊，Amazon Bedrock 才能存取和網路爬取資料。您也必須遵循 [必要條件](#prerequisites-confluence-connector)。

本節包含此資料來源的組態範例。

如需文件欄位的自動偵測、包含/排除篩選條件、增量同步、私密身分驗證憑證，以及這些運作方式的詳細資訊，請選取下列各項：

### 自動偵測主要文件欄位
<a name="ds-confluence-document-fields"></a>

資料來源連接器會自動偵測和網路爬取文件或內容的所有主要中繼資料欄位。例如，資料來源連接器可以網路爬取與您文件同等的文件內文、文件標題、文件建立或修改日期，或其他可能適用於文件的核心欄位。

**重要**  
如果內容包含敏感資訊，則 Amazon Bedrock 可能會使用敏感資訊來回應。

您可以將篩選運算子套用至中繼資料欄位，以協助您進一步改善回應的相關性。例如，文件「epoch\$1modification\$1time」或文件上次更新時間的 1970 年 1 月 1 日經過的秒數。您可以篩選最近的資料，其中「epoch\$1modification\$1time」*大於*特定數字。如需可套用至中繼資料欄位之篩選運算子的詳細資訊，請參閱[中繼資料和篩選](https://docs.aws.amazon.com/bedrock/latest/userguide/kb-test-config.html)。

### 包含/排除篩選條件
<a name="ds-confluence-inclusion-exclusion"></a>

您可以包含或排除網路爬取特定內容。例如，您可以指定排除字首/規則表達式模式，略過對檔案名稱中包含「私有」的任何檔案的網路爬取。您也可以指定包含字首/規則表達式模式，以包含特定內容實體或內容類型。如果您指定包含篩選條件和排除篩選條件，且兩者皆與文件相符，則排除篩選條件會優先，且不會網路爬取文件。

規則表達式模式的範例，用於排除或篩選檔案名稱中包含「私有」的 PDF 檔案：*".\$1private.\$1\$1\$1.pdf"*

您可以在下列內容類型上套用包含/排除篩選條件：
+ `Space`：唯一空格鍵
+ `Page`：主頁面標題
+ `Blog`：主要部落格標題
+ `Comment`：屬於特定頁面或部落格的註解。指定*回覆：頁面/部落格標題*
+ `Attachment`：附件檔案名稱及其副檔名

### 增量同步
<a name="ds-confluence-incremental-sync"></a>

每次資料來源與知識庫同步時，資料來源連接器都會網路爬取新的、修改過的和刪除的內容。Amazon Bedrock 可以使用資料來源的機制來追蹤自上次同步以來變更的內容變更和網路爬取內容。當您第一次將資料來源與知識庫同步時，依預設會網路爬取所有內容。

若要將資料來源與知識庫同步，請使用 [StartIngestionJob](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent_StartIngestionJob.html) API，或在主控台中選取知識庫，然後在資料來源概觀區段中選取**同步**。

**重要**  
您從資料來源同步的所有資料可供具有 `bedrock:Retrieve` 許可能擷取資料的任何人使用。這也可以包含具有受控資料來源許可的任何資料。如需詳細資訊，請參閱[知識庫許可](https://docs.aws.amazon.com/bedrock/latest/userguide/kb-permissions.html)。

### 私密身分驗證憑證
<a name="ds-confluence-secret-auth-credentials"></a>

(如果使用基本身分驗證) 您在 AWS Secrets Manager 中的私密身分驗證憑證應包含這些鍵/值對：
+ `username`：*Atlassian 帳戶的管理員使用者電子郵件地址*
+ `password`：*Confluence API 字符*

(如果使用 OAuth 2.0 身分驗證) 您在 AWS Secrets Manager 中的私密身分驗證憑證應包含這些鍵/值對：
+ `confluenceAppKey`：*應用程式金鑰*
+ `confluenceAppSecret`：*應用程式秘密*
+ `confluenceAccessToken`：*應用程式存取字符*
+ `confluenceRefreshToken`：*應用程式重新整理字符*

**注意**  
Confluence OAuth2.0 **存取**字符的預設到期時間為 60 分鐘。如果此字符在資料來源同步 (同步任務) 時過期，Amazon Bedrock 將使用提供的**重新整理**字符來重新產生此字符。此重新產生會同時重新整理存取和重新整理字符。為了讓字符從目前同步任務更新到下一個同步任務，Amazon Bedrock 需要秘密憑證的寫入/放置許可，作為知識庫 IAM 角色的一部分。

**注意**  
您在 AWS Secrets Manager 中的秘密必須使用與知識庫相同的區域。

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

**將 Confluence 執行個體連結至知識庫**

1. 遵循 [透過連線至 Amazon Bedrock 知識庫中的資料來源來建立知識庫](knowledge-base-create.md) 中的步驟，然後選擇 **Confluence** 作為資料來源。

1. 提供資料來源的名稱和選用的描述。

1. 提供 Confluence 執行個體 URL。例如，若是 Confluence Cloud，則為 *https://example.atlassian.net*。Confluence Cloud 的 URL 必須是基底 URL，結尾為 *.atlassian.net*。

1. 在**進階設定**區段中，您可以選擇設定下列項目：
   + **用於暫時性資料儲存的 KMS 金鑰。**– 您可以使用預設 AWS 受管金鑰 或您自己的 KMS 金鑰，在將資料轉換為嵌入時加密暫時性資料。如需詳細資訊，請參閱 [資料擷取期間的暫時性資料儲存加密](encryption-kb.md#encryption-kb-ingestion)。
   + **資料刪除政策** – 您可以刪除預設存放在向量存放區中資料來源的向量嵌入，或選擇保留向量存放區資料。

1. 提供驗證資訊以連結到 Confluence 執行個體：
   + 若是基本身分驗證，請前往 AWS Secrets Manager 新增您的私密身分驗證憑證，或使用現有的 Amazon Resource Name (ARN) 作為您建立的密碼。您的密碼必須包含 Atlassian 帳戶的管理員使用者電子郵件地址作為使用者名稱，以及 Confluence API 字符來取代密碼。如需如何建立 Confluence API 字符的相關資訊，請參閱 Atlassian 網站上的[管理 Atlassian 帳戶的 API 字符](https://support.atlassian.com/atlassian-account/docs/manage-api-tokens-for-your-atlassian-account/#Create-an-API-token)。
   + 若是 OAuth 2.0 身分驗證，請前往 AWS Secrets Manager 新增您的私密身分驗證憑證，或使用現有的 Amazon Resource Name (ARN) 作為您建立的密碼。您的密碼必須包含 Confluence 應用程式金鑰、應用程式私密、存取字符和重新整理字符。如需詳細資訊，請參閱 Atlassian 網站上的 [OAuth 2.0 應用程式](https://developer.atlassian.com/cloud/confluence/oauth-2-3lo-apps/)。

1. (選用) 在**內容剖析和分塊**區段中，您可以自訂如何將資料剖析和分塊。請參閱下列資源進一步了解這些自訂項目：
   + 如需剖析選項的詳細資訊，請參閱[剖析資料來源的選項](kb-advanced-parsing.md)。
   + 如需有關分塊策略的詳細資訊，請參閱[內容群集如何適用於知識庫](kb-chunking.md)。
**警告**  
在連線至資料來源之後，便無法變更分塊策略。
   + 如需如何使用 Lambda 函數自訂資料分塊和處理中繼資料的詳細資訊，請參閱[使用自訂轉換 Lambda 函數來定義如何擷取您的資料](kb-custom-transformation.md)。

1. 選擇以使用篩選條件/規則表達式模式來包含或排除特定內容。否則將會網路爬取所有標準內容。

1. 繼續選擇嵌入模型和向量存放區。若要查看剩餘的步驟，請返回[透過連線至 Amazon Bedrock 知識庫中的資料來源來建立知識庫](knowledge-base-create.md)，並在連接資料來源後繼續進行該步驟。

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

以下是 Amazon Bedrock 知識庫連結至 Confluence Cloud 的組態範例。您可以使用 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-data-source-customize-ingestion.md)。

**AWS Command Line Interface**

```
aws bedrock create-data-source \
 --name "Confluence Cloud/SaaS connector" \
 --description "Confluence Cloud/SaaS data source connector for Amazon Bedrock to use content in Confluence" \
 --knowledge-base-id "your-knowledge-base-id" \
 --data-source-configuration file://confluence-bedrock-connector-configuration.json \
 --data-deletion-policy "DELETE" \
 --vector-ingestion-configuration '{"chunkingConfiguration":[{"chunkingStrategy":"FIXED_SIZE","fixedSizeChunkingConfiguration":[{"maxTokens":"100","overlapPercentage":"10"}]}]}'

confluence-bedrock-connector-configuration.json
{
    "confluenceConfiguration": {
        "sourceConfiguration": {
            "hostUrl": "https://example.atlassian.net",
            "hostType": "SAAS",
            "authType": "OAUTH2_CLIENT_CREDENTIALS",
            "credentialsSecretArn": "arn:aws::secretsmanager:your-region:secret:AmazonBedrock-Confluence"
        },
        "crawlerConfiguration": {
            "filterConfiguration": {
                "type": "PATTERN",
                "patternObjectFilter": {
                    "filters": [
                        {
                            "objectType": "Attachment",
                            "inclusionFilters": [
                                ".*\\.pdf"
                            ],
                            "exclusionFilters": [
                                ".*private.*\\.pdf"
                            ]
                        }
                    ]
                }
            }
        }
    },
    "type": "CONFLUENCE"
}
```

------

# 連接至 Microsoft SharePoint 以取得知識庫
<a name="sharepoint-data-source-connector"></a>

Microsoft SharePoint 是一種協作式以 Web 為基礎服務，可用於文件、網頁、網站、清單等。您可以使用 Amazon Bedrock [AWS 的管理主控台或 CreateDataSource API （請參閱 Amazon Bedrock](https://console.aws.amazon.com/bedrock/home) [支援的 SDKs和 AWS CLI](https://docs.aws.amazon.com/bedrock/latest/APIReference/welcome.html)) 來連線至 Amazon Bedrock 知識庫的 SharePoint 執行個體。 [CreateDataSource](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent_CreateDataSource.html) 

**注意**  
SharePoint 資料來源連接器目前為預覽版本，並可能會有所變更。  
Microsoft SharePoint 資料來源不支援多模態資料，例如資料表、圖表、圖表或其他影像。

Amazon Bedrock 支援連線至 SharePoint Online 執行個體。目前不支援網路爬取 OneNote 文件。目前，只有 Amazon OpenSearch Serverless 向量存放區可搭配此資料來源使用。

可網路爬取的檔案數量及每個檔案大小 (MB) 都有限制。請參閱[知識庫的配額](https://docs.aws.amazon.com/bedrock/latest/userguide/quotas.html)。

**Topics**
+ [支援的功能](#supported-features-sharepoint-connector)
+ [先決條件](#prerequisites-sharepoint-connector)
+ [連線組態](#configuration-sharepoint-connector)

## 支援的功能
<a name="supported-features-sharepoint-connector"></a>
+ 自動偵測主要文件欄位
+ 包含/排除內容篩選條件
+ 新增、更新、刪除內容的增量內容同步
+ SharePoint 僅應用程式驗證

## 先決條件
<a name="prerequisites-sharepoint-connector"></a>

### SharePoint (線上)
<a name="prerequisites-sharepoint-connector-online"></a>

**在 SharePoint (線上) 中，完成下列步驟以使用 SharePoint 僅應用程式驗證：**
+ 請記下您的 SharePoint Online 網站 URL。例如，*https://yourdomain.sharepoint.com/sites/mysite*。您的 URL 開頭必須是 *https*，且包含 *sharepoint.com*。您的網站 URL 必須是實際的 SharePoint 網站，而不是 *sharepoint.com/* 或 *sites/mysite/home.aspx*
+ 請記下 SharePoint Online 執行個體 URL 的網域名稱。
+ 複製您的 Microsoft 365 租用戶 ID。您可以在 Microsoft Entra 入口網站的「屬性」中找到您的租用戶 ID。如需詳細資訊，請參閱[尋找您的 Microsoft 365 租用戶 ID](https://learn.microsoft.com/en-us/sharepoint/find-your-office-365-tenant-id)。
**注意**  
如需範例應用程式，請參閱 Microsoft Learn 網站上的[在 Microsoft Entra ID 註冊用戶端應用程式](https://learn.microsoft.com/en-us/azure/healthcare-apis/register-application) (舊稱為 Azure Active Directory)。
+ 設定 SharePoint 僅應用程式驗證。
+ 將許可授予 SharePoint 僅應用程式時，複製用戶端 ID 和用戶端機密值。如需詳細資訊，請參閱[使用 SharePoint 僅應用程式授予存取權](https://learn.microsoft.com/en-us/sharepoint/dev/solution-guidance/security-apponly-azureacs)。
**注意**  
您不需要為 SharePoint 僅應用程式設定任何 API 許可。不過，您必須在 SharePoint 端設定應用程式許可。如需所需 APP 許可的詳細資訊，請參閱[使用 SharePoint 僅應用程式授予存取權](https://learn.microsoft.com/en-us/sharepoint/dev/solution-guidance/security-apponly-azureacs)的 Microsoft 文件。

### AWS 帳戶
<a name="prerequisites-sharepoint-connector-account"></a>

**在您的帳戶中 AWS ，請確定您**：
+ 將身分驗證憑證存放在 [AWS Secrets Manager 機密](https://docs.aws.amazon.com/secretsmanager/latest/userguide/create_secret.html)中，並記下機密的 Amazon Resource Name (ARN)。遵循此頁面上的**連線組態**指示，以包含必須在機密中包含的鍵/值對。
+ 在知識庫的 AWS Identity and Access Management (IAM) 角色/許可政策中包含要連接至資料來源的必要許可。如需此資料來源新增至知識庫 IAM 角色的必要許可資訊，請參閱[存取資料來源的許可](https://docs.aws.amazon.com/bedrock/latest/userguide/kb-permissions.html#kb-permissions-access-ds)。

**注意**  
如果您使用 主控台，您可以前往 AWS Secrets Manager 新增秘密，或使用現有的秘密做為資料來源組態步驟的一部分。您可以在建立知識庫的主控台步驟中，為您建立具有所有必要許可 IAM 的角色。在您設定資料來源和其他組態之後，具有所有必要許可 IAM 的角色會套用至您的特定知識庫。  
建議定期更新或輪換憑證與機密。僅授予作業所需的最低存取層級，以確保自身安全。不建議您在資料來源之間重複使用憑證和機密。

## 連線組態
<a name="configuration-sharepoint-connector"></a>

若要連線至 SharePoint 執行個體，您必須提供必要的組態資訊，Amazon Bedrock 才能存取和網路爬取資料。您也必須遵循 [先決條件](#prerequisites-sharepoint-connector)。

本節包含此資料來源的組態範例。

如需文件欄位的自動偵測、包含/排除篩選條件、增量同步、私密身分驗證憑證，以及這些運作方式的詳細資訊，請選取下列各項：

### 自動偵測主要文件欄位
<a name="ds-sharepoint-document-fields"></a>

資料來源連接器會自動偵測和網路爬取文件或內容的所有主要中繼資料欄位。例如，資料來源連接器可以網路爬取與您文件同等的文件內文、文件標題、文件建立或修改日期，或其他可能適用於文件的核心欄位。

**重要**  
如果您的內容包含敏感資訊，則 Amazon Bedrock 可能會使用敏感資訊來回應 。

您可以將篩選運算子套用至中繼資料欄位，以協助您進一步改善回應的相關性。例如，文件「epoch\$1modification\$1time」或文件上次更新時間的 1970 年 1 月 1 日經過的秒數。您可以篩選最近的資料，其中「epoch\$1modification\$1time」*大於*特定數字。如需可套用至中繼資料欄位之篩選運算子的詳細資訊，請參閱[中繼資料和篩選](https://docs.aws.amazon.com/bedrock/latest/userguide/kb-test-config.html)。

### 包含/排除篩選條件
<a name="ds-sharepoint-inclusion-exclusion"></a>

您可以包含或排除網路爬取特定內容。例如，您可以指定排除字首/規則表達式模式，略過對檔案名稱中包含「私有」的任何檔案的網路爬取。您也可以指定包含字首/規則表達式模式，以包含特定內容實體或內容類型。如果您指定包含篩選條件和排除篩選條件，且兩者皆與文件相符，則排除篩選條件會優先，且不會網路爬取文件。

規則表達式模式的範例，用於排除或篩選檔案名稱中包含「私有」的 PDF 檔案：*".\$1private.\$1\$1\$1.pdf"*

您可以在下列內容類型上套用包含/排除篩選條件：
+ `Page`：主頁面標題
+ `Event`：事件名稱
+ `File`：附件與所有文件檔案的檔案名稱及其副檔名

目前不支援網路爬取 OneNote 文件。

### 增量同步
<a name="ds-sharepoint-incremental-sync"></a>

每次資料來源與您的知識庫同步時，資料來源連接器都會編目新的、修改過的和刪除的內容。 Amazon Bedrock 可以使用資料來源的機制來追蹤自上次同步以來變更的內容和編目內容。當您第一次將資料來源與知識庫同步時，依預設會網路爬取所有內容。

若要將資料來源與知識庫同步，請使用 [StartIngestionJob](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent_StartIngestionJob.html) API，或在主控台中選取知識庫，然後在資料來源概觀區段中選取**同步**。

**重要**  
您從資料來源同步的所有資料可供具有 `bedrock:Retrieve` 許可能擷取資料的任何人使用。這也可以包含具有受控資料來源許可的任何資料。如需詳細資訊，請參閱[知識庫許可](https://docs.aws.amazon.com/bedrock/latest/userguide/kb-permissions.html)。

### 私密身分驗證憑證
<a name="ds-sharepoint-secret-auth-credentials"></a>

使用僅限 SharePoint 應用程式的身分驗證時， 中的秘密身分驗證憑證 AWS Secrets Manager 必須包含這些鍵/值對：
+ `clientId`：*與您的 Microsoft Entra SharePoint 應用程式相關聯的用戶端 ID*
+ `clientSecret`：*與您的 Microsoft Entra SharePoint 應用程式相關聯的用戶端機密*
+ `sharePointClientId`：*註冊 SharePoint 僅應用程式驗證時產生的用戶端 ID*
+ `sharePointClientSecret`：*註冊 SharePoint 僅應用程式驗證時產生的用戶端機密*

**注意**  
您在 中的秘密 AWS Secrets Manager 必須使用與知識庫相同的區域。

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

**將 SharePoint 執行個體連接至知識庫**<a name="connect-sharepoint-console"></a>

1. 遵循 [透過連線至 Amazon Bedrock 知識庫中的資料來源來建立知識庫](knowledge-base-create.md) 中的步驟，然後選擇 **SharePoint** 做為資料來源。

1. 提供資料來源的名稱和選用的描述。

1. 提供您的 SharePoint 網站 URL。例如，若是 SharePoint Online，則為 *https://yourdomain.sharepoint.com/sites/mysite*。您的 URL 開頭必須是 *https*，且包含 *sharepoint.com*。您的網站 URL 必須是實際的 SharePoint 網站，而不是 *sharepoint.com/* 或 *sites/mysite/home.aspx*

1. 提供 SharePoint 執行個體的網域名稱。

1. 在**進階設定**區段中，您可以選擇設定下列項目：
   + **用於暫時性資料儲存的 KMS 金鑰。**– 您可以使用預設 AWS 受管金鑰 或您自己的 KMS 金鑰，在將資料轉換為內嵌時加密暫時性資料。如需詳細資訊，請參閱[資料擷取期間的暫時性資料儲存加密](encryption-kb.md#encryption-kb-ingestion)。
   + **資料刪除政策** – 您可以刪除預設存放在向量存放區中資料來源的向量嵌入，或選擇保留向量存放區資料。

1. 提供驗證資訊以連線到 SharePoint 執行個體：針對 SharePoint 僅應用程式驗證：

   1. 提供租用戶 ID。您可以在 Azure Active Directory 入口網站的「屬性」中找到您的租用戶 ID。

   1. 前往 AWS Secrets Manager 以新增您的秘密登入資料，或為您建立的秘密使用現有的 Amazon Resource Name (ARN)。您的機密必須包含當在租用戶層級或網站層級註冊僅應用程式時產生的 SharePoint 用戶端 ID 和 SharePoint 用戶端機密，以及當在 Entra 中註冊應用程式時產生的 Entra 用戶端 ID 和 Entra 用戶端機密。

1. (選用) 在**內容剖析和分塊**區段中，您可以自訂如何將資料剖析和分塊。請參閱下列資源進一步了解這些自訂項目：
   + 如需剖析選項的詳細資訊，請參閱[剖析資料來源的選項](kb-advanced-parsing.md)。
   + 如需有關分塊策略的詳細資訊，請參閱[內容群集如何適用於知識庫](kb-chunking.md)。
**警告**  
在連線至資料來源之後，便無法變更分塊策略。
   + 如需如何使用 Lambda 函式自訂資料分塊和處理中繼資料的詳細資訊，請參閱[使用自訂轉換 Lambda 函數來定義如何擷取您的資料](kb-custom-transformation.md)。

1. 選擇以使用篩選條件/規則表達式模式來包含或排除特定內容。否則將會網路爬取所有標準內容。

1. 繼續選擇嵌入模型和向量存放區。若要查看剩餘的步驟，請返回[透過連線至 Amazon Bedrock 知識庫中的資料來源來建立知識庫](knowledge-base-create.md)，並在連接資料來源後繼續進行該步驟。

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

以下是 Amazon Bedrock 知識庫連線至 SharePoint Online 的組態範例。您可以使用 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-data-source-customize-ingestion.md)。

**AWS Command Line Interface**

```
aws bedrock-agent create-data-source \
 --name "SharePoint Online connector" \
 --description "SharePoint Online data source connector for Amazon Bedrock to use content in SharePoint" \
 --knowledge-base-id "your-knowledge-base-id" \
 --data-source-configuration file://sharepoint-bedrock-connector-configuration.json \
 --data-deletion-policy "DELETE"
```

**`sharepoint-bedrock-connector-configuration.json` 的內容**

```
{
    "sharePointConfiguration": {
        "sourceConfiguration": {
            "tenantId": "888d0b57-69f1-4fb8-957f-e1f0bedf64de",
            "hostType": "ONLINE",
            "domain": "yourdomain",
            "siteUrls": [
                "https://yourdomain.sharepoint.com/sites/mysite"
            ],
            "authType": "OAUTH2_SHAREPOINT_APP_ONLY_CLIENT_CREDENTIALS",
            "credentialsSecretArn": "arn:aws::secretsmanager:your-region:secret:AmazonBedrock-SharePoint"
        },
        "crawlerConfiguration": {
            "filterConfiguration": {
                "type": "PATTERN",
                "patternObjectFilter": {
                    "filters": [
                        {
                            "objectType": "File",
                            "inclusionFilters": [
                                ".*\\.pdf"
                            ],
                            "exclusionFilters": [
                                ".*private.*\\.pdf"
                            ]
                        }
                    ]
                }
            }
        }
    },
    "type": "SHAREPOINT"
}
```

------

**重要**  
不建議使用 OAuth2.0 身分驗證。建議您使用 SharePoint 僅應用程式驗證。

## 使用 OAuth2.0
<a name="sharepoint-connector-oauth"></a>

使用 OAuth 2.0，您可以對與知識庫整合的 SharePoint 連接器進行驗證，並授權存取 SharePoint 資源。

### 先決條件
<a name="sharepoint-connector-oauth-prereq"></a>

**在 SharePoint 中，對於 OAuth 2.0 身分驗證，請確定您**：
+ 請記下您的 SharePoint Online 網站 URL。例如，*https://yourdomain.sharepoint.com/sites/mysite*。您的 URL 開頭必須是 *https*，且包含 *sharepoint.com*。您的網站 URL 必須是實際的 SharePoint 網站，而不是 *sharepoint.com/* 或 *sites/mysite/home.aspx*
+ 請記下 SharePoint Online 執行個體 URL 的網域名稱。
+ 複製您的 Microsoft 365 租用戶 ID。您可以在 Microsoft Entra 入口網站或 OAuth 應用程式的「屬性」中找到您的租用戶 ID。

  請記下管理員 SharePoint 帳戶的使用者名稱和密碼，並在註冊應用程式時複製用戶端 ID 和用戶端機密值。
**注意**  
如需範例應用程式，請參閱 Microsoft Learn 網站上的[在 Microsoft Entra ID 註冊用戶端應用程式](https://learn.microsoft.com/en-us/azure/healthcare-apis/register-application) (舊稱為 Azure Active Directory)。
+ 當您註冊應用程式時，需要特定讀取許可才能連線至 SharePoint。
  + SharePoint：AllSites.Read (委派) – 讀取所有網站集合中的項目
+ 您可能需要使用管理員使用者在 Azure 入口網站中關閉**安全預設值**。如需在 Azure 入口網站中管理安全預設設定的詳細資訊，請參閱 [Microsoft 文件以了解如何啟用/停用安全預設值](https://learn.microsoft.com/en-us/microsoft-365/business-premium/m365bp-conditional-access?view=o365-worldwide&tabs=secdefaults#security-defaults-1)。
+ 您可能需要關閉 SharePoint 帳戶中的多重要素驗證 (MFA)，才不會封鎖 Amazon Bedrock 網路爬取您的 SharePoint 內容。

若要完成先決條件，請確定您已完成 [AWS 帳戶](#prerequisites-sharepoint-connector-account) 中的步驟。

### 私密身分驗證憑證
<a name="sharepoint-secret-auth-credentials-oauth"></a>

對於 OAuth2.0 的連線組態，您可以執行與自動偵測主要文件欄位、包含/排除篩選條件和增量同步相同的步驟，如 [連線組態](#configuration-sharepoint-connector) 中所述。

**對於 OAuth 2.0 身分驗證，您在 中的秘密身分驗證憑證 AWS Secrets Manager 必須包含這些鍵/值對**。
+ `username`：*SharePoint 管理員使用者名稱*
+ `password`：*SharePoint 管理員密碼*
+ `clientId`：*OAuth 應用程式用戶端 ID*
+ `clientSecret`：*OAuth 應用程式用戶端機密*

### 將 SharePoint 執行個體連接至知識庫
<a name="sharepoint-connector-oauth-using"></a>

若要在使用 OAuth2.0 時將 SharePoint 執行個體連線至您的知識庫：
+ (主控台) 在主控台中，遵循[將 SharePoint 執行個體連接至知識庫](https://docs.aws.amazon.com/bedrock/latest/userguide/sharepoint-data-source-connector.html#connect-sharepoint-console)中所述的相同步驟。當您想要提供驗證資訊以連線到 SharePoint 執行個體時。
  + 提供租用戶 ID。您可以在 Azure Active Directory 入口網站的「屬性」中找到您的租用戶 ID。
  + 前往 AWS Secrets Manager 以新增秘密身分驗證憑證，或為您建立的秘密使用現有的 Amazon Resource Name (ARN)。您的機密必須包含 SharePoint 管理員使用者名稱和密碼，以及您已註冊的應用程式用戶端 ID 和用戶端機密。如需範例應用程式，請參閱 Microsoft Learn 網站上的[在 Microsoft Entra ID 註冊用戶端應用程式](https://learn.microsoft.com/en-us/azure/healthcare-apis/register-application) (舊稱為 Azure Active Directory)。
+ (API) 以下範例示範如何使用 `CreateDataSource` API 建立包含 OAuth2.0 連線資訊的資料來源。

  ```
  aws bedrock-agent create-data-source \
   --name "SharePoint Online connector" \
   --description "SharePoint Online data source connector for Amazon Bedrock to use content in SharePoint" \
   --knowledge-base-id "your-knowledge-base-id" \
   --data-source-configuration file://sharepoint-bedrock-connector-configuration.json \
   --data-deletion-policy "DELETE"
  ```

  **`sharepoint-bedrock-connector-configuration.json` 的內容**

  ```
  {
      "sharePointConfiguration": {
          "sourceConfiguration": {
              "tenantId": "888d0b57-69f1-4fb8-957f-e1f0bedf64de",
              "hostType": "ONLINE",
              "domain": "yourdomain",
              "siteUrls": [
                  "https://yourdomain.sharepoint.com/sites/mysite"
              ],
              "authType": "OAUTH2_CLIENT_CREDENTIALS",
              "credentialsSecretArn": "arn:aws::secretsmanager:your-region:secret:AmazonBedrock-SharePoint"
          },
          "crawlerConfiguration": {
              "filterConfiguration": {
                  "type": "PATTERN",
                  "patternObjectFilter": {
                      "filters": [
                          {
                              "objectType": "File",
                              "inclusionFilters": [
                                  ".*\\.pdf"
                              ],
                              "exclusionFilters": [
                                  ".*private.*\\.pdf"
                              ]
                          }
                      ]
                  }
              }
          }
      },
      "type": "SHAREPOINT"
  }
  ```

# 連接至 Salesforce 以取得知識庫
<a name="salesforce-data-source-connector"></a>

Salesforce 是一款用於管理支援、銷售和行銷團隊的客戶關係管理 (CRM) 工具。您可以使用 [Amazon Bedrock 的 AWS 管理主控台](https://console.aws.amazon.com/bedrock/home)或 [CreateDataSource](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent_CreateDataSource.html) API 來連線至 Amazon Bedrock 知識庫的 Salesforce 執行個體 (請參閱 Amazon Bedrock [支援的 SDK 和 AWS CLI](https://docs.aws.amazon.com/bedrock/latest/APIReference/welcome.html))。

**注意**  
Salesforce 資料來源連接器目前為預覽版本，並可能會有所變更。  
Salesforce 資料來源不支援多模態資料，例如資料表、圖表或其他影像。

目前，只有 Amazon OpenSearch Serverless 向量存放區可搭配此資料來源使用。

可網路爬取的檔案數量及每個檔案大小 (MB) 都有限制。請參閱[知識庫的配額](https://docs.aws.amazon.com/bedrock/latest/userguide/quotas.html)。

**Topics**
+ [支援的功能](#supported-features-salesforce-connector)
+ [必要條件](#prerequisites-salesforce-connector)
+ [連線組態](#configuration-salesforce-connector)

## 支援的功能
<a name="supported-features-salesforce-connector"></a>
+ 自動偵測主要文件欄位
+ 包含/排除內容篩選條件
+ 新增、更新、刪除內容的增量內容同步
+ OAuth 2.0 身分驗證

## 必要條件
<a name="prerequisites-salesforce-connector"></a>

**在 Salesforce 中，請確定您**：
+ 請記下您的 Salesforce 執行個體 URL。例如，*https://company.salesforce.com/*。執行個體必須執行 Salesforce 連線應用程式。
+ 建立 Salesforce 連線應用程式並設定用戶端憑證。然後，針對您選取的應用程式，從 OAuth 設定複製消費者金鑰 (用戶端 ID) 和消費者機密 (用戶端機密)。如需詳細資訊，請參閱有關[建立連線應用程式](https://help.salesforce.com/s/articleView?id=sf.connected_app_create.htm&type=5)和[設定 OAuth 2.0 用戶端憑證的連線應用程式](https://help.salesforce.com/s/articleView?id=sf.connected_app_client_credentials_setup.htm&type=5)的 Salesforce 文件。
**注意**  
對於 Salesforce 連線應用程式，在用戶端憑證流程下，請確定您在「執行身分」欄位中搜尋並選取您用戶端憑證的使用者名稱或別名。

**在您的 AWS 帳戶中，請確認已完成下列項目**：
+ 將身分驗證憑證存放在 [AWS Secrets Manager 機密](https://docs.aws.amazon.com/secretsmanager/latest/userguide/create_secret.html)中，並記下機密的 Amazon Resource Name (ARN)。遵循此頁面上的**連線組態**指示，以包含必須在機密中包含的鍵/值對。
+ 在知識庫的 AWS Identity and Access Management (IAM) 角色/許可政策中包含要連接至資料來源的必要許可。如需將此資料來源新增至知識庫 IAM 角色的必要許可資訊，請參閱[存取資料來源的許可](https://docs.aws.amazon.com/bedrock/latest/userguide/kb-permissions.html#kb-permissions-access-ds)。

**注意**  
如果使用主控台，您可以前往 AWS Secrets Manager 新增秘密，或在資料來源組態步驟的過程中使用現有的秘密。您可以在建立知識庫的主控台步驟中，為您建立具有所有必要許可的 IAM 角色。在您設定資料來源和其他組態之後，具有所有必要許可的 IAM 角色會套用至特定知識庫。  
建議定期更新或輪換憑證與機密。僅授予作業所需的最低存取層級，以確保自身安全。不建議您在資料來源之間重複使用憑證和機密。

## 連線組態
<a name="configuration-salesforce-connector"></a>

若要連線至 Salesforce 執行個體，您必須提供必要的組態資訊，Amazon Bedrock 才能存取和網路爬取您的資料。您也必須遵循 [必要條件](#prerequisites-salesforce-connector)。

本節包含此資料來源的組態範例。

如需文件欄位的自動偵測、包含/排除篩選條件、增量同步、私密身分驗證憑證，以及這些運作方式的詳細資訊，請選取下列各項：

### 自動偵測主要文件欄位
<a name="ds-salesforce-document-fields"></a>

資料來源連接器會自動偵測和網路爬取文件或內容的所有主要中繼資料欄位。例如，資料來源連接器可以網路爬取與您文件同等的文件內文、文件標題、文件建立或修改日期，或其他可能適用於文件的核心欄位。

**重要**  
如果內容包含敏感資訊，則 Amazon Bedrock 可能會使用敏感資訊來回應。

您可以將篩選運算子套用至中繼資料欄位，以協助您進一步改善回應的相關性。例如，文件 "epoch\$1modification\$1time" 或文件上次更新時間的 1970 年 1 月 1 日經過的秒數。您可以篩選最近的資料，其中 "epoch\$1modification\$1time" *大於*特定數字。如需可套用至中繼資料欄位之篩選運算子的詳細資訊，請參閱[中繼資料和篩選](https://docs.aws.amazon.com/bedrock/latest/userguide/kb-test-config.html)。

### 包含/排除篩選條件
<a name="ds-salesforce-inclusion-exclusion"></a>

您可以包含或排除網路爬取特定內容。例如，您可以指定排除字首/規則表達式模式，略過對檔案名稱中包含「私有」的任何檔案的網路爬取。您也可以指定包含字首/規則表達式模式，以包含特定內容實體或內容類型。如果您指定包含篩選條件和排除篩選條件，且兩者皆與文件相符，則排除篩選條件會優先，且不會網路爬取文件。

規則運算式模式的範例，用於排除或篩選出行銷活動名稱中包含 "private" 的行銷活動：*".\$1private.\$1"*

您可以在下列內容類型上套用包含/排除篩選條件：
+ `Account`：帳戶號碼/識別碼
+ `Attachment`：附件檔案名稱及其副檔名
+ `Campaign`：行銷活動名稱和相關聯的識別碼
+ `ContentVersion`：文件版本和相關聯的識別碼
+ `Partner`：合作夥伴資訊欄位，包括相關聯的識別碼
+ `Pricebook2`：產品/價格清單名稱
+ `Case`：客戶查詢/問題編號和其他資訊欄位，包括相關聯的識別碼 (請注意：可包含個人資訊，您可以選擇排除或篩選掉)
+ `Contact`：客戶資訊欄位 (請注意：可包含個人資訊，您可以選擇排除或篩選掉)
+ `Contract`：合約名稱和相關聯的識別碼
+ `Document`：檔案名稱及其副檔名
+ `Idea`：構想資訊欄位和相關聯的識別碼
+ `Lead`：潛在的新客戶資訊欄位 (請注意：可包含個人資訊，您可以選擇排除或篩選掉)
+ `Opportunity`：待定的銷售/交易資訊欄位和相關聯的識別碼
+ `Product2`：產品資訊欄位和相關聯的識別碼
+ `Solution`：客戶查詢/問題的解決方案名稱和相關聯的識別碼
+ `Task`：任務資訊欄位和相關聯的識別碼
+ `FeedItem`：Chatter 摘要文章的識別碼
+ `FeedComment`：評論所屬的 Chatter 摘要文章其識別碼
+ `Knowledge__kav`：知識文章標題
+ `User`：組織內的使用者別名
+ `CollaborationGroup`：Chatter 群組名稱 (唯一)

### 增量同步
<a name="ds-salesforce-incremental-sync"></a>

每次資料來源與知識庫同步時，資料來源連接器都會網路爬取新的、修改過的和刪除的內容。Amazon Bedrock 可以使用資料來源的機制來追蹤自上次同步以來變更的內容變更和網路爬取內容。當您第一次將資料來源與知識庫同步時，依預設會網路爬取所有內容。

若要將資料來源與知識庫同步，請使用 [StartIngestionJob](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent_StartIngestionJob.html) API，或在主控台中選取知識庫，然後在資料來源概觀區段中選取**同步**。

**重要**  
您從資料來源同步的所有資料可供具有 `bedrock:Retrieve` 許可能擷取資料的任何人使用。這也可以包含具有受控資料來源許可的任何資料。如需詳細資訊，請參閱[知識庫許可](https://docs.aws.amazon.com/bedrock/latest/userguide/kb-permissions.html)。

### 私密身分驗證憑證
<a name="ds-salesforce-secret-auth-credentials"></a>

(對於 OAuth 2.0 身分驗證) 您在 AWS Secrets Manager 中的私密身分驗證憑證應包含這些鍵/值對：
+ `consumerKey`：*應用程式用戶端 ID*
+ `consumerSecret`：*應用程式用戶端機密*
+ `authenticationUrl`：*Salesforce 執行個體 URL 或請求身分驗證字符的來源 URL*

**注意**  
您在 AWS Secrets Manager 中的秘密必須使用與知識庫相同的區域。

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

**將 Salesforce 執行個體連接至您的知識庫**

1. 遵循 [透過連線至 Amazon Bedrock 知識庫中的資料來源來建立知識庫](knowledge-base-create.md) 中的步驟，然後選擇 **Salesforce** 作為資料來源。

1. 提供資料來源的名稱和選用的描述。

1. 提供 Salesforce 執行個體 URL。例如，*https://company.salesforce.com/*。執行個體必須執行 Salesforce 連線應用程式。

1. 在**進階設定**區段中，您可以選擇設定下列項目：
   + **用於暫時性資料儲存的 KMS 金鑰。**– 您可以使用預設 AWS 受管金鑰 或您自己的 KMS 金鑰，在將資料轉換為嵌入時加密暫時性資料。如需詳細資訊，請參閱 [資料擷取期間的暫時性資料儲存加密](encryption-kb.md#encryption-kb-ingestion)。
   + **資料刪除政策** – 您可以刪除預設存放在向量存放區中資料來源的向量嵌入，或選擇保留向量存放區資料。

1. 提供驗證資訊以連線到 Salesforce 執行個體：

   1. 若是 OAuth 2.0 身分驗證，請前往 AWS Secrets Manager 新增您的私密身分驗證憑證，或使用現有的 Amazon Resource Name (ARN) 作為您建立的密碼。您的機密必須包含 Salesforce 連線應用程式消費者金鑰 (用戶端 ID)、消費者機密 (用戶端機密)，以及 Salesforce 執行個體 URL 或請求身分驗證字符的來源 URL。如需詳細資訊，請參閱有關[建立連線應用程式](https://help.salesforce.com/s/articleView?id=sf.connected_app_create.htm&type=5)和[設定 OAuth 2.0 用戶端憑證的連線應用程式](https://help.salesforce.com/s/articleView?id=sf.connected_app_client_credentials_setup.htm&type=5)的 Salesforce 文件。

1. (選用) 在**內容剖析和分塊**區段中，您可以自訂如何將資料剖析和分塊。請參閱下列資源進一步了解這些自訂項目：
   + 如需剖析選項的詳細資訊，請參閱[剖析資料來源的選項](kb-advanced-parsing.md)。
   + 如需有關分塊策略的詳細資訊，請參閱[內容群集如何適用於知識庫](kb-chunking.md)。
**警告**  
在連線至資料來源之後，便無法變更分塊策略。
   + 如需如何使用 Lambda 函數自訂資料分塊和處理中繼資料的詳細資訊，請參閱[使用自訂轉換 Lambda 函數來定義如何擷取您的資料](kb-custom-transformation.md)。

1. 選擇以使用篩選條件/規則表達式模式來包含或排除特定內容。否則將會網路爬取所有標準內容。

1. 繼續選擇嵌入模型和向量存放區。若要查看剩餘的步驟，請返回[透過連線至 Amazon Bedrock 知識庫中的資料來源來建立知識庫](knowledge-base-create.md)，並在連接資料來源後繼續進行該步驟。

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

以下是 Amazon Bedrock 知識庫連線至 Salesforce 的組態範例。您可以使用 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-data-source-customize-ingestion.md)。

**AWS Command Line Interface**

```
aws bedrock create-data-source \
 --name "Salesforce connector" \
 --description "Salesforce data source connector for Amazon Bedrock to use content in Salesforce" \
 --knowledge-base-id "your-knowledge-base-id" \
 --data-source-configuration file://salesforce-bedrock-connector-configuration.json \
 --data-deletion-policy "DELETE" \
 --vector-ingestion-configuration '{"chunkingConfiguration":[{"chunkingStrategy":"FIXED_SIZE","fixedSizeChunkingConfiguration":[{"maxTokens":"100","overlapPercentage":"10"}]}]}'

salesforce-bedrock-connector-configuration.json
{
    "salesforceConfiguration": {
        "sourceConfiguration": {
            "hostUrl": "https://company.salesforce.com/",
            "authType": "OAUTH2_CLIENT_CREDENTIALS",
            "credentialsSecretArn": "arn:aws::secretsmanager:your-region:secret:AmazonBedrock-Salesforce"
        },
        "crawlerConfiguration": {
            "filterConfiguration": {
                "type": "PATTERN",
                "patternObjectFilter": {
                    "filters": [
                        {
                            "objectType": "Campaign",
                            "inclusionFilters": [
                                ".*public.*"
                            ],
                            "exclusionFilters": [
                                ".*private.*"
                            ]
                        }
                    ]
                }
            }
        }
    },
    "type": "SALESFORCE"
}
```

------

# 為您的知識庫網路爬取網頁
<a name="webcrawl-data-source-connector"></a>

Amazon Bedrock 提供的 Web 編目程式會連線至您選取的 URL 並進行網路爬取，以用於 Amazon Bedrock 知識庫中。您可以根據設定的範圍或限制，為所選的 URL 網路爬取網站頁面。您可以使用 [Amazon Bedrock 的 AWS 管理主控台](https://console.aws.amazon.com/bedrock/home)或 [CreateDataSource API](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent_CreateDataSource.html) 來網路爬取網站頁面 (請參閱 Amazon Bedrock [支援的 SDK 和 AWS CLI](https://docs.aws.amazon.com/bedrock/latest/APIReference/welcome.html))。目前，只有 Amazon OpenSearch Serverless 向量存放區可搭配此資料來源使用。

**注意**  
Web 編目程式資料來源連接器為預覽版本，可能會有所變更。

選取要網路爬取的網站時，您必須遵守 [Amazon 可接受的使用政策](https://aws.amazon.com/aup/)以及 Amazon 所有其他條款。請記住，您只能使用 Web 編目程式為自己的網頁或您具有授權可網路爬取的網頁建立索引，且必須符合 robots.txt 組態。

Web 編目程式遵守 [RFC 9309](https://www.rfc-editor.org/rfc/rfc9309.html) 符合 robots.txt 的規定。

可以網路爬取的網頁內容項目數量及各內容項目的大小 (單位 MB) 都有限制。請參閱[知識庫的配額](https://docs.aws.amazon.com/bedrock/latest/userguide/quotas.html)。

**Topics**
+ [支援的功能](#supported-features-webcrawl-connector)
+ [必要條件](#prerequisites-webcrawl-connector)
+ [連線組態](#configuration-webcrawl-connector)

## 支援的功能
<a name="supported-features-webcrawl-connector"></a>

Web 編目程式從種子 URL 開始連線到 HTML 頁面並網路爬取 HTML 頁面，周遊相同頂層主要網域和路徑下的所有子連結。如果有任何 HTML 頁面參考支援的文件，Web 編目程式將擷取這些文件，無論其是否位於相同的頂層主要網域中。您可以變更網路爬取組態來修改網路爬取行為 - 請參閱[連線組態](#configuration-webcrawl-connector)。

支援您執行下列動作：
+ 選取多個來源 URL 進行網路爬取，並將 URL 的範圍設定為僅網路爬取主機或亦包含子網域。
+ 網路爬取屬於來源 URL 一部分的靜態網頁。
+ 指定自訂使用者代理程式字尾，為您自己的編目程式設定規則。
+ 包含或排除符合篩選條件模式的特定 URL。
+ 遵守標準 robots.txt 指令，例如「Allow」和「Disallow」。
+ 限制要網路爬取的 URL 範圍，並選擇性地排除符合篩選條件模式的 URL。
+ 限制網路爬取 URL 的速率和要網路爬取的頁面數目上限。
+ 在 Amazon CloudWatch 中檢視已網路爬取 URL 的狀態

## 必要條件
<a name="prerequisites-webcrawl-connector"></a>

**若要使用 Web 編目程式，請確定：**
+ 檢查您是否獲得網路爬取來源 URL 的授權。
+ 檢查對應至來源 URL 的 robots.txt 路徑，並不會阻止網路爬取 URL。Web 編目程式遵循 robots.txt 的標準：如果網站找不到 robots.txt，則預設為 `disallow`。Web 編目程式遵守 [RFC 9309](https://www.rfc-editor.org/rfc/rfc9309.html) 符合 robots.txt 的規定。您也可以指定自訂使用者代理程式標頭字尾，為您自己的編目程式設定規則。如需詳細資訊，請參閱此頁面上 [連線組態](#configuration-webcrawl-connector) 指示中的 Web 編目程式 URL 存取。
+ [啟用 CloudWatch Logs 交付](https://docs.aws.amazon.com/bedrock/latest/userguide/knowledge-bases-logging.html)，並遵循 Web 編目程式日誌的範例，以檢視用於擷取 Web 內容的資料擷取任務狀態，以及是否無法擷取特定 URL。

**注意**  
選取要網路爬取的網站時，您必須遵守 [Amazon 可接受的使用政策](https://aws.amazon.com/aup/)以及 Amazon 所有其他條款。請記住，您只能使用 Web 編目程式為自己的網頁或您具有授權可網路爬取的網頁建立索引。

## 連線組態
<a name="configuration-webcrawl-connector"></a>

如需網路爬取 URL、包含/排除篩選條件、URL 存取、增量同步及這些運作方式的同步範圍詳細資訊，請選取下列項目：

### 網路爬取 URL 的同步範圍
<a name="ds-sync-scope"></a>

您可以根據每個頁面 URL 與種子 URL 間的特定關係，來限制可網路爬取 URL 的範圍。若要加速網路爬取，您可以將 URL 限制為具有相同主機及種子 URL 其初始 URL 路徑的 URL。如需更廣泛的網路爬取，您可以選擇網路爬取具有相同主機或在種子 URL 其任何子網域內的 URL。

您可以從下列選項來選擇。
+ 預設：將網路爬取限制在屬於相同主機且具有相同初始 URL 路徑的網頁。例如，如果種子 URL 為「https://aws.amazon.com/bedrock/」，則將僅網路爬取此路徑與從此路徑延伸的網頁，例如「https://aws.amazon.com/bedrock/agents/」。例如，不會網路爬取像是「https://aws.amazon.com/ec2/」的同級 URL。
+ 僅限主機：將網路爬取限制在屬於相同主機的網頁。例如，如果種子 URL 為「https://aws.amazon.com/bedrock/」，則也將網路爬取具有「https://aws.amazon.com」的網頁，例如「https://aws.amazon.com/ec2」。
+ 子網域：包含網路爬取與種子 URL 具有相同主要網域的任何網頁。例如，如果種子 URL 為「https://aws.amazon.com/bedrock/」，則也將網路爬取包含「amazon.com」(子網域) 的任何網頁，例如「https://www.amazon.com」。

**注意**  
請確定您未網路爬取過多的網頁。不建議在沒有篩選條件或範圍限制的情況下網路爬取大型網站，例如 wikipedia.org。網路爬取大型網站需花費很長的時間進行網路爬取。  
無論範圍為何，且如果該檔案類型沒有排除模式，都會網路爬取[支援的檔案類型](https://docs.aws.amazon.com/bedrock/latest/userguide/knowledge-base-ds.html)。

Web 編目程式支援靜態網站。

您也可以限制網路爬取 URL 的速率，以控制網路爬取速度的限流。您可以設定每分鐘網路爬取每個主機的 URL 數目上限。此外，您也可以設定要網路爬取的網頁總數上限 (最多 25,000 個)。請注意，如果來源 URL 的網頁總數超過設定上限，則資料來源同步/擷取任務將會失敗。

### 包含/排除篩選條件
<a name="ds-inclusion-exclusion"></a>

您可以根據範圍包含或排除特定 URL。無論範圍為何，且如果該檔案類型沒有排除模式，都會網路爬取[支援的檔案類型](https://docs.aws.amazon.com/bedrock/latest/userguide/knowledge-base-ds.html)。如果您指定包含篩選條件和排除篩選條件，且兩者皆與文件相符，則排除篩選條件會優先，且不會網路爬取 Web 內容。

**重要**  
導致[災難性回溯](https://docs.aws.amazon.com/codeguru/detector-library/python/catastrophic-backtracking-regex/)和前瞻的有問題規則運算式模式篩選條件會遭到拒絕。

例如，會排除結尾為「.pdf」的 URL 或 PDF 網頁附件的規則運算式篩選條件模式：*".\$1\$1.pdf\$1"*

### Web 編目程式 URL 存取
<a name="ds-webcrawl-identity-crawling"></a>

您可以使用 Web 編目程式來編目您獲授權網路爬取的網站頁面。

選取要網路爬取的網站時，您必須遵守 [Amazon 可接受的使用政策](https://aws.amazon.com/aup/)以及 Amazon 所有其他條款。請記住，您只能使用 Web 編目程式為自己的網頁或您具有授權可網路爬取的網頁建立索引。

Web 編目程式遵守 [RFC 9309](https://www.rfc-editor.org/rfc/rfc9309.html) 符合 robots.txt 的規定。

您可以將特定使用者代理程式機器人指定為「允許」或「不允許」使用者代理程式來網路爬取來源 URL。您可以修改網站的 robots.txt 檔案，以控制 Web 編目程式如何網路爬取來源 URL 的方式。編目程式會先尋找 `bedrockbot-UUID ` 規則，然後在 robots.txt 檔案中尋找一般 `bedrockbot` 規則。

您也可以新增 User-Agent 字尾，用於在機器人保護系統中將您的編目程式加入允許清單。請注意，此字尾不需要新增至 `robots.txt` 檔案，以確保沒有一切可以模擬使用者代理程式字串。例如，若要允許 Web 編目程式網路爬取所有網站內容，且不允許任何其他機器人的網路爬取，請使用下列指令：

```
User-agent: bedrockbot-UUID # Amazon Bedrock Web Crawler
Allow: / # allow access to all pages
User-agent: * # any (other) robot
Disallow: / # disallow access to any pages
```

### 增量同步
<a name="ds-incremental-sync"></a>

每次 Web 編目程式執行時，都會擷取可從來源 URL 連線且符合範圍和篩選條件的所有 URL 內容。對於在所有內容第一次同步後的增量同步，Amazon Bedrock 將使用新的和修改後的內容更新您的知識庫，並移除不再存在的舊內容。有時，編目程式可能無法判斷內容是否已從網站中移除；在這種情況下，它會傾向在知識庫中保留舊內容。

若要將資料來源與知識庫同步，請使用 [StartIngestionJob](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent_StartIngestionJob.html) API，或在主控台中選取知識庫，然後在資料來源概觀區段中選取**同步**。

**重要**  
您從資料來源同步的所有資料可供具有 `bedrock:Retrieve` 許可能擷取資料的任何人使用。這也可以包含具有受控資料來源許可的任何資料。如需詳細資訊，請參閱[知識庫許可](https://docs.aws.amazon.com/bedrock/latest/userguide/kb-permissions.html)。

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

**將 Web 編目程式資料來源連接到知識庫**

1. 遵循 [透過連線至 Amazon Bedrock 知識庫中的資料來源來建立知識庫](knowledge-base-create.md) 的步驟，然後選擇 **Web 編目程式**做為資料來源。

1. 提供資料來源的名稱和選用的描述。

1. 提供所要網路爬取 URL 的**來源 URL**。您最多可以新增 9 個額外的 URL，方法是選取**新增來源 URL**。透過提供來源 URL，即表示您確認已獲授權可網路爬取其網域。

1. 在**進階設定**區段中，您可以選擇設定下列項目：
   + **用於暫時性資料儲存的 KMS 金鑰。**– 您可以使用預設 AWS 受管金鑰 或您自己的 KMS 金鑰，在將資料轉換為嵌入時加密暫時性資料。如需詳細資訊，請參閱 [資料擷取期間的暫時性資料儲存加密](encryption-kb.md#encryption-kb-ingestion)。
   + **資料刪除政策** – 您可以刪除預設存放在向量存放區中資料來源的向量嵌入，或選擇保留向量存放區資料。

1. (選用) 為 **bedrock-UUID-** 提供使用者代理程式字尾，用於在存取 Web 伺服器時識別編目程式或機器人。

1. 在**同步範圍**區段中設定下列項目：

   1. 選取用於網路爬取您來源 URL 的**網站網域範圍**：
      + 預設：將網路爬取限制在屬於相同主機且具有相同初始 URL 路徑的網頁。例如，如果種子 URL 為「https://aws.amazon.com/bedrock/」，則將僅網路爬取此路徑與從此路徑延伸的網頁，例如「https://aws.amazon.com/bedrock/agents/」。例如，不會網路爬取像是「https://aws.amazon.com/ec2/」的同級 URL。
      + 僅限主機：將網路爬取限制在屬於相同主機的網頁。例如，如果種子 URL 為「https://aws.amazon.com/bedrock/」，則也將網路爬取具有「https://aws.amazon.com」的網頁，例如「https://aws.amazon.com/ec2」。
      + 子網域：包含網路爬取與種子 URL 具有相同主要網域的任何網頁。例如，如果種子 URL 為「https://aws.amazon.com/bedrock/」，則也將網路爬取包含「amazon.com」(子網域) 的任何網頁，例如「https://www.amazon.com」。
**注意**  
請確定您未網路爬取過多的網頁。不建議在沒有篩選條件或範圍限制的情況下網路爬取大型網站，例如 wikipedia.org。網路爬取大型網站需花費很長的時間進行網路爬取。  
無論範圍為何，且如果該檔案類型沒有排除模式，都會網路爬取[支援的檔案類型](https://docs.aws.amazon.com/bedrock/latest/userguide/knowledge-base-ds.html)。

   1. 輸入**網路爬取速度最大限流**。每分鐘擷取每部主機 1 到 300 個之間的 URL。網路爬取速度越快，負載會增加，但花費的時間較少。

   1. 輸入 1 到 25000 之間的**資料來源同步的頁數上限**。限制從來源 URL 網路爬取的網頁數量上限。如果網頁超過此數字，則資料來源同步將會失敗，而且不會擷取任何網頁。

   1. 對於 **URL 規則運算式**模式 (選用)，您可以在方塊中輸入規則運算式模式來新增**包含模式**或**排除模式**。您可以選取**新增模式**來新增最多 25 個包含和 25 個排除篩選條件模式。其會根據您的範圍來網路爬取包含和排除模式。如有衝突，則以排除模式為優先。

1. (選用) 在**內容剖析和分塊**區段中，您可以自訂如何將資料剖析和分塊。請參閱下列資源進一步了解這些自訂項目：
   + 如需剖析選項的詳細資訊，請參閱[剖析資料來源的選項](kb-advanced-parsing.md)。
   + 如需有關分塊策略的詳細資訊，請參閱[內容群集如何適用於知識庫](kb-chunking.md)。
**警告**  
在連線至資料來源之後，便無法變更分塊策略。
   + 如需如何使用 Lambda 函數自訂資料分塊和處理中繼資料的詳細資訊，請參閱[使用自訂轉換 Lambda 函數來定義如何擷取您的資料](kb-custom-transformation.md)。

1. 繼續選擇嵌入模型和向量存放區。若要查看剩餘的步驟，請返回[透過連線至 Amazon Bedrock 知識庫中的資料來源來建立知識庫](knowledge-base-create.md)，並在連接資料來源後繼續進行該步驟。

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

若要使用 Web 編目程式將知識庫連接至資料來源，請使用 [Amazon Bedrock 代理程式建置時期端點](https://docs.aws.amazon.com/general/latest/gr/bedrock.html#bra-bt)傳送 [CreateDataSource](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent_CreateDataSource.html) 請求，在 [DataSourceConfiguration](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent_DataSourceConfiguration.html) 的 `type` 欄位中指定 `WEB`，並包含 `webConfiguration` 欄位。以下是 Amazon Bedrock 知識庫的 Web 編目程式組態範例。

```
{
    "webConfiguration": {
        "sourceConfiguration": {
            "urlConfiguration": {
                "seedUrls": [{
                    "url": "https://www.examplesite.com"
                }]
            }
        },
        "crawlerConfiguration": {
            "crawlerLimits": {
                "rateLimit": 50,
                "maxPages": 100
            },
            "scope": "HOST_ONLY",
            "inclusionFilters": [
                "https://www\.examplesite\.com/.*\.html"
            ],
            "exclusionFilters": [
                "https://www\.examplesite\.com/contact-us\.html"
            ],
            "userAgent": "CustomUserAgent"
        }
    },
    "type": "WEB"
}
```

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

------

# 將知識庫連結到自訂資料來源
<a name="custom-data-source-connector"></a>

您可以連結到自訂資料來源以享有下列優點，而不是選擇支援的資料來源服務：
+ 對您希望知識庫能夠存取的資料類型的彈性和控制。
+ 能夠使用 `KnowledgeBaseDocuments` API 操作直接擷取或刪除文件，而無需同步變更。
+ 能夠直接透過 Amazon Bedrock 主控台或 API 檢視資料來源中的文件。
+ 能夠直接在 中將文件上傳至資料來源，AWS 管理主控台或內嵌新增文件。
+ 在資料來源中新增或更新文件時，可以直接將中繼資料新增至每個文件。如需從資料來源擷取資訊時如何使用中繼資料進行篩選的詳細資訊，請參閱[設定和自訂查詢和回應產生](kb-test-config.md)中的**中繼資料和篩選**索引標籤。

**多模態內容支援**  
自訂資料來源支援多模式內容，包括高達 10MB base64 編碼的影像、音訊和影片檔案。如需使用多模態內容的完整指引，請參閱 [建立多模態內容的知識庫](kb-multimodal.md)。

若要將知識庫連結到自訂資料來源，請使用 [Amazon Bedrock 代理程式建置時期端點](https://docs.aws.amazon.com/general/latest/gr/bedrock.html#bra-bt)傳送 [CreateDataSource](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent_CreateDataSource.html) 請求。指定要連結至其中的知識庫 `knowledgeBaseId`，將 `name` 提供給資料來源，並將 `dataSourceConfiguration` 中的 `type` 欄位指定為 `CUSTOM`。以下顯示建立此資料來源的最基本範例：

```
PUT /knowledgebases/KB12345678/datasources/ HTTP/1.1
Content-type: application/json

{
    "name": "MyCustomDataSource",
    "dataSourceConfiguration": {
        "type": "CUSTOM"
    }
}
```

您可以包含下列任何選用欄位來設定資料來源：


****  

| 欄位 | 使用案例 | 
| --- | --- | 
| description | 提供資料來源的描述。 | 
| clientToken | 為確保 API 請求，僅完成一次。如需詳細資訊，請參閱[確保冪等性](https://docs.aws.amazon.com/ec2/latest/devguide/ec2-api-idempotency.html)。 | 
| serverSideEncryptionConfiguration | 將資料轉換為嵌入時，為暫時性資料儲存指定自訂 KMS 金鑰。如需詳細資訊，請參閱[資料擷取期間的暫時性資料儲存加密](encryption-kb.md#encryption-kb-ingestion) | 
| dataDeletionPolicy | 如果您刪除資料來源，請為向量存放區中的資料來源設定向量嵌入的操作。指定 RETAIN 來保留向量存放區中的資料，或指定 DELETE 的預設選項來刪除這些資料。 | 
| vectorIngestionConfiguration | 設定資料來源的擷取選項。如需詳細資訊，請參閱下方。 | 

`vectorIngestionConfiguration` 欄位會對應至包含下列欄位的 [VectorIngestionConfiguration](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent_VectorIngestionConfiguration.html) 物件：
+ chunkingConfiguration：設定策略，此策略會用於將資料來源中的文件分塊。如需有關分塊策略的詳細資訊，請參閱[內容群集如何適用於知識庫](kb-chunking.md)。
+ parsingConfiguration：設定用於剖析資料來源的策略。如需剖析選項的詳細資訊，請參閱[剖析資料來源的選項](kb-advanced-parsing.md)。
+ customTransformationConfiguration：自訂資料轉換的方式，以及套用 Lambda 函數以實現更多的自訂。如需如何使用 Lambda 函數自訂資料分塊和處理中繼資料的詳細資訊，請參閱[使用自訂轉換 Lambda 函數來定義如何擷取您的資料](kb-custom-transformation.md)。

設定自訂資料來源之後，您可以將文件新增至其中，並直接將其擷取至知識庫。與其他資料來源不同，您不需要同步自訂資料來源。若要了解如何直接擷取文件，請參閱[將變更直接擷取到知識庫](kb-direct-ingestion.md)。

# 自訂資料來源的擷取
<a name="kb-data-source-customize-ingestion"></a>

您可以在 中連接資料來源時自訂向量擷取， AWS 管理主控台 或在傳送 [CreateDataSource](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent_CreateDataSource.html) 請求時修改 `vectorIngestionConfiguration` 欄位的值。

選取主題，了解如何在連線至資料來源時包含用於自訂擷取的組態：

**Topics**
+ [選擇要用於剖析的工具](#kb-data-source-customize-parsing)
+ [選擇群集策略](#kb-data-source-customize-chunking)
+ [在擷取期間使用 Lambda 函式](#kb-data-source-customize-lambda)

## 選擇要用於剖析的工具
<a name="kb-data-source-customize-parsing"></a>

您可以自訂如何剖析資料中的文件。若要了解在 Amazon Bedrock 知識庫中剖析資料的選項，請參閱 [剖析資料來源的選項](kb-advanced-parsing.md)。

**警告**  
在連線至資料來源之後，便無法變更剖析策略。若要使用不同的剖析策略，您可以新增新的資料來源。  
建立知識庫之後，您就無法新增 S3 位置來存放多模態資料 (包括影像、圖形、圖表和資料表)。如果您想要包含多模態資料並使用支援它的剖析器，必須建立新的知識庫。

選擇剖析策略所涉及的步驟取決於您使用的是 AWS 管理主控台 或 Amazon Bedrock API，以及您選擇的剖析方法。如果您選擇支援多模態資料的剖析方法，則必須指定要在其中存放從文件中擷取之多模態資料的 S3 URI。可在知識庫查詢中傳回此資料。
+ 在 中 AWS 管理主控台，執行下列動作：

  1. 當您在設定知識庫時，或是將新的資料來源新增至現有的知識庫時，請選取剖析策略。

  1. (如果您選擇 Amazon Bedrock Data Automation 或基礎模型作為剖析策略) 當您選取嵌入模型並設定向量存放區時，指定要在**多模態儲存目的地**區段中存放從文件擷取之多模型資料的 S3 URI。在此步驟中，您也可以選擇性地使用客戶受管金鑰來加密 S3 資料。
+ 在 Amazon Bedrock API 中，執行下列操作：

  1. (如果您打算使用 Amazon Bedrock Data Automation 或基礎模型作為剖析策略) 在 [CreateKnowledgeBase](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent_CreateKnowledgeBase.html) 請求的 [VectorKnowledgeBaseConfiguration](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent_VectorKnowledgeBaseConfiguration.html) 中包含 [SupplementalDataStorageLocation](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent_SupplementalDataStorageLocation.html)。

  1. 在 [CreateDataSource](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent_CreateDataSource.html) 請求中 [VectorIngestionConfiguration](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent_VectorIngestionConfiguration.html) 的 `parsingConfiguration` 欄位中包含 [ParsingConfiguration](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent_ParsingConfiguration.html)。
**注意**  
如果您省略此組態，則 Amazon Bedrock 知識庫會使用 Amazon Bedrock 預設剖析器。

如需如何在 API 中指定剖析策略的詳細資訊，請展開對應至您所要使用剖析策略的區段：

### Amazon Bedrock 預設剖析器
<a name="w2aac28c10c23c15c17c11c13b1"></a>

若要使用預設剖析器，請勿在 `VectorIngestionConfiguration` 中包含 `parsingConfiguration` 欄位。

### Amazon Bedrock Data Automation 剖析器 (預覽)
<a name="w2aac28c10c23c15c17c11c13b3"></a>

若要使用 Amazon Bedrock Data Automation 剖析器，請在 `ParsingConfiguration` 的 `parsingStrategy` 欄位中指定 `BEDROCK_DATA_AUTOMATION`，並在 `bedrockDataAutomationConfiguration` 欄位中包含 [BedrockDataAutomationConfiguration](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent_BedrockDataAutomationConfiguration.html)，格式如下：

```
{
    "parsingStrategy": "BEDROCK_DATA_AUTOMATION",
    "bedrockDataAutomationConfiguration": {
        "parsingModality": "string"
    }
}
```

### 基礎模型
<a name="w2aac28c10c23c15c17c11c13b5"></a>

若要使用基礎模型做為剖析器，請在 `ParsingConfiguration` 的 `parsingStrategy` 欄位中指定 `BEDROCK_FOUNDATION_MODEL`，並在 `bedrockFoundationModelConfiguration` 欄位中包含 [BedrockFoundationModelConfiguration](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent_BedrockFoundationModelConfiguration.html)，如下所示：

```
{
    "parsingStrategy": "BEDROCK_FOUNDATION_MODEL",
    "bedrockFoundationModelConfiguration": {
        "modelArn": "string",
        "parsingModality": "string",
        "parsingPrompt": {
            "parsingPromptText": "string"
        }
    }
}
```

## 選擇群集策略
<a name="kb-data-source-customize-chunking"></a>

您可以自訂資料中的文件在儲存與擷取時的分塊方式。若要了解在 Amazon Bedrock 知識庫中群集資料的選項，請參閱 [內容群集如何適用於知識庫](kb-chunking.md)。

**警告**  
在連線至資料來源之後，便無法變更分塊策略。

在 中， AWS 管理主控台 您在連線至資料來源時選擇區塊策略。使用 Amazon Bedrock API，您可以在 [VectorIngestionConfiguration](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent_VectorIngestionConfiguration.html) 的 `chunkingConfiguration` 欄位中包含 [ChunkingConfiguration](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent_ChunkingConfiguration.html)。

**注意**  
如果您省略此組態，Amazon Bedrock 會將您的內容分割成大約 300 個字符的區塊，同時保留句子邊界。

展開對應至您要使用之剖析策略的區段：

### 無群集
<a name="w2aac28c10c23c15c17c13c13b1"></a>

若要將資料來源中的每個文件視為單一來源區塊，請在 `ChunkingConfiguration` 的 `chunkingStrategy` 欄位中指定 `NONE`，如下列格式所示：

```
{
    "chunkingStrategy": "NONE"
}
```

### 固定大小群集
<a name="w2aac28c10c23c15c17c13c13b3"></a>

若要將資料來源中的每個文件分割為大約相同大小的區塊，請在 `ChunkingConfiguration` 的 `chunkingStrategy` 欄位中指定 `FIXED_SIZE`，並在 `fixedSizeChunkingConfiguration` 欄位中包含 [FixedSizeChunkingConfiguration](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent_FixedSizeChunkingConfiguration.html)，如下列格式所示：

```
{
    "chunkingStrategy": "FIXED_SIZE",
    "fixedSizeChunkingConfiguration": {
        "maxTokens": number,
        "overlapPercentage": number
    }
}
```

### 階層群集
<a name="w2aac28c10c23c15c17c13c13b5"></a>

若要將資料來源中的每個文件分成兩個層級，其中第二層包含衍生自第一層的較小區塊，請在 `ChunkingConfiguration` 的 `chunkingStrategy` 欄位中指定 `HIERARCHICAL`，並包含 `hierarchicalChunkingConfiguration` 欄位，如下列格式所示：

```
{
    "chunkingStrategy": "HIERARCHICAL",
    "hierarchicalChunkingConfiguration": {
        "levelConfigurations": [{
            "maxTokens": number
        }],
        "overlapTokens": number
    }
}
```

### 語意群集
<a name="w2aac28c10c23c15c17c13c13b7"></a>

若要將資料來源中的每個文件分割為以語意意義優先於語法結構的區塊，請在 `ChunkingConfiguration` 的 `chunkingStrategy` 欄位中指定 `SEMANTIC`，並包含 `semanticChunkingConfiguration` 欄位，如下列格式所示：

```
{
    "chunkingStrategy": "SEMANTIC",
    "semanticChunkingConfiguration": {
        "breakpointPercentileThreshold": number,
        "bufferSize": number,
        "maxTokens": number
    }
}
```

## 在擷取期間使用 Lambda 函式
<a name="kb-data-source-customize-lambda"></a>

您可以透過下列方式，使用 Lambda 函式將資料中的來源區塊寫入向量存放區：
+ 包含群集邏輯以提供自訂群集策略。
+ 包含邏輯以指定區塊層級中繼資料。

若要了解如何撰寫用於擷取的自訂 Lambda 函式，請參閱 [使用自訂轉換 Lambda 函數來定義如何擷取您的資料](kb-custom-transformation.md)。在 中 AWS 管理主控台 ，您在連線至資料來源時選擇 Lambda 函數。使用 Amazon Bedrock API，您可以在 [VectorIngestionConfiguration](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent_VectorIngestionConfiguration.html) 的 `CustomTransformationConfiguration` 欄位中包含 [CustomTransformationConfiguration](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent_CustomTransformationConfiguration.html)，並指定 Lambda 的 ARN，如下列格式所示：

```
{
    "transformations": [{
        "transformationFunction": {
            "transformationLambdaConfiguration": {
                "lambdaArn": "string"
            }
        },
        "stepToApply": "POST_CHUNKING"
    }],
    "intermediateStorage": {
        "s3Location": {
            "uri": "string"
        }
    }
}
```

您也可以指定在套用 Lambda 函式後，存放輸出的 S3 位置。

您可以在套用 Amazon Bedrock 提供的其中一個群集選項之後，包含要套用 Lambda 函式的 `chunkingConfiguration` 欄位。

# 為知識庫設定安全組態
<a name="kb-create-security"></a>

建立知識庫之後，您可能需要設定下列安全組態：

**Topics**
+ [為您的知識庫設定資料存取政策](#kb-create-security-data)
+ [為您的 Amazon OpenSearch Serverless 知識庫設定網路存取政策](#kb-create-security-network)

## 為您的知識庫設定資料存取政策
<a name="kb-create-security-data"></a>

如果您使用[自訂角色](kb-permissions.md)，請為新建立的知識庫設定安全組態。如果您讓 Amazon Bedrock 為您建立服務角色，則可以略過此步驟。依照您設定之資料庫對應索引標籤中的步驟進行。

------
#### [ Amazon OpenSearch Serverless ]

若要將 Amazon OpenSearch Serverless 集合的存取權限制為知識庫服務角色，請建立資料存取政策。您可採用以下方式：
+ 請遵循《Amazon OpenSearch Service 開發人員指南》中的[建立資料存取政策 (主控台)](https://docs.aws.amazon.com/opensearch-service/latest/developerguide/serverless-data-access.html#serverless-data-access-console) 中的步驟，使用 Amazon OpenSearch Service 主控台。
+ 透過使用 [OpenSearch Serverless 端點](https://docs.aws.amazon.com/general/latest/gr/opensearch-service.html#opensearch-service-regions)傳送 [CreateAccessPolicy](https://docs.aws.amazon.com/opensearch-service/latest/ServerlessAPIReference/API_CreateAccessPolicy.html) 請求來使用 AWSAPI。如需AWS CLI範例，請參閱[建立資料存取政策 (AWS CLI)](https://docs.aws.amazon.com/opensearch-service/latest/developerguide/serverless-data-access.html#serverless-data-access-cli)。

使用以下資料存取政策，指定 Amazon OpenSearch Serverless 集合和服務角色：

```
[
    {
        "Description": "${data access policy description}",
        "Rules": [
          {
            "Resource": [
              "index/${collection_name}/*"
            ],
            "Permission": [
                "aoss:DescribeIndex",
                "aoss:ReadDocument",
                "aoss:WriteDocument"
            ],
            "ResourceType": "index"
          }
        ],
        "Principal": [
            "arn:aws:iam::${account-id}:role/${kb-service-role}"
        ]
    }
]
```

------
#### [ Pinecone, Redis Enterprise Cloud or MongoDB Atlas ]

若要整合 Pinecone、Redis Enterprise Cloud、MongoDB Atlas 向量索引，請將下列身分型政策連接至您的知識庫服務角色，以允許它存取向量索引的AWS Secrets Manager秘密。

------
#### [ JSON ]

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [{
        "Effect": "Allow",
        "Action": [
            "bedrock:AssociateThirdPartyKnowledgeBase"
        ],
        "Resource": "*",
        "Condition": {
            "StringEquals": {
                "bedrock:ThirdPartyKnowledgeBaseCredentialsSecretArn": "arn:aws:secretsmanager:us-east-1:123456789012:secret:${secret-id}"
            }
        }
    }]
}
```

------

------

## 為您的 Amazon OpenSearch Serverless 知識庫設定網路存取政策
<a name="kb-create-security-network"></a>

如果您針對知識庫使用私有 Amazon OpenSearch Serverless 集合，則只能透過 AWS PrivateLinkVPC 端點存取。您可以在[設定 Amazon OpenSearch Serverless 向量集合](knowledge-base-setup.md)時建立私有 Amazon OpenSearch Serverless 集合，也可以在設定其網路存取政策時，將現有的 Amazon OpenSearch Serverless 集合 (包括 Amazon Bedrock 主控台為您建立的集合) 設為私有。

《Amazon OpenSearch Service 開發人員指南》中的下列資源將協助您了解私有 Amazon OpenSearch Serverless 集合所需的設定：
+ 如需為私有 Amazon OpenSearch Serverless 集合設定 VPC 端點的詳細資訊，請參閱[使用介面端點存取 Amazon OpenSearch Serverless (AWS PrivateLink)](https://docs.aws.amazon.com/opensearch-service/latest/developerguide/serverless-vpc.html)。
+ 如需 Amazon OpenSearch Serverless 中網路存取政策的詳細資訊，請參閱 [Amazon OpenSearch Serverless 的網路存取](https://docs.aws.amazon.com/opensearch-service/latest/developerguide/serverless-network.html)。

若要允許 Amazon Bedrock 知識庫存取私有 Amazon OpenSearch Serverless 集合，您必須編輯 Amazon OpenSearch Serverless 集合的網路存取政策，以允許 Amazon Bedrock 做為來源服務。選擇您偏好方法的索引標籤，然後遵循下列步驟：

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

1. 開啟位於 https：//[https://console.aws.amazon.com/aos/](https://console.aws.amazon.com/aos/) 的 Amazon OpenSearch Service 主控台。

1. 從左側導覽窗格選取**集合**。然後選擇您的集合。

1. 在**網路**區段中，選取**關聯政策**。

1. 選擇**編輯**。

1. 對於**選取政策定義方法**，執行下列其中一項：
   + 將**選取政策定義方法**保留為**視覺化編輯器**，並在**規則 1** 區段中設定下列設定：

     1. (選用) 在**規則名稱**欄位中，輸入網路存取規則的名稱。

     1. 在**存取集合來源**下，選取**私有 (建議)**。

     1. 選取 **AWS 服務私有存取**。在文字方塊中輸入 **bedrock.amazonaws.com**。

     1. 取消選取**啟用對 OpenSearch Dashboards 的存取。**
   + 選擇 **JSON**，然後將下列政策貼到 **JSON 編輯器**中。

     ```
     [
         {                                        
             "AllowFromPublic": false,
             "Description":"${network access policy description}",
             "Rules":[
                 {
                     "ResourceType": "collection",
                     "Resource":[
                         "collection/${collection-id}"
                     ]
                 }
             ],
             "SourceServices":[
                 "bedrock.amazonaws.com"
             ]
         }
     ]
     ```

1. 選擇**更新**。

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

若要編輯 Amazon OpenSearch Serverless 集合的網路存取政策，請執行下列動作：

1. 使用 [OpenSearch Serverless 端點](https://docs.aws.amazon.com/general/latest/gr/opensearch-service.html#opensearch-service-regions)傳送 [GetSecurityPolicy](https://docs.aws.amazon.com/opensearch-service/latest/ServerlessAPIReference/API_GetSecurityPolicy.html) 請求。指定政策的 `name`，並將 `type` 指定為 `network`。記下回應中的 `policyVersion`。

1. 使用 [OpenSearch Serverless 端點](https://docs.aws.amazon.com/general/latest/gr/opensearch-service.html#opensearch-service-regions)傳送 [UpdateSecurityPolicy](https://docs.aws.amazon.com/opensearch-service/latest/ServerlessAPIReference/API_UpdateSecurityPolicy.html) 請求。至少指定下列欄位：  
****    
[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/zh_tw/bedrock/latest/userguide/kb-create-security.html)

   ```
   [
       {                                        
           "AllowFromPublic": false,
           "Description":"${network access policy description}",
           "Rules":[
               {
                   "ResourceType": "collection",
                   "Resource":[
                       "collection/${collection-id}"
                   ]
               }
           ],
           "SourceServices":[
               "bedrock.amazonaws.com"
           ]
       }
   ]
   ```

如需AWS CLI範例，請參閱[建立資料存取政策 (AWS CLI)](https://docs.aws.amazon.com/opensearch-service/latest/developerguide/serverless-data-access.html#serverless-data-access-cli)。

------
+ 遵循[建立網路政策 (主控台)](https://docs.aws.amazon.com/opensearch-service/latest/developerguide/serverless-network.html#serverless-network-console) 中的步驟，使用 Amazon OpenSearch Service 主控台。請不要建立網路政策，而是在集合詳細資訊的**網路**子區段中記下**關聯的政策**。