AML-képesség az Azure AI Search bővítési folyamatában
Fontos
Az Azure AI Studio-modellkatalógus indexelői kapcsolatainak támogatása nyilvános előzetes verzióban érhető el kiegészítő használati feltételek mellett. Az előzetes verziójú REST API-k támogatják ezt a képességet.
Az AML-képesség lehetővé teszi, hogy az AI-bővítést egy egyéni Azure Machine Learning-modellel (AML) bővítse. Az AML-modell betanítása és üzembe helyezése után egy AML-képesség integrálja azt az AI-bővítésbe.
Más beépített képességekhez hasonlóan az AML-képesség bemenetekkel és kimenetekkel is rendelkezik. A bemeneteket a rendszer JSON-objektumként küldi el az üzembe helyezett AML online végpontnak, amely válaszként egy JSON hasznos adatot ad ki a sikerességi állapotkóddal együtt. Az adatok feldolgozása a Geo-ban történik, ahol a modell üzembe van helyezve. A válasz várhatóan az AML-képesség által megadott kimenetekkel rendelkezik. A rendszer minden más választ hibának tekint, és nem végez bővítést.
Az AML-készség a 2024-07-01 stabil API-verzióval vagy a 2024-05-01-preview API-verzióval hívható meg a modellkatalógushoz való csatlakozáshoz az Azure AI Studióban.
Az Azure AI Search a 2024-05-01-es verziójú REST API 2024-05-01-es előzetes verziójától kezdve az Azure Portalon (amely a 2024-05-01-es előzetes verziót is célozza) bevezette az Azure AI Studio modellkatalógus-vektorizálóját a modellkatalógushoz való lekérdezési idő kapcsolatához az Azure AI Studióban. Ha ezt a vektorizálót szeretné használni a lekérdezésekhez, az AML-képesség az indexelő megfelelője a beágyazások azure AI Studio-modellkatalógusában lévő modell használatával történő generálásához.
Az indexelés során az AML-képesség csatlakozhat a modellkatalógushoz, hogy vektorokat hozzon létre az indexhez. Lekérdezéskor a lekérdezések vektorizálóval csatlakozhatnak ugyanahhoz a modellhez a vektoros lekérdezés szöveges sztringjeinek vektorizálásához. Ebben a munkafolyamatban az AML-készséget és a modellkatalógus-vektorizálót együtt kell használni, hogy ugyanazt a beágyazási modellt használja az indexeléshez és a lekérdezésekhez is. A munkafolyamat részleteiért tekintse meg az Integrált vektorizálás implementálása az Azure AI Studio modelljeinek használatával című témakört.
Feljegyzés
Az indexelő kétszer újrapróbálkozza az AML online végpontjáról visszaadott szabványos HTTP-állapotkódokat. Ezek a HTTP-állapotkódok a következők:
503 Service Unavailable
429 Too Many Requests
Előfeltételek
- AML-munkaterület
- Online végpontok (valós idejű) ezen a munkaterületen.
@odata.type
Microsoft.Skills.Custom.AmlSkill
Képességparaméterek
A paraméterek megkülönböztetik a kis- és nagybetűket. A használni kívánt paraméterek attól függenek, hogy az AML online végpontja milyen hitelesítést igényel, ha van ilyen
Paraméter neve | Leírás |
---|---|
uri |
(Kulcshitelesítéshez szükséges) Annak az AML online végpontnak a pontozási URI-ja, amelyre a JSON hasznos adatokat küldi. Csak a https URI-séma engedélyezett. |
key |
(Kulcshitelesítéshez szükséges) Az AML online végpontjának kulcsa. |
resourceId |
(A jogkivonat-hitelesítéshez szükséges). Az AML online végpontjának Azure Resource Manager-erőforrás-azonosítója. Ennek előfizetések/{guid}/resourceGroups/{resource-group-name}/Microsoft.MachineLearningServices/workspaces/{workspace-name}/onlineendpoints/{endpoint_name} formátumban kell lennie. |
region |
(Nem kötelező a jogkivonat-hitelesítéshez). Az AML online végpontjának régiója . |
timeout |
(Nem kötelező) Ha meg van adva, az API-hívást kezdeményező HTTP-ügyfél időtúllépését jelzi. XSD "dayTimeDuration" értékként kell formázni (az ISO 8601 időtartamérték korlátozott részhalmaza). Például PT60S 60 másodpercig. Ha nincs beállítva, a rendszer 30 másodperces alapértelmezett értéket választ. Az időtúllépés legfeljebb 230 másodpercre és legalább 1 másodpercre állítható be. |
degreeOfParallelism |
(Nem kötelező) Ha meg van adva, az indexelő által a megadott végpontokkal párhuzamosan indított hívások számát jelzi. Ezt az értéket csökkentheti, ha a végpont túl nagy kérésterhelés alatt meghiúsul. Ezt akkor emelheti ki, ha a végpont több kérést is elfogad, és növelni szeretné az indexelő teljesítményét. Ha nincs beállítva, a rendszer az alapértelmezett 5 értéket használja. A degreeOfParallelism legfeljebb 10 és legalább 1 lehet. |
Milyen képességparamétereket érdemes használni?
A szükséges AML-képességparaméterek attól függenek, hogy az AML online végpontja milyen hitelesítést használ, ha van ilyen. Az AML online végpontjai két hitelesítési lehetőséget biztosítanak:
- Kulcsalapú hitelesítés. A rendszer statikus kulcsot biztosít az AML-készségek pontozási kérelmeinek hitelesítéséhez
- Az uri és a kulcsparaméterek használata
- Jogkivonatalapú hitelesítés. Az AML online végpontja jogkivonatalapú hitelesítéssel van üzembe helyezve. Engedélyezni kell az Azure AI Search szolgáltatás felügyelt identitását. Az AML-képesség ezután a szolgáltatás felügyelt identitását használja az AML online végponton való hitelesítéshez, statikus kulcsok nélkül. Az identitásnak tulajdonosi vagy közreműködői szerepkört kell hozzárendelnie.
- Használja a resourceId paramétert.
- Ha a keresési szolgáltatás az AML-munkaterülettől eltérő régióban található, a régióparaméterrel állítsa be azt a régiót, amelyben az AML online végpont üzembe lett helyezve
Készségbemenetek
Ehhez a képességhez nincsenek előre definiált bemenetek. Kiválaszthat egy vagy több mezőt, amely már elérhető lenne a képesség végrehajtásakor bemenetként, és az AML online végpontjára küldött JSON hasznos adatoknak különböző mezői lesznek.
Képességkimenetek
Ehhez a képességhez nincsenek előre definiált kimenetek. Attól függően, hogy az AML online végpontja milyen választ ad vissza, adjon hozzá kimeneti mezőket, hogy azok a JSON-válaszból is átvehetők legyenek.
Mintadefiníció
{
"@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"
}
]
}
Minta bemeneti JSON-struktúra
Ez a JSON-struktúra az AML online végpontjának küldött hasznos adatokat jelöli. A struktúra legfelső szintű mezői a képességdefiníció szakaszában inputs
megadott "neveknek" felelnek meg. Ezeknek a mezőknek az értékei ezekből a source
mezőkből származnak (amelyek lehetnek a dokumentum egy mezőjéből, vagy esetleg egy másik képességből).
{
"text": "Este es un contrato en Inglés"
}
Minta kimeneti JSON-struktúra
A kimenet az AML online végpontjától kapott válasznak felel meg. Az AML online végpontjának csak JSON hasznos adatokat kell visszaadnia (a válaszfejlécet vizsgálva Content-Type
ellenőrizve), és olyan objektumnak kell lennie, amelyben a mezők olyan gazdagítások, amelyek megfelelnek a output
"neveknek", és amelynek az értéke a bővítésnek minősül.
{
"detected_language_code": "es"
}
Beágyazott formázási mintadefiníció
{
"@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"
}
]
}
Bemeneti JSON-struktúra beágyazott formázása
{
"shapedText": { "content": "Este es un contrato en Inglés" }
}
Beágyazott formázási minta kimeneti JSON-struktúrája
{
"detected_language_code": "es"
}
Hibaesetek
Amellett, hogy az AML nem érhető el, vagy nem sikeres állapotkódokat küld ki, a következők hibás eseteknek minősülnek:
- Ha az AML online végpontja sikeres állapotkódot ad vissza, de a válasz azt jelzi, hogy nem
application/json
, akkor a válasz érvénytelennek minősül, és nem történik bővítés. - Ha az AML online végpontja érvénytelen json-t ad vissza
Azokban az esetekben, amikor az AML online végpontja nem érhető el, vagy HTTP-hibát ad vissza, egy rövid, a HTTP-hibával kapcsolatos részleteket tartalmazó hiba jelenik meg az indexelőzményekben.