Använda inbäddningsmodeller från Azure AI Foundry-modellkatalogen för integrerad vektorisering
Viktigt!
Den här funktionen är i offentlig förhandsversion under kompletterande användningsvillkor. REST API för förhandsversion 2024-05-01 stöder den här funktionen.
I den här artikeln får du lära dig hur du kommer åt inbäddningsmodellerna i Azure AI Foundry-modellkatalogen för vektorkonverteringar under indexering och i frågor i Azure AI Search.
Arbetsflödet innehåller steg för modelldistribution. Modellkatalogen innehåller inbäddningsmodeller från Microsoft och andra företag. Distribution av en modell kan faktureras enligt faktureringsstrukturen för varje leverantör.
När modellen har distribuerats kan du använda den för integrerad vektorisering under indexering eller med Azure AI Foundry-vektoriseraren för frågor.
Dricks
Använd guiden Importera och vektorisera data för att generera en kompetensuppsättning som innehåller en AML-färdighet för distribuerade inbäddningsmodeller i Azure AI Foundry. AML-kunskapsdefinitionen för indata, utdata och mappningar genereras av guiden, vilket ger dig ett enkelt sätt att testa en modell innan du skriver någon kod.
Förutsättningar
Azure AI Search, valfri region och nivå.
Azure AI Foundry och ett Azure AI Foundry-projekt.
Inbäddningsmodeller som stöds
Integrerad vektorisering och guiden Importera och vektorisera data stöder följande inbäddningsmodeller i modellkatalogen:
För textbäddningar:
- Cohere-embed-v3-english
- Cohere-embed-v3-multilingual
För bildinbäddningar:
- Facebook-DinoV2-Image-Embeddings-ViT-Base
- Facebook-DinoV2-Image-Embeddings-ViT-Giant
Distribuera en inbäddningsmodell från Azure AI Foundry-modellkatalogen
Öppna Azure AI Foundry-modellkatalogen. Skapa ett projekt om du inte redan har ett.
Använd ett filter för att visa bara inbäddningsmodellerna. Under Slutsatsdragningsuppgifter väljer du Inbäddningar:
Välj en modell som stöds och välj sedan Distribuera.
Acceptera standardvärdena eller ändra efter behov och välj sedan Distribuera. Distributionsinformationen varierar beroende på vilken modell du väljer.
Vänta tills modellen har distribuerats klart genom att övervaka etableringstillståndet. Den bör ändras från "Etablering" till "Uppdatera" till "Lyckades". Du kan behöva välja Uppdatera med några minuters mellanrum för att se statusuppdateringen.
Anteckna mål-URI:n, nyckeln och modellnamnet. Du behöver dessa värden för vektoriserardefinitionen i ett sökindex och för den kompetensuppsättning som anropar modellslutpunkterna under indexeringen.
Du kan också ändra slutpunkten så att den använder tokenautentisering i stället för nyckelautentisering. Om du aktiverar tokenautentisering behöver du bara kopiera URI:n och modellnamnet, men anteckna vilken region modellen distribueras till.
Nu kan du konfigurera ett sökindex och en indexerare för att använda den distribuerade modellen.
Information om hur du använder modellen under indexering finns i steg för att aktivera integrerad vektorisering. Se till att använda AML-färdigheten (Azure Machine Learning) och inte azureopenAIEmbedding-färdigheten. I nästa avsnitt beskrivs kunskapskonfigurationen.
Information om hur du använder modellen som vektoriserare vid frågetillfället finns i Konfigurera en vektoriserare. Se till att använda katalogvektoriseraren för Azure AI Foundry-modellen för det här steget.
Exempel på AML-kompetensnyttolaster
När du distribuerar inbäddningsmodeller från Azure AI Foundry-modellkatalogen ansluter du till dem med hjälp av AML-färdigheten i Azure AI Search för indexeringsarbetsbelastningar.
Det här avsnittet beskriver AML-kunskapsdefinitionen och indexmappningar. Den innehåller exempelnyttolaster som redan har konfigurerats för att fungera med motsvarande distribuerade slutpunkter. Mer teknisk information om hur dessa nyttolaster fungerar finns i Avsnittet om kunskapskontext och språk för indataanteckning.
Den här AML-kunskapsnyttolasten fungerar med följande bildinbäddningsmodeller från Azure AI Foundry:
- Facebook-DinoV2-Image-Embeddings-ViT-Base
- Facebook-DinoV2-Image-Embeddings-ViT-Giant
Det förutsätter att dina bilder kommer från sökvägen /document/normalized_images/*
som skapas genom att aktivera inbyggd bildextrahering. Om dina bilder kommer från en annan sökväg eller lagras som URL:er uppdaterar du alla referenser till /document/normalized_images/*
sökvägen enligt.
URI:n och nyckeln genereras när du distribuerar modellen från katalogen. Mer information om dessa värden finns i Distribuera stora språkmodeller med Azure AI Foundry.
{
"@odata.type": "#Microsoft.Skills.Custom.AmlSkill",
"context": "/document/normalized_images/*",
"uri": "https://myproject-1a1a-abcd.eastus.inference.ml.azure.com/score",
"timeout": "PT1M",
"key": "bbbbbbbb-1c1c-2d2d-3e3e-444444444444",
"inputs": [
{
"name": "input_data",
"sourceContext": "/document/normalized_images/*",
"inputs": [
{
"name": "columns",
"source": "=['image', 'text']"
},
{
"name": "index",
"source": "=[0]"
},
{
"name": "data",
"source": "=[[$(/document/normalized_images/*/data), '']]"
}
]
}
],
"outputs": [
{
"name": "image_features"
}
]
}
Exempel på nyttolast för Azure AI Foundry Vectorizer
Azure AI Foundry-vektoriseraren är, till skillnad från AML-färdigheten, skräddarsydd för att endast fungera med de inbäddningsmodeller som kan distribueras via Azure AI Foundry-modellkatalogen. Den största skillnaden är att du inte behöver oroa dig för nyttolasten för begäran och svar, men du måste ange modelName
, som motsvarar det "modell-ID" som du kopierade när du distribuerade modellen i Azure AI Foundry-portalen.
Här är ett exempel på nyttolasten för hur du konfigurerar vektoriseraren för indexdefinitionen med tanke på de egenskaper som kopierats från Azure AI Foundry.
För Cohere-modeller bör du INTE lägga till /v1/embed
sökvägen i slutet av url:en som du gjorde med färdigheten.
"vectorizers": [
{
"name": "<YOUR_VECTORIZER_NAME_HERE>",
"kind": "aml",
"amlParameters": {
"uri": "<YOUR_URL_HERE>",
"key": "<YOUR_PRIMARY_KEY_HERE>",
"modelName": "<YOUR_MODEL_ID_HERE>"
},
}
]
Ansluta med tokenautentisering
Om du inte kan använda nyckelbaserad autentisering kan du i stället konfigurera AML-färdigheten och Azure AI Foundry vectorizer-anslutningen för tokenautentisering via rollbaserad åtkomstkontroll i Azure. Söktjänsten måste ha en system- eller användartilldelad hanterad identitet och identiteten måste ha ägar- eller deltagarbehörighet för din AML-projektarbetsyta. Du kan sedan ta bort nyckelfältet från din definition av färdighet och vektoriserare och ersätta det med fältet resourceId. Om ditt AML-projekt och söktjänst finns i olika regioner anger du även regionfältet.
"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