AML-kunskaper i en Pipeline för Azure AI Search-berikande
Viktigt!
Stöd för indexerareanslutningar till Azure AI Studio-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 Mašinsko učenje-modell (AML). När en AML-modell har tränats och distribuerats integrerar en AML-färdighet den i AI-berikande.
Liksom andra 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. Dina data bearbetas i geo-området där din modell distribueras. 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.
AML-färdigheten kan anropas med den stabila API-versionen 2024-07-01 eller API-versionen 2024-05-01-preview för anslutningar till modellkatalogen i Azure AI Studio.
Från och med 2024-05-01-preview REST API och i Azure-portalen (som även riktar sig mot 2024-05-01-preview) introducerade Azure AI Search Katalogvektoriseraren för Azure AI Studio-modellkatalogen för frågetidsanslutningar till modellkatalogen i Azure AI Studio. Om du vill använda den vektoriseraren för frågor är AML-färdigheten indexeringsmotsvarigheten för att generera inbäddningar med hjälp av en modell i Azure AI Studio-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 om det här arbetsflödet finns i Implementera integrerad vektorisering med hjälp av modeller från Azure AI Studio .
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
- En AML-arbetsyta
- En onlineslutpunkter (realtid) på den här arbetsytan.
@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-usluga pretrage 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.