為您的 Amazon 基岩知識庫 Connect 到 Salesforce - Amazon Bedrock

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

為您的 Amazon 基岩知識庫 Connect 到 Salesforce

Salesforce 是一種客戶關係管理(CRM)工具,用於管理支持,銷售和營銷團隊。您可以使用以下任一指令,連線到您的 Amazon 基岩知識庫的 Salesforce 執行個體 AWS 適用於 Amazon 基岩或亞馬遜基岩的管理主控台 CreateDataSourceAPI(請參閱支援的 Amazon 基岩和 SDKs AWS CLI).

注意

Salesforce 資料來源連接器正在預覽版本中,且可能會變更。

目前,只有 Amazon OpenSearch 無伺服器向量存放區可與此資料來源搭配使用。

每個檔案可以編目的檔案數量和 MB 有限制。如需知識庫,請參閱配額

支援的功能

  • 自動偵測主要文件欄位

  • 包含/排除內容過濾器

  • 增量內容同步新增、更新、刪除的內容

  • OAuth身份驗證

必要條件

在「銷售力量」中,請確定您

  • 記下您的銷售力量執行個體URL。例如 https://company.salesforce.com/。 執行個體必須執行 Salesforce 連線的應用程式。

  • 建立 Salesforce 連線的應用程式並設定用戶端認證。然後,對於您選擇的應用程序,從OAuth設置中複製消費者密鑰(客戶端 ID)和消費者密鑰(客戶端密鑰)。如需詳細資訊,請參閱建立連線的應用程式和為 OAuth 2.0 用戶端認證設定連線的應用程式的 Salesforce 文件。

    注意

    對於 Salesforce 連線的應用程式,在「用戶端認證流程」下,請務必在「執行身分」欄位中搜尋並選取用戶端認證的使用者名稱或別名。

在您的 AWS 帳戶,請確保您

  • 將您的身份驗證憑據存儲在 AWS Secrets Manager 秘密並注意 Amazon 資源名稱(ARN)的秘密。請遵循此頁面上的「連線」組態指示,納入密碼中必須包含的索引鍵值配對。

  • 包括必要的權限以連接到您的資料來源 AWS Identity and Access Management (IAM)您的知識庫的角色/權限策略。如需此資料來源新增至知識庫所需權限的相關資訊 IAM 角色,請參閱存取資料來源的權限

注意

如果您使用控制台,則可以轉到 AWS Secrets Manager 以新增密碼或使用現有密碼做為資料來源組態步驟的一部分。所以此 IAM 可以為您建立具有所有必要權限的角色,作為建立知識庫的主控台步驟的一部分。設定資料來源和其他設定之後, IAM 具有所有必需權限的角色會套用至您的特定知識庫。

我們建議您定期重新整理或輪換您的認證和密碼。僅為您自己的安全提供必要的訪問級別。我們不建議您跨資料來源重複使用認證和密碼。

連接配置

若要連線到 Salesforce 執行個體,您必須提供必要的組態資訊,以便 Amazon 基岩能夠存取和抓取您的資料。您還必須遵循必要條件.

此資料來源的組態範例包含在本節中。

如需 auto 偵測文件欄位、包含/排除篩選器、增量同步、秘密驗證認證,以及這些欄位如何運作的詳細資訊,請選取下列選項:

資料來源連接器會自動偵測並編目文件或內容的所有主要中繼資料欄位。例如,資料來源連接器可以編目對等於文件的文件內文、文件標題、文件建立或修改日期,或其他可能套用至文件的核心欄位。

重要

如果您的內容包含敏感資訊, Amazon Bedrock 可以使用敏感信息進行響應。

您可以將篩選運算子套用至中繼資料欄位,以協助您進一步改善回應的相關性。例如,文件「epoch_modification_time」或在 1970 年 1 月 1 日當文件最後更新時所傳遞的秒數。您可以過濾最新的數據,其中「時代 _ 修改時間」大於某個數字。如需有關可套用至中繼資料欄位之篩選運算子的詳細資訊,請參閱中繼資料和篩選

您可以包含或排除探索特定內容。例如,您可以指定排除前綴/規則運算式模式,以略過檢索檔案名稱中包含「private」的任何檔案。您也可以指定包含首碼/規則運算式模式,以包含某些內容實體或內容類型。如果您指定包含和排除篩選器,且兩者都符合文件,則排除篩選器會優先執行,而且不會編目文件。

規則運算式模式範例,用來排除或篩選出促銷活動名稱中包含「private」的促銷活動:」。 * 私人。 *」

