本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
搭配 Amazon Bedrock 知識庫使用 S3 向量
注意
Amazon S3 Vectors 目前為 Amazon Simple Storage Service 的預覽版本,可能會有所變更。
S3 Vectors 與 Amazon Bedrock 知識庫
如需整合 Amazon Bedrock 內嵌模型與 S3 Vectors 操作之高階 CLI 命令的詳細資訊,請參閱 。
整合概觀
在 Amazon Bedrock 中建立知識庫時,您可以選擇 S3 向量作為向量存放區。這項整合會提供下列功能:
-
使用大型向量資料集的 RAG 應用程式可節省成本。
-
與 Amazon Bedrock 的全受管 RAG 工作流程無縫整合。
-
Amazon Bedrock 服務處理的自動向量管理。
-
知識庫擷取操作的次秒查詢延遲。
Amazon Bedrock 知識庫提供全受管end-to-end RAG 工作流程。當您使用 S3 向量建立知識庫時,Amazon Bedrock 會自動從 S3 資料來源擷取資料、將內容轉換為文字區塊、產生內嵌,並將它們存放在向量索引中。然後,您可以查詢知識庫,並根據從來源資料擷取的區塊產生回應。
何時使用此整合
當您需要下列項目時,請考慮搭配 Amazon Bedrock 知識庫使用 S3 向量:
-
符合成本效益的大型資料集向量儲存,其次秒的查詢延遲符合您的應用程式需求。
-
用於搜尋手冊、政策和視覺化內容等使用案例的文字和影像型文件擷取。
-
優先考慮儲存成本最佳化而非超低延遲回應的 RAG 應用程式。
-
受管向量操作不需要直接學習 S3 Vectors API 操作 - 您可以繼續使用熟悉的 Amazon Bedrock 界面。
-
具有 Amazon S3 耐用性和可擴展性的長期向量儲存
此整合非常適合建置 RAG 應用程式的組織,這些應用程式需要搜尋書面內容和映像並從中擷取洞見,其中 S3 Vectors 的成本效益符合可接受的查詢效能要求。
支援的內嵌模型
S3 Vectors 與 Amazon Bedrock 知識庫整合支援下列內嵌模型:
-
amazon.titan-embed-text-v2:0 - 用於文字型內嵌
-
amazon.titan-embed-image-v1 - 用於影像和多模態內嵌
-
cohere.embed-english-v3 - 用於多語言和專業文字內嵌
先決條件和許可
使用 S3 Vectors 建立知識庫之前,請確定您有下列項目:
-
S3 Vectors 和 Amazon Bedrock 服務的適當 IAM 許可。如需 S3 向量 IAM 許可的詳細資訊,請參閱 S3 向量中的身分和存取管理。如需 Amazon Bedrock 知識庫服務角色存取 S3 Vectors 的 IAM 許可的詳細資訊,請參閱《Amazon Bedrock 使用者指南》中的存取 Amazon S3 Vectors 中的向量存放區的許可。
-
準備擷取至知識庫的來源文件。
-
了解您的內嵌模型需求。
設定安全組態時,您可以選擇提供 Amazon Bedrock 存取所需 AWS 服務的 IAM 角色。您可以讓 Amazon Bedrock 建立服務角色或使用您自己的自訂角色。如果您使用自訂角色,請設定向量儲存貯體政策,將對向量儲存貯體和向量索引的存取限制為自訂角色。
如需必要許可和 IAM 角色的詳細資訊,請參閱《Amazon Bedrock 使用者指南》中的為 Amazon Bedrock 知識庫建立服務角色。 服務角色也必須具有 S3 Vectors 和 AWS KMS API 操作的許可。
使用 S3 向量建立知識庫
您可以透過兩種方法建立使用 S3 向量的知識庫。
方法一:使用 Amazon Bedrock 主控台
在 Amazon Bedrock 主控台中建立知識庫時,您可以選擇「S3 向量儲存貯體」作為向量存放區選項。您有兩個設定選項:
-
快速建立新的向量存放區 - Amazon Bedrock 會建立 S3 向量儲存貯體和向量索引,並使用所需的設定進行設定。根據預設,向量儲存貯體會使用伺服器端加密搭配 Amazon S3 受管金鑰 (SSE-S3) 進行加密。您可以選擇性地使用 加密儲存貯體 AWS KMS。如需在主控台中快速建立新向量存放區的詳細資訊,請參閱《Amazon Bedrock 使用者指南》中的透過連線至 Amazon Bedrock 知識庫中的資料來源來建立知識庫。
-
選擇您已建立的向量存放區 - 從您先前建立的帳戶中選擇現有的 S3 向量儲存貯體和向量索引。如需在 Amazon Bedrock 知識庫主控台中建立 S3 向量儲存貯體和向量索引的詳細資訊,請參閱《Amazon Bedrock 使用者指南》中的使用您為知識庫建立之向量存放區的先決條件中的 S3 向量索引標籤。
如需step-by-step說明,請參閱《Amazon Bedrock 使用者指南》中的透過連線至 Amazon Bedrock 知識庫中的資料來源來建立知識庫。
方法二:使用 Amazon SageMaker Unified Studio
您也可以透過 Amazon SageMaker AI Unified Studio 中的 Amazon Bedrock,使用 S3 Vectors 建立和管理知識庫。 Amazon SageMaker
SageMaker AI Unified Studio 中的 Amazon Bedrock
如需有關在 SageMaker AI Unified Studio 中使用 S3 Vectors 搭配 Amazon Bedrock 的資訊,請參閱 SageMaker AI Unified Studio 使用者指南中的將資料來源新增至 Amazon Bedrock 應用程式。 SageMaker
管理和查詢您的知識庫
資料同步和管理
Amazon Bedrock 知識庫提供擷取任務操作,讓您的資料來源和向量內嵌保持同步。當您同步資料來源時,Amazon Bedrock 會掃描每個文件,並驗證該文件是否已編製到向量存放區中。您也可以使用 IngestKnowledgeBaseDocuments 操作,將文件直接索引到向量存放區。最佳實務是為每個知識庫建立單獨的向量存放區,以確保資料同步。
當您刪除知識庫或資料來源資源時,Amazon Bedrock 提供兩種資料刪除政策: Delete
(預設) 和 Retain
。如果您選擇Delete
政策,則向量索引和向量儲存貯體中的向量會自動刪除。
查詢和擷取
設定知識庫之後,您可以執行下列動作:
-
使用擷取 API 操作從來源資料擷取區塊。 https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent-runtime_Retrieve.html
-
使用 RetrieveAndGenerate API 操作根據擷取的區塊產生回應。
-
直接在 Amazon Bedrock 主控台中測試查詢。
回應會傳回原始來源資料的引文。
限制
搭配 Amazon Bedrock 知識庫使用 S3 向量時,您應該知道下列限制:
-
僅限語意搜尋:S3 Vectors 支援語意搜尋,但不支援混合搜尋功能。
-
S3 向量大小限制:每個向量都有可篩選中繼資料的總中繼資料大小限制和大小限制,這可能限制自訂中繼資料和篩選選項。如需每個向量中繼資料和可篩選中繼資料大小限制的詳細資訊,請參閱 限制。
-
區塊策略限制:由於中繼資料大小限制,僅限於將內容分割為最多 500 個字符區塊的模型。
-
僅限浮點向量:不支援二進位向量內嵌。
如需使用 Amazon Bedrock 知識庫的完整指引,請參閱《Amazon Bedrock 使用者指南》中的擷取資料並使用 Amazon Bedrock 知識庫產生 AI 回應。