Dela via


AML-kunskaper i en Pipeline för Azure AI Search-berikande

Viktigt!

Stöd för indexerareanslutningar till Azure AI Foundry-modellkatalogen finns i offentlig förhandsversion under kompletterande användningsvillkor. Rest-API:er för förhandsversion stöder den här färdigheten.

Med AML-färdigheten kan du utöka AI-berikandet med en anpassad Azure Machine Learning-modell (AML) eller distribuerad grundläggande inbäddningsmodell i Azure AI Foundry. När en AML-modell har tränats och distribuerats integrerar en AML-färdighet den i en kompetensuppsättning.

Användning av AML-kunskaper

Precis som andra inbyggda kunskaper har en anpassad AML-färdighet indata och utdata. Indata skickas till en distribuerad AML-onlineslutpunkt som ett JSON-objekt. Slutpunktens utdata måste vara en JSON-nyttolast i svaret, tillsammans med statuskoden lyckades. Dina data bearbetas i geo-området där din modell distribueras. Svaret förväntas tillhandahålla de utdata som anges av din AML-färdighetsdefinition . Andra svar anses vara ett fel och inga berikningar utförs.

Kommentar

Indexeraren försöker igen två gånger för vissa STANDARD HTTP-statuskoder som returneras från AML-onlineslutpunkten. Dessa HTTP-statuskoder är:

  • 503 Service Unavailable
  • 429 Too Many Requests

AML-färdigheten kan anropas med den stabila API-versionen 2024-07-01 eller motsvarande Azure SDK, eller API-versionen 2024-05-01-preview för anslutningar till modellkatalogen i Azure AI Foundry-portalen.

AML-kunskaper för modeller i Azure AI Foundry

Från och med 2024-05-01-preview REST API och i Azure Portal (som även riktar sig mot 2024-05-01-preview) tillhandahåller Azure AI Search katalogvektoriseraren för Azure AI Foundry-modellen för frågetidsanslutningar till modellkatalogen i Azure AI Foundry-portalen. Om du vill använda den vektoriseraren för frågor är en AML-färdighet indexeringsmotsvarigheten för att generera inbäddningar med hjälp av en modell i Azure AI Foundry-modellkatalogen.

Under indexeringen kan AML-färdigheten ansluta till modellkatalogen för att generera vektorer för indexet. Vid frågetillfället kan frågor använda en vektoriserare för att ansluta till samma modell för att vektorisera textsträngar för en vektorfråga. I det här arbetsflödet ska AML-färdigheten och modellkatalogvektoriseraren användas tillsammans så att du använder samma inbäddningsmodell för både indexering och frågor. Mer information och en lista över de inbäddningsmodeller som stöds finns i Använda inbäddningsmodeller från Azure AI Foundry-modellkatalogen.

Vi rekommenderar att du använder 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

  • En AML-arbetsyta för en anpassad modell som du skapar eller ett projekt i Azure AI Foundry om en inbäddningsmodell distribueras från katalogen.
  • En Online-slutpunkt (realtid) på den här arbetsytan för en anpassad modell eller modellslutpunkten för inbäddning av modeller som distribuerats från katalogen.

@odata.type

Microsoft.Skills.Custom.AmlSkill

Kompetensparametrar

Parametrar är skiftlägeskänsliga. Vilka parametrar du väljer att använda beror på vilken autentisering din AML-onlineslutpunkt kräver, om någon

