您自己的向量存儲知識庫的先決條件 - Amazon Bedrock

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

您自己的向量存儲知識庫的先決條件

矢量存儲保存數據的矢量嵌入表示。文字會轉換成向量嵌入,並寫入向量索引,同時保持與原始文件的對應。矢量嵌入允許文本進行數學比較。

如果您希望 Amazon 基岩在 Amazon OpenSearch 無伺服器中為您自動建立向量索引,請略過此先決條件並繼續執行。建立 Amazon 基岩知識庫

您可以設定自己支援的向量存放區,為資料的向量嵌入表示建立索引。您可以為下列資料建立欄位:

  • 由您選擇的嵌入模型從資料來源中的文字產生的向量欄位。

  • 從資料來源中的檔案擷取的文字區塊的欄位。

  • Amazon 基岩管理之來源檔案中繼資料的欄位。

  • (如果您使用 Amazon Aurora 資料庫並想要設定中繼資料篩選) 與來源檔案關聯的中繼資料欄位。如果您打算在其他向量存放區中設定篩選,則不需要設定這些欄位進行篩選。

您可以使用KMS金鑰加密第三方向量存放區。如需詳細資訊,請參閱知識庫資源的加密

選取您將用來建立向量索引的向量儲存服務對應的索引標籤。

Amazon OpenSearch Serverless
  1. 若要在 Amazon OpenSearch 無伺服器中設定許可並建立向量搜尋集合 AWS Management Console,請按照 Amazon OpenSearch 服務開發人員指南中的使用向量搜尋集合中的步驟 1 和 2 進行操作。設定商品系列時,請注意下列注意事項:

    1. 為系列提供您選擇的名稱和描述。

    2. 若要將您的集合設為私人,請為「安全性」區段選取「標準建立」 然後,在 [網路存取設定] 區段中 VPC,選取 [存取類型] 並選擇VPC端點。如需為 Amazon OpenSearch 無伺服器集合設定VPC端點的詳細資訊,請參閱使用界面端點存取 Amazon OpenSearch 無伺服器 (AWS PrivateLink) 在 Amazon OpenSearch 服務開發人員指南中。

  2. 建立集合後,請注意建立知識庫時的集合ARN

  3. 在左側導覽窗格中,選取「無伺服器」下的「集合」。然後選擇您的向量搜索集合。

  4. 選取 [索引] 索引標籤。然後選擇「建立向量索引」。

  5. 在「向量索引詳細資料」區段中,於「向量索引名稱」欄位中輸入索引的名稱

  6. 在「向量欄位」區段中,選擇「新增向量欄位」。Amazon 基岩會在此欄位中存放資料來源的向量嵌入。提供下列組態:

    • 向量欄位名稱 — 提供欄位的名稱 (例如,embeddings)。

    • 引擎-用於搜索的矢量引擎。選擇費斯

    • 維度 — 向量中的維度數。請參閱下表以確定向量應包含多少維度:

      模型 維度
      Titan G1 嵌入-文字 1,536
      Titan V2 嵌入-文本 1,024
      Cohere Embed 英文 1,024
      Cohere Embed 多語言 1,024
    • 距離指標 — 用於測量向量之間相似性的指標。我們建議使用歐幾里得

  7. 展開「中繼資料管理」區段並新增兩個欄位來設定向量索引,以儲存知識庫可以透過向量擷取的其他中繼資料。下表說明要為每個欄位指定的欄位和值:

    欄位描述 對應欄位 資料類型 可篩選
    Amazon 基岩會將資料中的原始文字區塊,並在此欄位中存放區塊。 您選擇的名稱 (例如,text) 字串 True
    Amazon 基岩會在此欄位中儲存與您的知識庫相關的中繼資料。 您選擇的名稱 (例如,bedrock-metadata) 字串 False
  8. 建立知識庫時,請記下您為向量索引名稱、向量圖欄位名稱和中繼資料管理對應欄位名稱選擇的名稱。然後選擇 Create (建立)

創建矢量索引後,您可以繼續創建知識庫。下表摘要說明您將在何處輸入您記下的每個資訊。

欄位 知識庫設定 (主控台) 中的對應欄位 知識庫設定中的對應欄位 (API) 描述
收藏 ARN 收藏 ARN 集合 ARN 矢量搜索集合的 Amazon 資源名稱(ARN)。
向量索引名稱 向量索引名稱 vectorIndexName 向量索引的名稱。
向量欄位名稱 向量欄位 vectorField 要在其中儲存資料來源向量嵌入的欄位名稱。
中繼資料管理 (第一個對應欄位) 文字欄位 textField 用於儲存資料來源原始文字的欄位名稱。
中繼資料管理 (第二個對應欄位) 基礎管理的中繼資料欄位 metadataField 用於存放 Amazon 基岩管理之中繼資料的欄位名稱。

