

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

# 搭配 Amazon Bedrock 知識庫使用 S3 Vectors
<a name="s3-vectors-bedrock-kb"></a>

S3 Vectors 與 [Amazon Bedrock 知識庫](https://aws.amazon.com/bedrock/knowledge-bases/)和 [Amazon SageMaker AI Unified Studio](https://aws.amazon.com/sagemaker/unified-studio/) 整合，以簡化和降低檢索增強生成 (RAG) 應用程式的向量儲存成本。

如需整合 Amazon Bedrock 嵌入模型與 S3 Vectors 操作之高階 CLI 命令的詳細資訊，請參閱 。

**Topics**
+ [整合概觀](#s3-vectors-bedrock-kb-overview)
+ [何時使用此整合](#s3-vectors-bedrock-kb-when)
+ [支援的嵌入模型](#s3-vectors-bedrock-kb-models)
+ [先決條件和許可](#s3-vectors-bedrock-kb-prereq)
+ [使用 S3 Vectors 建立知識庫](#s3-vectors-bedrock-kb-create)
+ [管理和查詢您的知識庫](#s3-vectors-bedrock-kb-manage)
+ [限制](#s3-vectors-bedrock-kb-limits)

## 整合概觀
<a name="s3-vectors-bedrock-kb-overview"></a>

在 Amazon Bedrock 中建立知識庫時，您可以選取 S3 Vectors 做為向量存放區。這項整合會提供下列功能：
+ 使用大型向量資料集的 RAG 應用程式可**節省成本**。
+ 與 Amazon Bedrock 的全託管 RAG 工作流程**無縫整合**。
+ Amazon Bedrock 服務處理的**自動向量管理**。
+ **低於秒的冷查詢延遲，以及低至 100 毫秒的暖查詢延遲**，適用於知識庫擷取操作。

Amazon Bedrock 知識庫提供全託管的端對端 RAG 工作流程。當您使用 S3 Vectors 建立知識庫時，Amazon Bedrock 會自動從 S3 資料來源擷取資料、將內容轉換為文字區塊、產生嵌入，並將其儲存在向量索引中。接著您可以查詢知識庫，並根據從來源資料擷取的區塊產生回應。

## 何時使用此整合
<a name="s3-vectors-bedrock-kb-when"></a>

當您需要下列項目時，請考量搭配 Amazon Bedrock 知識庫使用 S3 Vectors：
+ **符合成本效益的大型資料集向量儲存**，其不到一秒的查詢延遲符合您的應用程式要求。
+ **的文字和影像型文件檢索**適用於搜尋手冊、政策和視覺內容等使用案例。
+ **RAG 應用程式**優先考量儲存成本最佳化，而不是超低延遲回應。
+ **受管向量運算**不需要直接學習 S3 Vectors API 操作 - 您可以繼續使用熟悉的 Amazon Bedrock 介面。
+ **長期向量儲存**具有 Amazon S3 耐久性和可擴展性

此整合非常適用於建置 RAG 應用程式的組織，這些應用程式需要從書面內容和影像中搜尋和擷取洞見，其中 S3 Vectors 的成本效益符合可接受的查詢效能要求。

## 支援的嵌入模型
<a name="s3-vectors-bedrock-kb-models"></a>

請參閱《*Amazon Bedrock 使用者指南*》中[支援的向量內嵌模型](https://docs.aws.amazon.com/bedrock/latest/userguide/knowledge-base-supported.html#knowledge-base-supported-embeddings)。

## 先決條件和許可
<a name="s3-vectors-bedrock-kb-prereq"></a>

使用 S3 Vectors 建立知識庫之前，請確定您具有下列項目：
+ 適用於 S3 Vectors 和 Amazon Bedrock 服務的 IAM 許可。如需 S3 Vectors 的 IAM 許可的詳細資訊，請參閱 [S3 Vectors 中的身分和存取管理](s3-vectors-access-management.md)。如需 Amazon Bedrock 知識庫服務角色存取 S3 Vectors 的 IAM 許可的詳細資訊，請參閱《Amazon Bedrock 使用者指南》**中的[在 Amazon S3 Vectors 中存取向量存放區的許可](https://docs.aws.amazon.com/bedrock/latest/userguide/kb-permissions.html#kb-permissions-s3vectors)。
+ 為擷取至知識庫而準備的來源文件。
+ 了解您的嵌入模型要求。

設定安全組態時，您可以選擇提供 Amazon Bedrock 存取必要 AWS 服務的 IAM 角色。您可以讓 Amazon Bedrock 建立服務角色，或使用您自己的自訂角色。如果您使用自訂角色，請設定向量儲存貯體政策，將對向量儲存貯體和向量索引的存取，限制為自訂角色。

如需必要許可和 IAM 角色的詳細資訊，請參閱《Amazon Bedrock 使用者指南》**中的[為 Amazon Bedrock 知識庫建立服務角色](https://docs.aws.amazon.com/bedrock/latest/userguide/kb-permissions.html)。服務角色也必須具有 S3 Vectors 和 AWS KMS API 操作的許可。

## 使用 S3 Vectors 建立知識庫
<a name="s3-vectors-bedrock-kb-create"></a>

您可以透過兩種方法建立使用 S3 Vectors 的知識庫。

### 方法一：使用 Amazon Bedrock 主控台
<a name="s3-vectors-bedrock-kb-create-console"></a>

在 Amazon Bedrock 主控台建立知識庫時，您可以選擇「S3 向量儲存貯體」做為向量存放區選項。您有兩種設定選項：
+ **快速建立新的向量存放區** - Amazon Bedrock 會建立 S3 向量儲存貯體和向量索引，並使用所需的設定值進行設定。根據預設，向量儲存貯體會藉由 Amazon S3 受管金鑰 (SSE-S3) 使用伺服器端加密進行加密。您可以選擇使用 加密儲存貯體 AWS KMS。如需在主控台**快速建立新的向量存放區**的詳細資訊，請參閱《Amazon Bedrock 使用者指南》**中的[透過連線至 Amazon Bedrock 知識庫中的資料來源來建立知識庫](https://docs.aws.amazon.com/bedrock/latest/userguide/knowledge-base-create.html)。
+ **選擇您已建立的向量存放區** - 從您先前建立的帳戶中選擇現有的 S3 向量儲存貯體和向量索引。如需在 Amazon Bedrock 知識庫主控台建立 S3 向量儲存貯體和向量索引的詳細資訊，請參閱《Amazon Bedrock 使用者指南》**中的[使用您為知識庫建立之向量存放區的先決條件](https://docs.aws.amazon.com/bedrock/latest/userguide/knowledge-base-setup.html)中的 S3 向量索引標籤。

如需詳細逐步指示，請參閱《Amazon Bedrock 使用者指南》**中的[透過連線至 Amazon Bedrock 知識庫中的資料來源建立知識庫](https://docs.aws.amazon.com/bedrock/latest/userguide/knowledge-base-create.html)。

### 方法二：使用 Amazon SageMaker Unified Studio
<a name="s3-vectors-bedrock-kb-create-studio"></a>

您也可以透過 [Amazon SageMaker AI Unified Studio](https://aws.amazon.com/sagemaker/unified-studio/) 中的 Amazon Bedrock，使用 S3 Vectors 建立和管理知識庫。這提供統一的開發環境，用於建置和測試使用知識庫的 AI 應用程式。

[SageMaker AI Unified Studio 中的 Amazon Bedrock](https://aws.amazon.com/bedrock/unifiedstudio/) 是專為需要整合筆記本功能並跨多個 AWS ML 和分析服務工作的使用者而設計。您可以在建置生成式 AI 應用程式時，快速建立 S3 向量儲存貯體，並將其設定為知識庫的向量存放區。

如需有關在 SageMaker AI Unified Studio 中搭配 Amazon Bedrock 使用 S3 Vectors 的資訊，請參閱《SageMaker AI Unified Studio 使用者指南》**中的[將資料來源新增至 Amazon Bedrock 應用程式](https://docs.aws.amazon.com/sagemaker-unified-studio/latest/userguide/data-sources.html)。

## 管理和查詢您的知識庫
<a name="s3-vectors-bedrock-kb-manage"></a>

### 資料同步和管理
<a name="s3-vectors-bedrock-kb-manage-sync"></a>

Amazon Bedrock 知識庫提供擷取任務操作，讓您的資料來源和向量嵌入保持同步。當您同步資料來源時，Amazon Bedrock 會掃描每個文件，並確認是否已將索引編製到向量存放區中。您也可以使用 [IngestKnowledgeBaseDocuments](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent_IngestKnowledgeBaseDocuments.html) 操作，將文件直接索引到向量存放區。最佳實務是為每個知識庫建立單獨的向量存放區，以確保資料同步。

當您刪除知識庫或資料來源資源時，Amazon Bedrock 會提供兩種資料刪除政策：`Delete` (預設) 和 `Retain`。如果您選擇 `Delete` 政策，向量索引和向量儲存貯體中的向量會自動刪除。

### 查詢和檢索
<a name="s3-vectors-bedrock-kb-manage-query"></a>

設定知識庫之後，您可以執行下列動作：
+ 使用[擷取](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent-runtime_Retrieve.html) API 操作，從來源資料**擷取區塊**。
+ 使用 [RetrieveAndGenerate](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent-runtime_RetrieveAndGenerate.html) API 操作，根據擷取的區塊**產生回應**。
+ 直接在 Amazon Bedrock 主控台**測試查詢**。

回應會傳回原始來源資料的引文。

## 限制
<a name="s3-vectors-bedrock-kb-limits"></a>

搭配 Amazon Bedrock 知識庫使用 S3 Vectors 時，須知下列限制：
+ **僅限語義搜尋**：S3 Vectors 支援語義搜尋，但不支援混合搜尋功能。
+ **S3 Vectors 大小限制**：每個向量都有可篩選之中繼資料的總計中繼資料大小限制和大小限制，這可能會限制自訂中繼資料和篩選選項。搭配 Amazon Bedrock 知識庫使用 S3 Vectors 作為向量存放區時，每個向量最多可連接 1KB 的自訂中繼資料和 35 個中繼資料金鑰。
+ **區塊策略限制**：在 Amazon Bedrock 知識庫中使用非常高的字符計數與階層式區塊時，您可以超過中繼資料大小上限，因為父子區塊關係和階層內容會儲存為 S3 向量中不可篩選的中繼資料。如需每個向量中繼資料大小限制的詳細資訊，請參閱 [限制](s3-vectors-limitations.md)。
+ **僅限浮點向量**：不支援二進位向量嵌入。

如需使用 Amazon Bedrock 知識庫的完整指引，請參閱《Amazon Bedrock 使用者指南》**中的[使用 Amazon Bedrock 知識庫擷取資料並產生 AI 回應](https://docs.aws.amazon.com/bedrock/latest/userguide/knowledge-base.html)。