Note
Azure AI 搜尋服務 可透過 Azure 入口網站、REST API 及 Azure SDK 取得。 它同時也是 Foundry IQ 的基礎,這是一個管理式知識層,能將企業內容轉化為可重複使用、權限感知的知識庫,供 Microsoft Foundry 入口網站中的代理使用。
重要
標記(預覽)的功能、能力或屬性不受服務等級協議涵蓋,也不建議用於生產工作負載,且在正式上架前可能會有所變動或受限。 Azure AI 搜尋服務 預覽條款適用於所有預覽功能,無論是獨立功能還是正式推出功能的一部分。
利用 AML 技能,透過 Microsoft Foundry 模型目錄(預覽)中部署的基礎嵌入模型或自訂的 Azure Machine Learning(AML)模型,擴展 AI 豐富化。 你的資料會在模型部署的 地理環境中 被處理。
你可以在技能集中指定反洗錢技能,然後將你部署的模型整合進 AI 強化流程中。 AML 技能對於執行未由內建技能支援的處理或推論非常有用。 例如用自己的模型產生嵌入,以及對豐富內容應用自訂機器學習邏輯。
對於 AML 線上端點,請使用穩定的 API 版本或等效的 Azure SDK 來呼叫 AML 技能。 若要連接模型目錄,請使用預覽 API 版本。
反洗錢技能的使用
和其他技能一樣,AML技能有輸入和輸出。 輸入會以 JSON 物件形式從 Foundry 模型目錄或 AML 線上端點傳送到無伺服器部署。 輸出應該包含成功狀態碼、JSON payload,以及你 AML 技能定義中指定的參數。 任何其他反應都視為錯誤,且不進行濃縮。
索引器會對以下 HTTP 狀態碼重試兩次:
503 Service Unavailable429 Too Many Requests
Microsoft Foundry模型的AML技能(預覽版)
Azure AI 搜尋服務 提供 Microsoft Foundry 模型目錄向量器(預覽版),該工具也可在匯入資料精靈中取得,用於查詢時與模型目錄的連結。 如果您想用該向量化工具來查詢,AML 技能是使用模型目錄的模型產生內嵌的索引對應項。
在索引過程中,AML 技能可連接模型目錄以產生索引向量。 在查詢時,查詢可以使用向量器連接到同一模型,將文字字串向量化。 你應該同時使用 AML 技能和 Microsoft Foundry 模型目錄向量器,這樣索引和查詢時會使用相同的嵌入模型。 欲了解更多資訊,請參閱 Foundry 模型目錄中的「使用嵌入模型」。
我們建議使用 匯入資料 向導 ,產生包含 AML 技能的技能組,以支援 Foundry 中部署的嵌入模型。 精靈會產生 AML 技能定義,涵蓋輸入、輸出與映射,提供在撰寫任何程式碼前測試模型的簡便方法。
先決條件
Microsoft Foundry 集線器專案或是 AML 工作空間,用於你所建立的自訂模型。
如為中樞型專案專用,需要對 Microsoft Foundry 模型目錄支援的模型進行無伺服器部署。 你可以使用 Azure CLI 來配置無伺服器部署。
@odata.type
Microsoft.Skills.Custom.AmlSkill
技能參數
參數依大小寫區分。 你使用的參數取決於 模型提供者是否需要認證。
| 參數名稱 | 描述 |
|---|---|
uri |
(金鑰驗證所必需) Microsoft Foundry 模型目錄的無伺服器部署的目標 URI,或 AML 線上端點的評分 URI。 僅允許使用 HTTPS URI 方案。 模型目錄中支援的模型(僅限無伺服器部署)包括:
|
key |
(用於密鑰身份驗證)模型提供者的 API 密鑰。 |
resourceId |
(需要 令牌認證)模型提供者的 Azure Resource Manager 資源 ID。 對於 AML 線上端點,請使用 subscriptions/{guid}/resourceGroups/{resource-group-name}/Microsoft.MachineLearningServices/workspaces/{workspace-name}/onlineendpoints/{endpoint_name} 格式。 |
region |
(憑證 驗證可選)模型提供者部署的區域。 如果該區域與搜尋服務的區域不同,則必須如此。 |
timeout |
HTTP 用戶端進行 API 呼叫的超時設定(可選)。 它必須格式化為 XSD「dayTimeDuration」值,這是 ISO 8601 持續時間 值的受限子集。 舉例來說,PT60S 為 60 秒。 若未設定,則預設為30秒。 你可以設定超時時間為最少 1 秒,最多 230 秒。 |
degreeOfParallelism |
(可選)索引器與你提供的端點平行呼叫的數量。 如果你的端點在請求負載過高時失敗,你可以降低這個值。 如果你的端點能接受更多請求,且你希望索引器效能提升,你可以提高它。 若未設定,則使用預設值 5。 你可以設定 degreeOfParallelism 最低1,最多10。 |
認證
反洗錢技能提供兩種認證選項:
基於金鑰的認證: 你提供一個靜態金鑰來驗證 AML 技能的評分請求。 為這個連線設定
uriandkey參數。基於代幣的認證: Foundry 基於樞紐的專案或 AML 線上端點是透過憑證驗證部署的。 Azure AI 搜尋服務服務必須擁有
受管理的標識 ,並在模型提供者中進行角色分配。 AML 技能接著使用搜尋服務身份來驗證模型提供者,無需靜態金鑰。 搜尋服務身份必須是 擁有者 或 貢獻 者角色。 設定resourceId參數,若搜尋服務與模型提供者所在區域不同,則設定參數region。
技能輸入
技能輸入是在文件破解期間所建立的擴充文件的節點。 例如,可能是根文件、正規化的影像,或是 blob 的內容。 此技能沒有預設輸入。 輸入時,你應該指定一個或多個在 AML 技能執行時已經被填滿的節點。
技能產出
技能輸出是由技能生成的增強文件中的新節點。 此技能沒有預設輸出。 如需取得輸出,您提供的節點應為可從 AML 技能的 JSON 回應填入的節點。
範例定義
{
"@odata.type": "#Microsoft.Skills.Custom.AmlSkill",
"description": "A custom model that detects the language in a document.",
"uri": "https://language-model.models.contoso.com/score",
"context": "/document",
"inputs": [
{
"name": "text",
"source": "/document/content"
}
],
"outputs": [
{
"name": "detected_language_code"
}
]
}
範例輸入 JSON 結構
這個 JSON 結構代表發送到你的 Foundry 中樞型專案或 AML 在線端點的承載數據。 結構的頂層欄位對應技能定義章節中 inputs 指定的「名稱」。 這些欄位的數值來自這些欄位的「來源」,這些來源可能是文件中的欄位或其他技能。
{
"text": "Este es un contrato en Inglés"
}
範例輸出 JSON 結構
輸出結果對應於你 Foundry 中心專案或 AML 線上端點的回應。 模型提供者應只會傳回一個 JSON 酬載 (查看 Content-Type 回應標頭即可驗證),且此物件的欄位應為與 output 的「名稱」相符的擴充項目,且其值可視為擴充。
{
"detected_language_code": "es"
}
內嵌成形範例定義
{
"@odata.type": "#Microsoft.Skills.Custom.AmlSkill",
"description": "A sample model that detects the language of sentence",
"uri": "https://language-model.models.contoso.com/score",
"context": "/document",
"inputs": [
{
"name": "shapedText",
"sourceContext": "/document",
"inputs": [
{
"name": "content",
"source": "/document/content"
}
]
}
],
"outputs": [
{
"name": "detected_language_code"
}
]
}
內嵌成形輸入 JSON 結構
{
"shapedText": { "content": "Este es un contrato en Inglés" }
}
內嵌成形範例輸出 JSON 結構
{
"detected_language_code": "es"
}
錯誤案例
除了您的 Foundry 中樞專案或反洗錢線上端點無法使用或發送不成功狀態碼外,以下情況也被視為錯誤:
模型提供者回傳成功狀態碼,但回應顯示它並不是
application/json。 因此,該回應無效,且不進行任何增強處理。模型提供者回傳無效的 JSON。
若模型提供者無法取得或傳回 HTTP 錯誤,則索引子執行歷史記錄會新增一筆容易理解的錯誤,內含該 HTTP 錯誤任何可取得的相關詳細資訊。