透過連線至 Amazon Bedrock 知識庫中的資料來源來建立知識庫 - Amazon Bedrock

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

透過連線至 Amazon Bedrock 知識庫中的資料來源來建立知識庫

當您透過連線至資料來源來建立知識庫時,您可以設定或指定下列項目:

  • 定義和識別知識庫的一般資訊

  • 具有知識庫許可的服務角色。

  • 知識庫的組態,包括從資料來源轉換資料時使用的內嵌模型、存放內嵌之服務的儲存組態,以及選擇性存放多模型資料的 S3 位置。

注意

您無法使用根使用者建立知識庫。請先使用 IAM 使用者登入,再開始這些步驟。

展開與您的使用案例對應的區段:

設定知識庫
  1. AWS Management Console 使用具有 Amazon Bedrock 許可的 IAM 角色登入 ,然後開啟 Amazon Bedrock 主控台,網址為 https://https://console.aws.amazon.com/bedrock/

  2. 在左側導覽窗格中,選擇知識庫

  3. 知識庫區段中,選擇建立按鈕,然後選取 以使用向量存放區建立知識庫。

  4. (選用) 變更預設名稱並提供知識庫的描述。

  5. 選擇 AWS Identity and Access Management (IAM) 角色,提供 Amazon Bedrock 存取其他必要 AWS 服務的許可。您可以讓 Amazon Bedrock 建立服務角色,或選擇您已建立的自訂角色

  6. 選擇資料來源以連接至您的知識庫。

  7. (選用) 將標籤新增至您的知識庫。如需詳細資訊,請參閱標記 Amazon Bedrock 資源

  8. (選用) 設定 服務,為您的知識庫交付活動日誌。

  9. 前往下一節,並遵循 中的步驟將資料來源連接至您的知識庫來設定資料來源。

  10. 內嵌模型區段中,執行下列動作:

    1. 選擇內嵌模型,將您的資料轉換為向量內嵌。

    2. (選用) 展開其他組態區段以查看下列組態選項 (並非所有模型都支援所有組態):

      • 內嵌類型 – 是否要將資料轉換為浮點 (float32) 向量內嵌 (更精確但更昂貴) 或二進位向量內嵌 (更不精確但成本更低)。若要了解哪些內嵌模型支援二進位向量,請參閱支援的內嵌模型

      • 向量維度 – 較高的值可提高準確度,但會增加成本和延遲。

  11. 向量資料庫區段中,執行下列動作:

    1. 選擇向量存放區,以存放將用於查詢的向量內嵌。您有下列選項:

      • 快速建立新的向量存放區 – 選擇其中一個可用的向量存放區,供 Amazon Bedrock 建立。

        • Amazon OpenSearch Serverless – Amazon Bedrock 知識庫會建立 Amazon OpenSearch Serverless 向量搜尋集合和索引,並使用您所需的欄位進行設定。

        • Amazon Aurora PostgreSQL Serverless – Amazon Bedrock 會設定 Amazon Aurora PostgreSQL Serverless 向量存放區。此程序會從 Amazon S3 儲存貯體取得非結構化文字資料,將其轉換為文字區塊和向量,然後將它們存放在 PostgreSQL 資料庫中。如需詳細資訊,請參閱快速建立 Amazon Bedrock 的 Aurora PostgreSQL 知識庫

        • Amazon Neptune Analytics – Amazon Bedrock 使用 Retrieval Augmented Generation (RAG) 技術與圖形結合,以增強生成式 AI 應用程式,讓使用者可以獲得更準確和全面的回應。

      • 選擇您建立的向量存放區 – 選取支援的向量存放區,並在向量索引中識別向量欄位名稱和中繼資料欄位名稱。如需詳細資訊,請參閱適用於知識庫之自有向量存放區的先決條件

        注意

        如果您的資料來源是 Confluence、Microsoft SharePoint 或 Salesforce 執行個體,則唯一支援的向量儲存服務是 Amazon OpenSearch Serverless。

    2. (選用) 展開其他組態區段,並修改任何相關的組態。

  12. 如果您的資料來源包含映像,請指定 Amazon S3 URI,以將剖析器從多模式儲存目的地中擷取的映像存放在其中。您可以在查詢期間傳回映像。您也可以選擇性地選擇客戶受管金鑰,而非預設金鑰 AWS 受管金鑰 來加密您的資料。

    注意

    只有 Amazon S3 和自訂資料來源支援多模態資料。

  13. 選擇下一步並檢閱知識庫的詳細資訊。您可以在繼續和建立知識庫之前編輯任何區段。

    注意

    建立知識庫所需的時間取決於您的特定組態。當知識庫的建立完成時,知識庫的狀態會變更為就緒或可用狀態。

    一旦知識庫準備就緒且可用,請第一次同步您的資料來源,並隨時將內容保持在最新狀態。在主控台中選取您的知識庫,然後在資料來源概觀區段中選取同步

若要建立知識庫,請使用 Amazon Bedrock 建置時間端點的代理程式傳送 CreateKnowledgeBase 請求。

注意

如果您想要讓 Amazon Bedrock 為您建立和管理向量存放區,請使用 主控台。如需詳細資訊,請展開本主題中的使用主控台區段。

下列是必要欄位:

欄位 基本描述
name 知識庫的名稱
roleArn Amazon Bedrock Knowledge Bases 服務角色的 ARN。
knowledgeBaseConfiguration 包含知識庫的組態。請參閱下列詳細資訊。
storageConfiguration (只有在您連線到非結構化資料來源時才需要)。 包含您選擇的資料來源服務的組態。

下列欄位為選用欄位:

欄位 使用案例
description 知識庫的說明。
clientToken 為確保 API 請求僅完成一次。如需詳細資訊,請參閱確保等冪。
標籤 將標籤與流程建立關聯。如需詳細資訊,請參閱標記 Amazon Bedrock 資源

在對應至 KnowledgeBaseConfiguration 物件的 knowledgeBaseConfiguration 欄位中,在 type VECTOR欄位中指定 ,並包含 VectorKnowledgeBaseConfiguration 物件。在 物件中,包含下列欄位:

  • embeddingModelArn – 要使用的內嵌模型 ARN。

  • embeddingModelConfiguration – 內嵌模型的組態。若要查看您可以為每個支援的模型指定的可能值,請參閱 Amazon Bedrock 知識庫支援的模型和區域

  • (如果您計劃在知識庫中包含包含影像、圖形、圖表或資料表的多模態資料) supplementalDataStorageConfiguration – 映射到 SupplementalDataStorageLocation 物件,您可以在其中指定要存放擷取資料的 S3 位置。如需詳細資訊,請參閱資料來源的剖析選項

在對應至 StorageConfiguration 物件的 storageConfiguration 欄位中,指定您計劃在 type 欄位中連接的向量存放區,並包含對應至該向量存放區的欄位。如需您需要提供的資訊詳細資訊,請參閱 StorageConfiguration 中的每個向量存放區組態類型。

以下顯示建立連線至 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" } } }