

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

# 透過連線至 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)