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

Viktigt!

Den här färdigheten är i offentlig förhandsversion under kompletterande användningsvillkor. Rest-API:et 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). När en AML-modell har tränats och distribuerats integrerar en AML-färdighet den i AI-berikande.

Liksom inbyggda färdigheter har en AML-färdighet indata och utdata. Indata skickas till din distribuerade AML-onlineslutpunkt som ett JSON-objekt, som matar ut en JSON-nyttolast som ett svar tillsammans med en statuskod för lyckade resultat. Svaret förväntas ha de utdata som anges av din AML-färdighet . 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

Förutsättningar

@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.
key (Krävs för nyckelautentisering) Nyckeln för AML-onlineslutpunkten.
resourceId (Krävs för tokenautentisering). Azure Resource Manager-resurs-ID för AML-onlineslutpunkten. Det bör vara i formatet 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.

Vilka kunskapsparametrar som ska användas

Vilka AML-kompetensparametrar som krävs beror på vilken autentisering din AML-onlineslutpunkt använder, om någon. AML-onlineslutpunkter tillhandahåller två autentiseringsalternativ:

  • Nyckelbaserad autentisering. En statisk nyckel tillhandahålls för att autentisera bedömningsbegäranden från AML-kunskaper
    • Använda URI- och nyckelparametrarna
  • Tokenbaserad autentisering. AML-onlineslutpunkten distribueras med hjälp av tokenbaserad autentisering. Azure AI-tjänsten Search hanterade identitet måste vara aktiverad. 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. Identiteten måste vara tilldelad ägar- eller deltagarroll.
    • Använd parametern resourceId .
    • Om söktjänsten finns i en annan region än AML-arbetsytan använder du regionparametern för att ange den region som AML-onlineslutpunkten distribuerades i

Kunskapsindata

Det finns inga "fördefinierade" indata för den här färdigheten. Du kan välja ett eller flera fält som redan skulle vara tillgängliga vid tidpunkten för den här färdighetens körning som indata och JSON-nyttolasten som skickas till AML-onlineslutpunkten har olika fält.

Kunskapsutdata

Det finns inga "fördefinierade" utdata för den här färdigheten. Beroende på vilket svar din AML-onlineslutpunkt returnerar lägger du till utdatafält så att de kan hämtas från JSON-svaret .

Exempeldefinition

  {
    "@odata.type": "#Microsoft.Skills.Custom.AmlSkill",
    "description": "A sample model that detects the language of sentence",
    "uri": "https://contoso.count-things.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://contoso.count-things.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:

  • Om AML-onlineslutpunkten returnerar en statuskod för lyckade resultat, men svaret anger att den inte application/jsonär det, anses svaret vara ogiltigt och inga berikningar utförs.
  • Om 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