如需在 Amazon OpenSearch 無伺服器中設定向量存放區的詳細文件,請參閱 Amazon 服 OpenSearch 務開發人員指南中的使用向量搜尋集合

Amazon Aurora (RDS)
  1. 依照使用 Aurora Postgre SQL 做為知識庫中的步驟,建立 Amazon Aurora 資料庫 (資料庫) 叢集、結構描述和表格。當您建立資料表時,請使用下列欄和資料類型進行設定。您可以使用自己喜歡的列名,而不是下表中列出的列名。記下您選擇的資料欄名稱,以便您可以在知識庫設定期間提供這些資料欄名稱。

    欄名稱 資料類型 知識庫設定 (主控台) 中的對應欄位 知識庫設定中的對應欄位 (API) 描述
    id UUID主要關鍵字 主索引鍵 primaryKeyField 包含每個記錄的唯一識別碼。
    內嵌項目 向量 向量欄位 vectorField 包含資料來源的向量內嵌項目。
    大塊 文字 文字欄位 textField 包含來自資料來源的原始文字區塊。
    中繼資料 JSON 基礎管理的中繼資料欄位 metadataField 包含執行來源屬性及啟用資料擷取和查詢所需的中繼資料
  2. (選擇性) 如果您已將中繼資料新增至檔案進行篩選,您也必須為檔案中的每個中繼資料屬性建立欄,並指定資料類型 (文字、數字或布林值)。例如,如果屬性genre存在於資料來源中,您可以新增名為的欄,genre並將其指定text為資料類型。在資料擷取期間,這些欄會填入對應的屬性值。

  3. 配置 AWS Secrets Manager 遵循使用亞馬遜 Aurora 和密碼管理中的步驟,為您的 Aurora 資料庫叢集提供秘密 AWS Secrets Manager.

  4. 建立資料庫叢集並設定秘密之後,請注意下列資訊。

    知識庫設定 (主控台) 中的欄位 知識庫設定中的欄位 (API) 描述
    Amazon Aurora DB 集群 ARN resourceArn 您ARN的數據庫集群。
    資料庫名稱 databaseName 您資料庫的名稱
    資料表名稱 tableName 資料庫叢集中的資料表名稱
    秘密 ARN credentialsSecretArn ARN的 AWS Secrets Manager 資料庫叢集的金鑰
Pinecone
注意

如果您使用 Pinecone,您同意授權 AWS 代表您訪問指定的第三方來源,以向您提供矢量商店服務。您有責任遵守適用於從第三方服務使用和傳輸資料的任何第三方條款。

有關在中設置矢量存儲的詳細文檔 Pinecone, 看到松果作為 Amazon 基岩知識庫.

設定向量存放區時,請注意下列資訊,以便在建立知識庫時填寫這些資訊:

  • 連接字串 — 索引管理頁面的端點URL。

  • 命名空間 — (選擇性) 用來將新資料寫入資料庫的命名空間。如需詳細資訊,請參閱使用命名空間

建立時,您必須提供其他組態 Pinecone 指數:

  • 名稱 — 向量索引的名稱。選擇您選擇的任何有效名稱。稍後,當您建立知識庫時,請在向量索引名稱欄位中輸入您選擇的名稱。

  • 維度 — 向量中的維度數。請參閱下表以確定向量應包含多少維度。

    模型 維度
    Titan G1 嵌入-文字 1,536
    Titan V2 嵌入-文本 1,024
    Cohere Embed 英文 1,024
    Cohere Embed 多語言 1,024
  • 距離指標 — 用於測量向量之間相似性的指標。我們建議您針對使用案例嘗試不同的指標。我們建議從餘弦相似性開始。

若要存取您的 Pinecone 指數,您必須提供 Pinecone API通過 Amazon 基岩的關鍵 AWS Secrets Manager.

若要設定您的密碼 Pinecone 組態
  1. 按照「創建」中的步驟操作 AWS Secrets Manager 秘密,將密鑰設置為apiKey並將值設置為訪問您的密API鑰 Pinecone 索引。

  2. 要找到你的API鑰匙, 打開你的松果控制台,然後選擇API鑰匙.

  3. 建立密碼之後,請記下KMS金鑰ARN的。

  4. 依照中的步驟,將權限附加至您ARN的服務角色,以解密KMS金鑰解密包含您知識庫的向量存放區密 AWS Secrets Manager 碼的權限

  5. 稍後,當您建立知識庫時,請ARN在 [認證密碼 ARN] 欄位中輸入。

Redis Enterprise Cloud
注意

