Megosztás a következőn keresztül:


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

@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 és key 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étert region .

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á.

Lásd még