本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
建立 Amazon Bedrock 知識庫
您可以建立 Amazon Bedrock 知識庫,從專屬資料擷取資訊,並產生回應來回答自然語言問題。作為建立知識庫的一部分,您可以設定資料來源和您選擇的向量存放區。
注意
您無法使用根使用者建立知識庫。請先使用IAM使用者登入,再開始這些步驟。
選取與您所選方法對應的索引標籤,然後遵循下列步驟:
- Console
-
建立知識庫
-
AWS Management Console 使用IAM具有 Amazon Bedrock 許可 的角色登入 ,並在 開啟 Amazon Bedrock 主控台https://console.aws.amazon.com/bedrock/
。 -
從左側導覽窗格中,選取知識庫 。
-
在知識庫區段中,選取建立知識庫 。
-
在提供知識庫詳細資訊頁面上,設定下列組態:
-
(選用) 在知識庫詳細資訊區段中,變更預設名稱並提供知識庫的說明。
-
在IAM許可區段中,選擇提供 Amazon Bedrock 存取其他服務許可的 AWS Identity and Access Management (IAM) 角色 AWS 。您可以讓 Amazon Bedrock 建立服務角色,或選擇您已建立的自訂角色。
-
(選用) 將標籤新增至知識庫。如需詳細資訊,請參閱標記 Amazon Bedrock 資源。
-
選取下一步。
-
-
在選擇資料來源頁面上,選取要用於知識庫的資料來源:
-
請遵循所選資料來源的連線組態步驟。請參閱支援的資料來源以選取資料來源,並遵循主控台連線組態步驟。
-
(選用) 若要將下列進階設定設定為資料來源組態的一部分,請展開進階設定 - 選用區段。
對於 KMS key 設定,您可以選擇自訂金鑰或使用預設提供的資料加密金鑰。
在將資料轉換為內嵌時,預設會使用 AWS 擁有和管理的金鑰 Amazon Bedrock 來加密您的暫時性資料。您可以使用自己的KMS金鑰。如需詳細資訊,請參閱資料擷取期間的暫時性資料儲存加密。
對於資料刪除政策設定,您可以選擇:
-
刪除:刪除知識庫或資料來源資源時,從資料來源中刪除轉換為向量內嵌的所有資料。請注意,不會刪除向量儲存本身,只會刪除資料。如果刪除 AWS 帳戶,則會忽略此旗標。
-
保留:保留在刪除知識庫或資料來源資源時,從資料來源轉換為向量內嵌的所有資料。請注意,如果您刪除知識庫或資料來源資源,則不會刪除向量儲存體本身。
-
-
若要將下列內容區塊和剖析設定設定為資料來源組態的一部分,請前往內容區塊和剖析區段。
選擇下列其中一個區塊選項:
-
固定大小區塊:將內容分割為設定約略字符大小的文字區塊。您可以設定區塊的權杖數量上限,以及連續區塊之間的重疊百分比。
-
預設區塊:將內容分割為最多 300 個字符的文字區塊。如果單一文件或內容包含少於 300 個字符,則文件不會進一步分割。
-
階層區塊:將內容整理成父子區塊的巢狀結構。您可以設定父區塊權杖大小上限和子區塊權杖大小上限。您也可以設定連續父區塊和連續子區塊之間的重疊權杖絕對數量。
-
語意區塊:將內容組織成語意相似的文字區塊或句子群組。您可以設定圍繞目標/目前句子的句子數量上限,以分組在一起 (緩衝區大小)。您也可以設定中斷點百分位數閾值,將文字分割為有意義的區塊。語意區塊化使用基礎模型。檢視Amazon Bedrock 定價
以取得基礎模型成本的相關資訊。 -
無區塊:每個文件都視為單一文字區塊。您可能想要將文件分割為不同的檔案,以預先處理文件。
注意
您無法在建立資料來源之後變更區塊化策略。
您可以選擇使用 Amazon Bedrock的基礎模型來剖析文件,以剖析超過標準文字。例如,您可以在文件中剖析其結構完好無損的表格資料。檢視Amazon Bedrock 定價
以取得基礎模型成本的相關資訊。 您可以選擇使用 AWS Lambda 函數來自訂區塊化策略,以及文件中繼資料屬性/欄位的處理和擷取方式。提供 Lambda 函數輸入和輸出的 Amazon S3 儲存貯體位置。
-
-
選取下一步。
-
-
在選取內嵌模型和設定向量儲存頁面上,選擇支援的內嵌模型,將資料轉換為知識庫的向量內嵌。
-
在向量存放區區段中,選擇下列其中一個選項來存放知識庫的向量內嵌:
-
快速建立新的向量儲存 – Amazon Bedrock 會為您建立 Amazon OpenSearch Serverless 向量搜尋集合。使用此選項,會為您設定具有必要欄位和必要組態的公有向量搜尋集合和向量索引。建立集合之後,您可以在 Amazon OpenSearch Serverless 主控台或透過 管理集合 AWS API。如需詳細資訊,請參閱 Amazon OpenSearch Service 開發人員指南中的使用向量搜尋集合。如果選取此選項,您可以選擇啟用下列設定:
-
若要啟用備援作用中複本,以便在基礎設施故障時,向量存放區的可用性不會受到影響,請選取啟用備援 (作用中複本)。
注意
我們建議您在測試知識庫時停用此選項。當您準備好部署到生產環境時,建議您啟用備援作用中複本。如需有關定價的資訊,請參閱 OpenSearch Serverless 的定價
-
若要使用客戶受管金鑰加密自動向量存放區,請選取新增 Amazon OpenSearch Serverless 向量的客戶受管KMS金鑰 – 選用,然後選擇金鑰。如需詳細資訊,請參閱加密傳遞給 Amazon OpenSearch 服務的信息。
-
-
選取您已建立的向量存放區 – 選取您已建立的向量存放區的服務。填寫欄位,允許 Amazon Bedrock 將知識庫中的資訊映射到您的向量存放區,以便儲存、更新和管理向量內嵌。如需欄位的詳細資訊,請參閱設定您自己的支援向量存放區。
注意
如果您在 Amazon OpenSearch Serverless、Amazon Aurora 或 MongoDB Atlas 中使用資料庫,您需要事先在欄位映射下設定欄位。如果您在 中使用資料庫 Pinecone 或 Redis Enterprise Cloud,您可以在這裡提供這些欄位的名稱,Amazon Bedrock 會為您在向量儲存中動態建立這些欄位。
-
-
選取下一步。
-
在檢閱和建立頁面上,檢查知識庫的組態和詳細資料。在您需要修改的任何區段中選擇編輯。如果您滿意,請選取建立知識庫。
-
建立知識庫所需的時間取決於您的特定組態。當知識庫建立完成時,知識庫的狀態會變更為就緒或可用狀態。
-
- API
-
若要建立知識庫,請向 Amazon Bedrock 建置時間端點的客服人員傳送CreateKnowledgeBase請求,並提供名稱、說明、應採取的動作說明,以及基礎模型以供其協調。
注意
如果您想要讓 Amazon Bedrock 在 Amazon OpenSearch Service 中為您建立和管理向量存放區,請使用 主控台。如需詳細資訊,請參閱建立 Amazon Bedrock 知識庫。
-
提供在
roleArn
欄位中建立知識庫的ARN許可。 -
提供向量內嵌模型,以在
knowledgeBaseConfiguration
物件中的embeddingModelArn
欄位使用。請參閱支援的知識庫模型 。您必須啟用模型存取,才能使用知識庫支援的模型。記下將資料轉換為向量內嵌所需的模型 Amazon Resource Name (ARN)。複製所選模型的模型 ID 做為知識庫,並依照模型資源類型的ARN範例,ARN使用模型 (資源) ID 建構模型。
-
為您的向量存放區在
storageConfiguration
物件中提供組態設定。如需詳細資訊,請參閱 您自己的向量存儲知識庫的先決條件-
對於 Amazon OpenSearch Service 資料庫,請使用
opensearchServerlessConfiguration
物件。 -
對於 Pinecone 資料庫,請使用
pineconeConfiguration
物件。 -
對於 Redis Enterprise Cloud 資料庫,請使用
redisEnterpriseCloudConfiguration
物件。 -
對於 Amazon Aurora 資料庫,請使用
rdsConfiguration
物件。 -
對於 MongoDB Atlas 資料庫,請使用
mongodbConfiguration
物件。
-
建立知識庫之後,請建立包含知識庫文件或內容的資料來源。若要建立資料來源,請傳送CreateDataSource請求。請參閱支援的資料來源,以選取您的資料來源並遵循API連線組態範例。
-
在
dataSourceConfiguration
欄位中提供資料來源檔案的連線資訊。 -
指定如何在
vectorIngestionConfiguration
欄位中分割資料來源。注意
您無法在建立資料來源之後變更區塊組態。
-
dataDeletionPolicy
為您的資料來源提供 。您可以在刪除知識庫或資料來源資源時,從資料來源轉換為向量內嵌DELETE
的所有資料。如果刪除 AWS 帳戶,則會忽略此旗標。您可以在刪除知識庫或資料來源資源時,從資料來源轉換為向量內嵌RETAIN
的所有資料。請注意,如果您刪除知識庫或資料來源資源,則不會刪除向量儲存體本身。 -
(選用) 將資料轉換為內嵌時,Amazon Bedrock 預設會使用 AWS 擁有和管理的金鑰來加密資料。若要使用您自己的KMS金鑰,請在
serverSideEncryptionConfiguration
物件中包含它。如需詳細資訊,請參閱知識庫資源的加密。
-
為您的知識庫設定安全組態
建立知識庫之後,您可能需要設定下列安全組態:
為您的知識庫設定資料存取政策
如果您使用的是自訂角色 ,請為新建立的知識庫設定安全組態。如果您讓 Amazon Bedrock 為您建立服務角色,您可以略過此步驟。依照您設定之資料庫對應索引標籤中的步驟進行。
- Amazon OpenSearch Serverless
-
若要將 Amazon OpenSearch Serverless 集合的存取限制為知識庫服務角色,請建立資料存取政策。您可以透過下列方式執行此操作:
-
請依照 Amazon OpenSearch Service 開發人員指南中的建立資料存取政策 (主控台) 中的步驟來使用 Amazon OpenSearch Service 主控台。
-
使用 AWS API傳送具有OpenSearch 無伺服器端點 的CreateAccessPolicy請求。如需 AWS CLI 範例,請參閱建立資料存取政策 (AWS 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 秘密。
{ "Version": "2012-10-17", "Statement": [{ "Effect": "Allow", "Action": [ "bedrock:AssociateThirdPartyKnowledgeBase" ], "Resource": "*", "Condition": { "StringEquals": { "bedrock:ThirdPartyKnowledgeBaseCredentialsSecretArn": "arn:aws:iam::
${region}
:${account-id}
:secret:${secret-id}
" } } }] }
為您的 Amazon OpenSearch Serverless 知識庫設定網路存取政策
如果您將私有 Amazon OpenSearch Serverless 集合用於知識庫,則只能透過 AWS PrivateLink VPC端點存取。您可以在設定 Amazon OpenSearch Serverless 向量集合時建立私有 Amazon Serverless 集合,或在設定其網路存取政策時,將現有的 Amazon OpenSearch Serverless 集合 (包括 Amazon Bedrock 主控台為您建立的集合) 設為私有。 OpenSearch
Amazon OpenSearch Service 開發人員指南中的下列資源將協助您了解私有 Amazon OpenSearch Serverless 集合所需的設定:
-
如需設定私有 Amazon OpenSearch Serverless 集合VPC端點的詳細資訊,請參閱使用介面端點 (AWS PrivateLink) 存取 Amazon OpenSearch Serverless。
-
如需 Amazon OpenSearch Serverless 中網路存取政策的詳細資訊,請參閱 Amazon OpenSearch Serverless 的網路存取。
若要允許 Amazon Bedrock 知識庫存取私有 Amazon OpenSearch Serverless 集合,您必須編輯 Amazon OpenSearch Serverless 集合的網路存取政策,以允許 Amazon Bedrock 作為來源服務。選取與您所選方法對應的索引標籤,然後遵循下列步驟:
- Console
-
-
在 開啟 Amazon OpenSearch Service 主控台https://console.aws.amazon.com/aos/
。 -
從左側導覽窗格中,選取集合 。然後選擇您的集合。
-
在網路區段中,選取關聯政策 。
-
選擇編輯。
-
對於選取政策定義方法 ,執行下列其中一項操作:
-
將 Select 政策定義方法保留為視覺化編輯器,並在規則 1 區段中設定下列設定:
-
(選用) 在規則名稱欄位中,輸入網路存取規則的名稱。
-
在從 存取集合下,選取私有 (建議)。
-
選取AWS 服務私有存取 。在文字方塊中,輸入
bedrock.amazonaws.com
。 -
取消選取啟用 OpenSearch 儀表板的存取。
-
-
在JSON編輯器 中選擇JSON並貼上下列政策。
[ { "AllowFromPublic": false, "Description":"
${network access policy description}
", "Rules":[ { "ResourceType": "collection", "Resource":[ "collection/${collection-id}
" ] }, ], "SourceServices":[ "bedrock.amazonaws.com" ] } ]
-
-
選擇更新。
-
- API
-
若要編輯 Amazon OpenSearch Serverless 集合的網路存取政策,請執行下列動作:
-
使用 OpenSearch Serverless 端點 傳送GetSecurityPolicy請求。指定政策
name
的 ,並將 指定type
為network
。記下回應中的policyVersion
。 -
使用OpenSearch 無伺服器端點 傳送UpdateSecurityPolicy請求。至少,請指定下列欄位:
欄位 描述 name 政策的名稱 policyVersion 從 GetSecurityPolicy
回應policyVersion
傳回給您的 。type 安全政策的類型。指定 network
。政策 要使用的政策。指定下列JSON物件 [ { "AllowFromPublic": false, "Description":"
${network access policy description}
", "Rules":[ { "ResourceType": "collection", "Resource":[ "collection/${collection-id}
" ] }, ], "SourceServices":[ "bedrock.amazonaws.com" ] } ]
如需 AWS CLI 範例,請參閱建立資料存取政策 (AWS CLI)。
-
-
請依照建立網路政策 (主控台) 中的步驟使用 Amazon OpenSearch Service 主控台。請不要建立網路政策,而是在集合詳細資訊的網路子區段中記下關聯的政策。