如果您使用 Redis Enterprise Cloud,您同意授權 AWS 代表您訪問指定的第三方來源,以向您提供矢量商店服務。您有責任遵守適用於從第三方服務使用和傳輸數據的任何第三方條款。

有關在中設置矢量存儲的詳細文檔 Redis Enterprise Cloud,請參閱整合 Redis Enterprise Cloud 與 Amazon 基岩

設定向量存放區時,請注意下列資訊,以便在建立知識庫時填寫這些資訊:

  • 端點 URL — 資料庫的公URL用端點。

  • 向量索引名稱 — 資料庫的向量索引名稱。

  • 向量欄位 — 將儲存向量嵌入的欄位名稱。請參閱下表以確定向量應包含多少維度。

    模型 維度
    Titan G1 嵌入-文字 1,536
    Titan V2 嵌入-文本 1,024
    Cohere Embed 英文 1,024
    Cohere Embed 多語言 1,024
  • 文字欄位 — Amazon 基岩儲存原始文字區塊的欄位名稱。

  • 基礎管理的中繼資料欄位 — Amazon 基岩儲存與您知識庫相關之中繼資料的欄位名稱。

若要存取您的 Redis Enterprise Cloud 叢集,您必須提供 Redis Enterprise Cloud 通過 Amazon 基岩安全配置 AWS Secrets Manager.

若要設定您的密碼 Redis Enterprise Cloud 組態
  1. 遵循傳輸層安全性 () TLS 中的步驟,即可TLS將您的資料庫與 Amazon 基岩搭配使用。

  2. 按照「創建」中的步驟操作 AWS Secrets Manager 秘密。使用適當的值設置以下鍵 Redis Enterprise Cloud 秘密中的配置:

    • username— 用於訪問您的用戶名 Redis Enterprise Cloud 數據庫。若要尋找您的使用者名稱,請查看 Redis 主控台內資料庫的安全性區段下方。

    • password— 訪問您的密碼 Redis Enterprise Cloud 數據庫。若要尋找您的使用者名,請查看 Redis 主控台內資料庫的安全性區段下方。

    • serverCertificate— 來自 Redis 雲端憑證授權單位的憑證內容。依照下載憑證的步驟,從 Redis 管理主控台下載伺服器憑證。

    • clientPrivateKey— 來自 Redis 雲端憑證授權單位之憑證的私密金鑰。依照下載憑證的步驟,從 Redis 管理主控台下載伺服器憑證。

    • clientCertificate— Redis 雲端憑證授權單位的憑證公有金鑰。依照下載憑證的步驟,從 Redis 管理主控台下載伺服器憑證。

  3. 建立密碼之後,請注意其ARN。稍後,當您建立知識庫時,請ARN在 [認證密碼 ARN] 欄位中輸入。

MongoDB Atlas
注意

如果您使用 MongoDB 地圖集,則表示您同意授權 AWS 代表您訪問指定的第三方來源,以向您提供矢量商店服務。您有責任遵守適用於從第三方服務使用和傳輸資料的任何第三方條款。

有關在 MongoDB 地圖集中設置向量存儲的詳細文檔,請參閱 MongoDB 地圖集作為 Amazon 基岩的知識庫。

當您設定向量存放區時,請注意您在建立知識庫時要新增的下列資訊:

  • 端點 URL — 您URL的 MongoDB 地圖集群集的端點。

  • 資料庫名稱 — MongoDB 地圖集叢集中的資料庫名稱。

  • 集合名稱 — 資料庫中集合的名稱。

  • 登入資料密碼 ARN — 您在秘密 Sec AWS rets Manager 中建立的密碼的 Amazon 資源名稱 (ARN),其中包含 MongoDB Atlas 叢集中資料庫使用者的使用者名稱和密碼。

  • (選擇性) 登入資料密KMS鑰的客戶管理金鑰 ARN — 如果您加密了登入資料密碼ARN,請提供KMS金鑰,以便 Amazon Bedrock 可以將其解密。

在創建 MongoDB 地圖集索引時,您必須提供字段映射的其他配置:

  • 向量索引名稱 — 您集合上的 MongoDB 圖集向量搜尋索引的名稱。

  • 向量欄位名稱 — Amazon 基岩應存放向量嵌入的欄位名稱。

  • 文字欄位名稱 — Amazon 基岩應將原始區塊文字儲存在其中的欄位名稱。

  • 中繼資料欄位名稱 — Amazon 基岩應將來源歸因中繼資料儲存在其中的欄位名稱。

(選擇性) 若要讓 Amazon 基岩連線到 MongoDB 地圖集叢集 AWS PrivateLink,請參閱使用 Amazon 基岩使用 MongoDB 地圖集的RAG工作流程