您可以在下列內容類型上套用包含/排除篩選器:

  • Account: 帳號/識別碼

  • Attachment:附件檔案名稱及其副檔名

  • Campaign:行銷活動名稱和相關的識別

  • ContentVersion:文件版本和相關聯的識別碼

  • Partner:合作夥伴資訊欄位,包括關聯識

  • Pricebook2:商品/價目表名稱

  • Case:客戶查詢/發行編號和其他信息字段,包括相關的標識符(請注意:可以包含個人信息,您可以選擇排除或過濾掉)

  • Contact: 客戶信息字段(請注意:可以包含個人信息,您可以選擇排除或過濾掉)

  • Contract:合約名稱和相關的識別碼

  • Document:副檔名的檔案名稱

  • Idea: 想法資訊欄位和相關的識別碼

  • Lead: 潛在的新客戶信息字段(請注意:可以包含個人信息,您可以選擇排除或過濾掉)

  • Opportunity:待處理銷售/交易資訊欄位和相關識別碼

  • Product2:產品資訊欄位和相關的識別碼

  • Solution:客戶查詢/問題的解決方案名稱,以及相關的識別碼

  • Task:作業資訊欄位與相關聯的識別碼

  • FeedItem:喋喋不休的提要帖子的標識符

  • FeedComment:評論所屬的聊天提要帖子的標識符

  • Knowledge__kav:知識文章版本與相關聯的識別碼

  • User:組織內的使用者別名

  • CollaborationGroup:聊天器群組名稱 (唯一)

每次資料來源與知識庫同步時,資料來源連接器都會編目新的、已修改的和已刪除的內容。 Amazon Bedrock 可以使用資料來源的機制來追蹤自上次同步以來變更的內容和編目內容。當您第一次將資料來源與知識庫同步時,依預設會檢索所有內容。

若要將資料來源與知識庫同步,請在主控台中使用StartIngestionJobAPI或選取您的知識庫,然後在資料來源概觀區段中選取 [同步]。

重要

您從資料來源同步的所有資料都可供具有擷取資料bedrock:Retrieve權限的任何人使用。這也可以包括任何具有受控資料來源權限的資料。如需詳細資訊,請參閱知識庫權限

(用於 OAuth 2.0 身份驗證)您的秘密身份驗證憑據 AWS Secrets Manager 應該包括這些鍵值對:

  • consumerKey: app client ID

  • consumerSecret: app client secret

  • authenticationUrl: Salesforce instance URL or the URL to request the authentication token from

注意

你的秘密 AWS Secrets Manager 必須使用知識庫的相同區域。

Console

