您位於此處:
設定外部儲存搜尋的 Gateway API
透過接受 Salesforce 搜尋要求並傳回支援搜尋結果的 AWS API 公開 Amazon Bedrock 或 Amazon Kendra。
開始之前,請先設定並測試 Amazon Bedrock Knowledge 庫或 Amazon Kendra 索引。
- 建立接受「外部儲存空間搜尋」要求的 Lambda 函數。
- 設定函數以接受自然語言查詢、Salesforce ContentDocument 識別碼、其他篩選條件、結果計數上限,以及搜尋控點 (視情況適用)。
- 設定函數來查詢選取的 AWS 搜尋服務,並套用支援的篩選條件。
-
將每個結果轉換為 Salesforce 預期的回應欄位。
回應必須包含這些值 (若適用):
欄位 類型 描述 contentDocumentIds 字串陣列 contentDocumentId 中繼資料欄位中的正規化識別碼 contentType 字串或空值 檔案類型 excerpt 字串 相符區塊的 content.text externalDocumentInfo2 字串 Amazon S3 URI relevanceScore 數字 搜尋服務傳回的相關性分數 sourceUrl 字串 Amazon S3 URI title 字串 衍生自 Amazon S3 URI 的檔案名稱 pageNumber 字串或空值 來自區塊中繼資料的頁碼 startTimeMs 數字或空值 相關媒體開始時間 (毫秒) endTimeM 數字或空值 相關媒體結束時間 (毫秒) 請參閱 輸入與輸出回應範例。
- 授與 Lambda 執行角色權限以查詢選取的搜尋服務。
- 在 API Gateway 中,建立 REST API。
-
建立搜尋資源,例如
/search。 - 建立使用 Lambda 函數作為其整合目標的 POST 方法。
- 啟用 Lambda Proxy 整合。
- 將方法授權設定為 AWS_IAM。
-
將 API 部署至階段,例如
prod。 - 記錄叫用 URL。
- 建立具有權限的 IAM 主體以叫用 Gateway API。
- 傳送測試要求。
- 確認回應結構描述、Salesforce 檔案識別碼、相關性分數、摘要和來源位置。
- Gateway API 已準備好連線至 Salesforce。
Here is a sample input:
{
"searchQuery": "Jason image",
"contentDocumentIds": [
"069xx0000004Dea",
"069LT000001BuuL",
"069xx0000004Deb",
"069LT000001Bv41"
],
"additionalFilters": {},
"maxResults": 100,
"searchHandle": null
}
Here is a sample output:
{
"executionTimeMs": 1720,
"hasMore": false,
"nextSearchHandle": null,
"results": [
{
"contentDocumentIds": [
"069xx0000004Dea",
"069xx0000004CIi"
],
"contentType": "PDF",
"excerpt": "Jason...",
"externalDocumentInfo2": "s3://my-bucket/Stockholm-Resume-Template-Simple.pdf",
"relevanceScore": 0.3837699,
"sourceUrl": "s3://my-bucket/Stockholm-Resume-Template-Simple.pdf",
"title": "Stockholm-Resume-Template-Simple.pdf",
"pageNumber": "1",
"startTimeMs": null,
"endTimeMs": null
},
{
"contentDocumentIds": [
"069LT000001BuuL"
],
"contentType": "MP3",
"excerpt": "",
"externalDocumentInfo2": "s3://my-bucket/__sfdcroot__/Case/500LT00000K5Ty5YAF/Hyde_1783590525379.mp3",
"relevanceScore": 0.3344161,
"sourceUrl": "s3://my-bucket/__sfdcroot__/Case/500LT00000K5Ty5YAF/Hyde_1783590525379.mp3",
"title": "Hyde_1783590525379.mp3",
"pageNumber": null,
"startTimeMs": 730,
"endTimeMs": 55110
},
{
"contentDocumentIds": [
"069xx0000004Deb"
],
"contentType": "MP4",
"excerpt": "",
"externalDocumentInfo2": "s3://my-bucket/Multi-File Edit.mp4",
"relevanceScore": 0.34692305,
"sourceUrl": "s3://my-bucket/Multi-File Edit.mp4",
"title": "Multi-File Edit.mp4",
"pageNumber": null,
"startTimeMs": 0,
"endTimeMs": 27849
},
{
"contentDocumentIds": [
"069LT000001Bv41"
],
"contentType": "PNG",
"excerpt": "The image describes...",
"externalDocumentInfo2": "s3://my-bucket/__sfdcroot__/Case/500LT00000K5Ty5YAF/image_1783590602375.png",
"relevanceScore": 0.3374139,
"sourceUrl": "s3://my-bucket/__sfdcroot__/Case/500LT00000K5Ty5YAF/image_1783590602375.png",
"title": "image_1783590602375.png",
"pageNumber": null,
"startTimeMs": null,
"endTimeMs": null
}
]
}
如需 Bedrock 服務的詳細指示,請參閱以下 AWS 文件參照:
如需 Kendra 服務的詳細指示,請參閱以下 AWS 文件參照:
- 範例輸入與輸出回應
檢閱外部儲存空間搜尋 Gateway API 的範例要求和回應裝載。
