Implementera integrerad vektorisering med hjälp av modeller från Azure AI Studio
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 Studio-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 Azure OpenAI, Cohere, Facebook och OpenAI. 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 AI Studio-vektoriseraren för frågor.
Distribuera en inbäddningsmodell från Azure AI Studio-modellkatalogen
Använd ett filter för att visa bara inbäddningsmodellerna. Under Slutsatsdragningsuppgifter väljer du Inbäddningar:
Välj den modell som du vill vektorisera ditt innehåll med. Välj sedan Distribuera och välj ett distributionsalternativ.
Fyll i den begärda informationen. Välj eller skapa ett nytt AI-projekt 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.
Kopiera fälten URL, Primär nyckel och Modell-ID och lägg dem åt sidan för senare. 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 URL:en och modell-ID:t och även 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 Azure AI Studio-modellkatalogvektoriseraren för det här steget.
Exempel på AML-kompetensnyttolaster
När du distribuerar inbäddningsmodeller från Azure AI Studio-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-färdighetsnyttolasten fungerar med följande modeller från AI Studio:
- OpenAI-CLIP-Image-Text-Embeddings-vit-base-patch32
- OpenAI-CLIP-Image-Text-Embeddings-ViT-Large-Patch14-336
Det förutsätter att du segmenterar ditt innehåll med hjälp av färdigheten Textdelning och att texten som ska vektoriseras finns i /document/pages/*
sökvägen. Om texten kommer från en annan sökväg uppdaterar du alla referenser till sökvägen i enlighet med detta /document/pages/*
.
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 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"
}
]
}
Exempel på nyttolast för AI Studio-vektoriserare
AI Studio-vektoriseraren är, till skillnad från AML-färdigheten, skräddarsydd för att endast fungera med de inbäddningsmodeller som kan distribueras via AI Studio-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 AI Studio.
Här är ett exempel på nyttolasten för hur du konfigurerar vektoriseraren för indexdefinitionen med tanke på de egenskaper som kopieras från AI Studio.
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 AI Studio-vektoriseraranslutningen 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