以下是針對您的 Amazon 基岩知識庫連線至 Salesforce 的組態範例。您可以將資料來源設定為主控台中知識庫建立步驟的一部分。

  1. 登入 AWS Management Console 使用具有 Amazon 基岩許可的IAM角色,並在以下位置打開 Amazon 基岩控制台。https://console.aws.amazon.com/bedrock/

  2. 在左側導覽窗格中,選取 [知識庫]。

  3. 在 [知識庫] 區段中,選取 [建立知識庫]。

  4. 提供知識庫詳細資料。

    1. 提供知識庫名稱和可選描述。

    2. 提供 AWS Identity and Access Management 角色,用於建立知識庫所需的必要存取權限。

      注意

      所以此 IAM 可以為您建立具有所有必要權限的角色,作為建立知識庫的主控台步驟的一部分。完成建立知識庫的步驟之後, IAM 具有所有必需權限的角色會套用至您的特定知識庫。

    3. 建立您要指派給知識庫的任何標籤。

    轉到下一節以配置您的數據源。

  5. 選擇 Salesforce 作為您的資料來源,並提供連線組態詳細資訊。

    1. 提供資料來源名稱和選擇性描述。

    2. 提供您的執行個體URL。例如 https://company.salesforce.com/。 執行個體必須執行 Salesforce 連線的應用程式。

    檢查進階設定。您可以選擇性地變更預設選取的設定。

  6. 在進階設定中設定暫時性資料加密金鑰和資料刪除政策。

    用於 KMS key 設定時,您可以選擇自訂金鑰或使用預設提供的資料加密金鑰。

    將數據轉換為嵌入時, Amazon Bedrock 使用密鑰加密您的臨時數據 AWS 擁有和管理,默認情況下。您可以使用自己的KMS密鑰。如需詳細資訊,請參閱資料擷取期間的暫時性資料儲存加密

    對於資料刪除原則設定,您可以選擇下列其中一項:

    • 刪除:刪除知識庫或資料來源資源時,刪除資料來源中轉換為向量嵌入的所有資料。請注意,矢量存儲本身不會被刪除,只有數據。這個標誌被忽略,如果 AWS 帳號已刪除。

    • 保留:在刪除知識庫或資料來源資源時,保留資料來源中轉換為向量嵌入的所有資料。請注意,如果刪除知識庫或資料來源資源,則不會刪除向量存放區本身

    繼續設定您的資料來源。

  7. 提供驗證資訊以連線至您的 Salesforce 執行個體:

    1. 對於 OAuth 2.0 身份驗證,請轉到 AWS Secrets Manager 新增您的秘密身份驗證登入資料,或使用現有的 Amazon 資源名稱 (ARN) 作為您建立的密碼。您的密碼必須包含 Salesforce 連線的應用程式取用者金鑰 (用戶端識別碼)、取用者密碼 (用戶端密碼) 以及 Salesforce 執行個體,URL或是要從中URL要求驗證權杖的。如需詳細資訊,請參閱建立連線的應用程式和為 OAuth 2.0 用戶端認證設定連線的應用程式的 Salesforce 文件。

    繼續設定您的資料來源。

  8. 選擇使用篩選器/規則運算式模式來包含或排除特定內容。否則,所有標準內容都會被編目。

    繼續設定您的資料來源。

  9. 選擇預設或自訂的區塊和剖析組態。

    1. 如果您選擇自訂設定,請選取下列其中一個區塊選項:

      • 固定大小的塊:內容拆分為您設置的近似令牌大小的文本塊。您可以設定不得超過區塊的記號數目上限,以及連續區塊之間的重疊百分比。

      • 默認塊:內容分割成多達 300 個令牌的文本塊。如果單一文件或內容片段包含少於 300 個標記,則不會進一步分割文件。

      • 分層塊:內容組織成父子塊的嵌套結構。您可以設置最大父塊令牌大小和最大子塊令牌大小。您也可以設定連續父區塊與連續子區塊之間重疊 Token 的絕對數目。

      • 語義塊:內容組織成語義相似的文本塊或句子組。您可以將目標/當前句子周圍的最大句子數設置為組合在一起(緩衝區大小)。您也可以設定中斷點百分位數閾值,以將文字分割成有意義的區塊。語義塊使用基礎模型。檢視 Amazon Bedrock 定價基礎模型的成本信息。

      • 沒有區塊:每個文檔被視為一個單一的文本塊。您可能希望通過將文檔拆分為單獨的文件來預處理它們。

      注意

      建立資料來源之後,就無法變更資料塊化策略。

    2. 您可以選擇使用 Amazon Bedrock解析文檔以解析比標準文本更多的基礎模型。例如,您可以在文件中剖析表格式資料,但其結構完整無缺。檢視 Amazon Bedrock 定價基礎模型的成本信息。

    3. 您可以選擇使用 AWS Lambda 用於自定義分塊策略以及如何處理和攝取文檔元數據屬性/字段的功能。提供 Amazon S3 Lambda 函數輸入和輸出的值區位置。

    轉到下一節以配置向量存儲。

  10. 選擇將資料轉換為向量嵌入的模型。

    建立向量存放區以允許 Amazon Bedrock 儲存、更新和管理嵌入。您可以快速建立新的向量存放區,或從已建立的支援向量存放區中進行選取。目前,只有 Amazon OpenSearch 無伺服器向量存放區可與此資料來源搭配使用。如果您建立新的向量存放區,系統會為您設定 Amazon OpenSearch 無伺服器向量搜尋集合和索引,其中包含必要欄位。如果您從支援的向量存放區中選取,則必須對應向量欄位名稱和中繼資料欄位名稱。

    移至下一節以檢閱您的知識庫組態。

  11. 檢查您的知識庫的詳細信息。您可以在繼續前進並創建知識庫之前編輯任何部分。

    注意

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

    知識庫準備就緒且可用之後,請在您想要保持內容保持最新狀態時,首次同步資料來源。在主控台中選取您的知識庫,然後在資料來源概觀區段中選取 [同步]。

API

以下是針對您的 Amazon 基岩知識庫連線至 Salesforce 的組態範例。您可以使用配置您的資料來源 API AWS CLI 或支持SDK,例如 Python。打電話後 CreateKnowledgeBase,您可CreateDataSource以打電話建立包含連線資訊的資料來源dataSourceConfiguration。請記住,還要在中指定您的分塊策略/方法以vectorIngestionConfiguration及數據刪除策略 dataDeletionPolicy

AWS Command Line Interface

aws bedrock create-data-source \ --name "Salesforce connector" \ --description "Salesforce data source connector for Amazon Bedrock to use content in Salesforce" \ --knowledge-base-id "your-knowledge-base-id" \ --data-source-configuration file://salesforce-bedrock-connector-configuration.json \ --data-deletion-policy "DELETE" \ --vector-ingestion-configuration '{"chunkingConfiguration":[{"chunkingStrategy":"FIXED_SIZE","fixedSizeChunkingConfiguration":[{"maxTokens":"100","overlapPercentage":"10"}]}]}' salesforce-bedrock-connector-configuration.json { "salesforceConfiguration": { "sourceConfiguration": { "hostUrl": "https://company.salesforce.com/", "authType": "OAUTH2_CLIENT_CREDENTIALS", "credentialsSecretArn": "arn:aws::secretsmanager:your-region:secret:AmazonBedrock-Salesforce" }, "crawlerConfiguration": { "filterConfiguration": { "type": "PATTERN", "patternObjectFilter": { "filters": [ { "objectType": "Campaign", "inclusionFilters": [ ".*public.*" ], "exclusionFilters": [ ".*private.*" ] } ] } } } }, "type": "SALESFORCE" }