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

  1. Öppna Azure AI Studio-modellkatalogen.

  2. Använd ett filter för att visa bara inbäddningsmodellerna. Under Slutsatsdragningsuppgifter väljer du Inbäddningar:

    Skärmbild av azure AI Studio-modellkatalogsidan som visar hur du filtrerar efter inbäddningsmodeller.

  3. Välj den modell som du vill vektorisera ditt innehåll med. Välj sedan Distribuera och välj ett distributionsalternativ.

    Skärmbild av distribution av en slutpunkt via Azure AI Studio-modellkatalogen.

  4. 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.

  5. 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.

  6. 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.

    Skärmbild av en distribuerad slutpunkt i AI Studio som markerar fälten som ska kopieras och sparas senare.

  7. Nu kan du konfigurera ett sökindex och en indexerare för att använda den distribuerade modellen.

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

Nästa steg