Parameternamn beskrivning
uri (Krävs för nyckelautentisering) Bedömnings-URI för den AML-onlineslutpunkt som JSON-nyttolasten skickas till. Endast https-URI-schemat tillåts. För inbäddning av modeller i Azure AI Foundry-modellkatalogen är detta mål-URI:n.
key (Krävs för nyckelautentisering) Nyckeln för AML-onlineslutpunkten eller
resourceId (Krävs för tokenautentisering). Azure Resource Manager-resurs-ID för AML-onlineslutpunkten. Versionsformatet ska vara subscriptions/{guid}/resourceGroups/{resource-group-name}/Microsoft.MachineLearningServices/workspaces/{workspace-name}/onlineendpoints/{endpoint_name}.
region (Valfritt för tokenautentisering). Den region som AML-onlineslutpunkten distribueras i.
timeout (Valfritt) När det anges anger du tidsgränsen för http-klienten som gör API-anropet. Det måste formateras som ett XSD-värde "dayTimeDuration" (en begränsad delmängd av ett ISO 8601-varaktighetsvärde ). Till exempel PT60S i 60 sekunder. Om det inte anges väljs ett standardvärde på 30 sekunder. Tidsgränsen kan anges till högst 230 sekunder och minst 1 sekund.
degreeOfParallelism (Valfritt) När det anges anger du antalet anrop som indexeraren gör parallellt med den slutpunkt som du har angett. Du kan minska det här värdet om slutpunkten misslyckas under för hög för en begärandebelastning. Du kan höja den om slutpunkten kan acceptera fler begäranden och du vill ha en ökning av indexerarens prestanda. Om det inte anges används standardvärdet 5. DegreeOfParallelism kan anges till högst 10 och minst 1.

Autentisering

AML-onlineslutpunkter tillhandahåller två autentiseringsalternativ:

  • Nyckelbaserad autentisering. En statisk nyckel tillhandahålls för att autentisera bedömningsbegäranden från AML-kunskaper. Ange parametrarna uri och key för den här anslutningen.

  • Tokenbaserad autentisering, där AML-onlineslutpunkten distribueras med hjälp av tokenbaserad autentisering. Azure AI-tjänsten Search hanterade identitet måste vara aktiverad och ha en rolltilldelning på arbetsytan. AML-färdigheten använder sedan tjänstens hanterade identitet för att autentisera mot AML-onlineslutpunkten, utan att några statiska nycklar krävs. Söktjänstens identitet måste vara ägare eller deltagare. Ange parametern resourceId och ange region parametern om söktjänsten finns i en annan region än AML-arbetsytan.

Kunskapsindata

Kunskapsindata är en nod i det berikade dokumentet som skapas under dokumentsprickor. Det kan till exempel vara rotdokumentet, en normaliserad bild eller innehållet i en blob. Det finns inga fördefinierade indata för den här färdigheten. För indata bör du ange en eller flera noder som fylls i vid tidpunkten för AML-färdighetens körning.

Kunskapsutdata

Kunskapsutdata är nya noder i ett berikat dokument som skapats av färdigheten. Det finns inga fördefinierade utdata för den här färdigheten. För utdata bör du ange noder som kan fyllas i från JSON-svaret för din AML-färdighet.

Exempeldefinition

  {
    "@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"
      }
    ]
  }

Exempel på JSON-struktur för indata

Den här JSON-strukturen representerar nyttolasten som skickas till din AML-onlineslutpunkt. De översta fälten i strukturen motsvarar de "namn" som anges i avsnittet i inputs kunskapsdefinitionen. Värdena för dessa fält kommer från fälten source (som kan komma från ett fält i dokumentet eller eventuellt från en annan färdighet)

{
  "text": "Este es un contrato en Inglés"
}

Exempel på JSON-struktur för utdata

Utdata motsvarar svaret som returneras från din AML-onlineslutpunkt. AML-onlineslutpunkten bör endast returnera en JSON-nyttolast (verifierad genom att titta på Content-Type svarshuvudet) och bör vara ett objekt där fälten är berikningar som matchar "namnen" i output och vars värde anses vara berikning.

{
    "detected_language_code": "es"
}

Exempeldefinition för infogad formning

  {
    "@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"
      }
    ]
  }

Infogad formning av indata-JSON-struktur

{
  "shapedText": { "content": "Este es un contrato en Inglés" }
}

Infogad formningsexempel på JSON-struktur

{
    "detected_language_code": "es"
}

Felfall

Förutom att din AML inte är tillgänglig eller skickar ut icke-kompatibla statuskoder anses följande vara felaktiga fall:

  • AML-onlineslutpunkten returnerar en statuskod för lyckad åtgärd, men svaret anger att det inte application/jsonär , då anses svaret vara ogiltigt och inga berikningar utförs.

  • AML-onlineslutpunkten returnerar ogiltig JSON.

Om AML-onlineslutpunkten inte är tillgänglig eller returnerar ett HTTP-fel läggs ett användarvänligt fel med tillgänglig information om HTTP-felet till i indexerarens körningshistorik.

Se även