AML-képesség az Azure AI Search bővítési folyamatában
Fontos
Az Azure AI Foundry-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 az AI-bővítés kiterjesztését egy egyéni Azure Machine Learning-modellel (AML) vagy üzembe helyezett alapbeágyazási modellel az Azure AI Foundryben. Az AML-modell betanítása és üzembe helyezése után egy AML-képesség integrálja azt egy készségkészletbe.
AML-képességek használata
Más beépített képességekhez hasonlóan egy egyéni AML-képesség bemenetekkel és kimenetekkel is rendelkezik. A bemeneteket a rendszer egy üzembe helyezett AML online végpontra továbbítja JSON-objektumként. A végpont kimenetének JSON hasznos adatnak kell lennie a válaszban, valamint egy sikerességi állapotkódnak kell lennie. Az adatok feldolgozása a Geo-ban történik, ahol a modell üzembe van helyezve. A válasz várhatóan megadja az AML-képességdefiníció által megadott kimeneteket. A rendszer minden más választ hibának tekint, és nem végez bővítést.
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
Az AML-készség meghívható a 2024-07-01-es stabil API-verzióval vagy azzal egyenértékű Azure SDK-val, vagy a 2024-05-01-preview API-verzióval a modellkatalógushoz való csatlakozáshoz az Azure AI Foundry portálon.
AML-képesség modellekhez az Azure AI Foundryben
A 2024-05-01-preview REST API-tól kezdve az Azure Portalon (amely szintén a 2024-05-01 előzetes verziót célozza) az Azure AI Search az Azure AI Foundry modellkatalógus vektorizálóját biztosítja a modellkatalógushoz való lekérdezési idő kapcsolatához az Azure AI Foundry portálon. 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 Foundry-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 részletekért és a támogatott beágyazási modellek listájáért tekintse meg az Azure AI Foundry-modellkatalógusból származó beágyazási modellek használatát ismertető cikket.
Javasoljuk, hogy az Adatok importálása és vektorizálása varázslóval hozzon létre egy olyan képességkészletet, amely AML-képességgel rendelkezik az Azure AI Foundryben üzembe helyezett beágyazási modellekhez. A bemenetek, kimenetek és leképezések AML-készségdefinícióját a varázsló hozza létre, amely lehetővé teszi a modellek tesztelését, mielőtt bármilyen kódot ír.
Előfeltételek
- Az Ön által létrehozott egyéni modell AML-munkaterülete , vagy az Azure AI Foundry egy projektje, ha a katalógusból üzembe helyez egy beágyazási modellt.
- Online végpontok (valós idejű) ezen a munkaterületen egy egyéni modellhez, vagy a katalógusból üzembe helyezett modellek beágyazásához használt modellvégpont.
@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. Az Azure AI Foundry modellkatalógusában lévő modellek beágyazásához ez a cél URI. |
key |
(Kulcshitelesítéshez szükséges) Az AML online végpontjának vagy a |
resourceId |
(A jogkivonat-hitelesítéshez szükséges). Az AML online végpontjának Azure Resource Manager-erőforrás-azonosítója. A következő formátumban kell lennie: subscriptions/{guid}/resourceGroups/{resource-group-name}/Microsoft.MachineLearningServices/workspaces/{workspace-name}/onlineendpoints/{endpoint_name} . |
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. |
Hitelesítés
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. Adja meg a
uri
kapcsolat paramétereit éskey
paramétereit.Jogkivonatalapú hitelesítés, ahol az AML online végpontja tokenalapú hitelesítéssel van üzembe helyezve. Az Azure AI Search szolgáltatás felügyelt identitását engedélyezni kell, és szerepkör-hozzárendeléssel kell rendelkeznie a munkaterületen. 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. A keresési szolgáltatás identitásának tulajdonosnak vagy közreműködőnek kell lennie. Állítsa be a paramétert
resourceId
, és ha a keresési szolgáltatás az AML-munkaterülettől eltérő régióban található, állítsa be a paramétertregion
.
Készségbemenetek
A készségbemenetek a dokumentum feltörése során létrehozott bővített dokumentum csomópontjai. Ez lehet például a gyökérdokumentum, egy normalizált kép vagy egy blob tartalma. Ehhez a képességhez nincsenek előre definiált bemenetek. Bemenetek esetén meg kell adnia egy vagy több csomópontot, amelyek az AML-képesség végrehajtásakor vannak feltöltve.
Képességkimenetek
A képességkimenetek a képesség által létrehozott bővített dokumentum új csomópontjai. Ehhez a képességhez nincsenek előre definiált kimenetek. Kimenetek esetén olyan csomópontokat kell megadnia, amelyek az AML-képesség JSON-válaszából tölthetők fel.
Mintadefiníció
{
"@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"
}
]
}
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://language-model.models.contoso.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:
Az AML online végpontja egy 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.Az AML online végpontja érvénytelen JSON-t ad vissza.
Az olyan esetekben, amikor az AML online végpontja nem érhető el, vagy HTTP-hibát ad vissza, az indexelőzmények egy rövid, a HTTP-hibával kapcsolatos részleteket tartalmazó hibát adnak hozzá.