如何使用 Azure AI Studio 中的模型實作整合向量化
重要
此功能在補充使用規定下處於公開預覽狀態。 2024-05-01-Preview REST API 支援此功能。
在本文中,了解如何存取 Azure AI Studio 模型目錄中的內嵌模型,在編製索引期間以及 Azure AI 搜尋服務的查詢中進行向量轉換。
工作流程包含模型部署步驟。 模型目錄包含 Azure OpenAI、Cohere、Facebook 和 OpenAI 的內嵌模型。 模型部署可根據每個提供者的計費結構進行計費。
模型部署後,您可以在編製索引期間將其用於整合向量化,或搭配 AI Studio 向量化工具用於查詢。
從 Azure AI Studio 模型目錄部署內嵌模型
套用篩選,只顯示內嵌模型。 在 [推斷工作] 下,選取 [內嵌]:
選取您想要用來向量化內容的模型。 然後選取 [部署],並挑選部署選項。
填寫要求的詳細資料。 選取或建立新的 AI 專案,然後選取 [部署]。 部署詳細資料會根據您選取的模型而有所不同。
監視 [佈建狀態],等候模型完成部署。 狀態應該會從「正在佈建」變更為「正在更新」,再變更為「已成功」。 您可能需要每隔幾分鐘選取 [重新整理],才能看到狀態更新。
複製 [URL]、[主索引鍵] 和 [模型識別碼] 欄位,並將其放在一邊以供稍後使用。 針對搜尋索引中的向量化工具定義,以及在編製索引期間呼叫模型端點的技能集,您需要這些值。
您可以選擇性地將端點變更為使用權杖驗證,而不是金鑰驗證。 如果您啟用權杖驗證,則只需要複製 [URL] 和 [模型識別碼],也請記下模型部署至哪個區域。
您現在可以設定搜尋索引和索引子來使用已部署的模型。
若要在編製索引期間使用模型,請參閱啟用整合向量化的步驟。 請務必使用 Azure Machine Learning (AML) 技能,不要使用 AzureOpenAIEmbedding 技能。 下一節說明技能設定。
若要在查詢時間使用模型作為向量化工具,請參閱設定向量化工具。 請務必針對此步驟使用 Azure AI Studio 模型目錄向量化工具。
範例 AML 技能承載
當您從 Azure AI Studio 模型目錄部署內嵌模型時,您會使用 Azure AI 搜尋服務中的 AML 技能與其連線,以針對工作負載編製索引。
本節說明 AML 技能定義和索引對應。 包含已設定為使用其對應已部署端點的範例承載。 如需這些承載運作方式的技術詳細資料,請參閱技能內容和輸入註釋語言。
此 AML 技能承載會使用 AI Studio 中的下列模型:
- OpenAI-CLIP-Image-Text-Embeddings-vit-base-patch32
- OpenAI-CLIP-Image-Text-Embeddings-ViT-Large-Patch14-336
假設您使用文字分割技能對內容進行區塊處理,而要向量化的文字位於 /document/pages/*
路徑中。 如果您的文字來自不同的路徑,請據以更新 /document/pages/*
路徑的所有參考。
當您從目錄部署模型時,會產生 URI 和金鑰。 如需這些值的詳細資訊,請參閱如何使用 Azure AI Studio 部署大型語言模型。
{
"@odata.type": "#Microsoft.Skills.Custom.AmlSkill",
"context": "/document/pages/*",
"uri": "<YOUR_MODEL_URL_HERE>",
"key": "<YOUR_MODEL_KEY_HERE>",
"inputs": [
{
"name": "input_data",
"sourceContext": "/document/pages/*",
"inputs": [
{
"name": "columns",
"source": "=['image', 'text']"
},
{
"name": "index",
"source": "=[0]"
},
{
"name": "data",
"source": "=[['', $(/document/pages/*)]]"
}
]
}
],
"outputs": [
{
"name": "text_features"
}
]
}
範例 AI Studio 向量化工具承載
與 AML 技能不同的是,AI Studio 向量化工具是專門設定的,僅能與可透過 AI Studio 模型目錄部署的內嵌模型搭配使用。 主要差異在於,您不需要擔心要求和回應承載,但您必須提供 modelName
,這會對應至您在 AI Studio 中部署模型之後複製的「模型識別碼」。
以下假設屬性是從 AI Studio 複製,如何在索引定義上設定向量化工具的範例承載。
針對 Cohere 模型,您不應該像使用技能一樣,將 /v1/embed
路徑新增至 URL 結尾。
"vectorizers": [
{
"name": "<YOUR_VECTORIZER_NAME_HERE>",
"kind": "aml",
"amlParameters": {
"uri": "<YOUR_URL_HERE>",
"key": "<YOUR_PRIMARY_KEY_HERE>",
"modelName": "<YOUR_MODEL_ID_HERE>"
},
}
]
使用權杖驗證進行連線
如果您無法使用金鑰型驗證,您可以改為透過 Azure 上的角色型存取控制,設定 AML 技能與 AI Studio 向量化工具連線,以進行權杖驗證。 搜尋服務必須具有系統或使用者指派的受控識別,且身分識別必須具有 AML 專案工作區的擁有者或參與者權限。 然後,您可以從技能與向量化工具定義中移除金鑰欄位,並將其取代為 resourceId 欄位。 如果您的 AML 專案和搜尋服務位於不同的區域,也請提供區域欄位。
"uri": "<YOUR_URL_HERE>",
"resourceId": "subscriptions/<YOUR_SUBSCRIPTION_ID_HERE>/resourceGroups/<YOUR_RESOURCE_GROUP_NAME_HERE>/providers/Microsoft.MachineLearningServices/workspaces/<YOUR_AML_WORKSPACE_NAME_HERE>/onlineendpoints/<YOUR_AML_ENDPOINT_NAME_HERE>",
"region": "westus", // Only need if AML project lives in different region from search service