Azure Vision multimodális beágyazási képesség (előzetes verzió)

Note

Azure AI Keresés a Azure portálon, REST API-kon és Azure SDK-k keresztül érhető el. Emellett a Foundry IQ-t is támogatja, amely a vállalati tartalmakat újrafelhasználható, engedélytudatos tudásbázisokká alakítja át az Microsoft Foundry portálon található ügynökök számára.

Important

Az (előzetes verzióban) megjelölt funkciókra, képességekre vagy tulajdonságokra nem vonatkozik szolgáltatási szintű szerződés, nem ajánlott éles számítási feladatokhoz, és az általános elérhetővé válásuk előtt változhatnak vagy korlátozhatók. Az Azure AI Keresés előzetes verziójú kifejezések az összes előzetes verziós funkcióra vonatkoznak, függetlenül attól, hogy önálló vagy egy általánosan elérhető funkció része.

A Azure Vision multimodális beágyazási képesség (előzetes verzió) a Azure Vision in Foundry Tools multimodális beágyazási API-ját használja a szöveg- vagy képbemenet beágyazásához.

Ha olyan tranzakciók esetén, amelyek naponta 20 dokumentumot haladnak indexelőnként, ehhez a készséghez egy számlázható Microsoft Foundry erőforrást kell csatolnod a készségeidhez. A beépített készségek végrehajtása a meglévő Foundry Tools Standard áron számít. A képkivonás számlázásra is Azure AI Keresés számlázható.

A Microsoft Foundry erőforrást csak számlázási célokra használják. A tartalomfeldolgozás különálló erőforrásokon történik, amelyeket az Azure AI Keresés kezel és karbantart. Az adataidat a Geo rendszeren dolgozzák fel, ahol az erőforrásod telepítve van.

Támogatott régiók

A támogatott régiók modalitástól és attól függően változnak, hogyan kapcsolódik a képesség az Azure Vision multimodális beágyazási API-jához.

Approach Requirement
Adatimportálás varázsló
  1. Keress egy régiót, amely támogatja a multimodális beágyazásokat a Azure Vision-ban.
  2. Ellenőrizd, hogy region támogatja az AI gazdagítást Azure AI Keresés-ben.
  3. Hozz létre egy Azure AI Keresés szolgáltatást és Azure AI többszolgáltatású fiókot ugyanabban a régióban.
Programozott, kulcsalapú kapcsolatot használ számlázáshoz
  1. Keress egy régiót, amely támogatja a multimodális beágyazásokat a Azure Vision-ban.
  2. Ellenőrizd, hogy region támogatja az AI gazdagítást Azure AI Keresés-ben.
  3. Hozz létre egy Azure AI Keresés szolgáltatást és Microsoft Foundry erőforrást ugyanabban a régióban.
Programozott, kulcs nélküli kapcsolatot használ számlázáshoz Nincs ugyanaz a régió követelménye. Hozz létre Azure AI Keresés szolgáltatást és Microsoft Foundry erőforrást bármely régióban, ahol egyes szolgáltatások elérhetők.

@odata.type

Microsoft.Skills.Vision.VectorizeSkill

Adatkorlátok

A készség bemeneti korlátai a Azure Vision dokumentációban találhatók képekhez és szöveghez. Fontold meg a Text Split képesség használatát, ha adatfelosztásra van szükséged a szövegbevitelekhez.

Az alkalmazható bemenetek a következők:

  • A képbemeneti fájlméretnek kevesebbnek kell lennie, mint 20 megabájt (MB). A képméretnek nagyobbnak kell lennie 10 x 10 pixelnél, és kevesebbnek kell lennie 16 000 x 16 000 pixelnél.
  • A szövegbemeneti láncsornak (inkluzív) egy szó és 70 szó között kell lennie.

Képességparaméterek

A paraméterek megkülönböztetik a kis- és nagybetűket.

Bemenetek Leírás
modelVersion (Kötelező) A modellverziót (2023-04-15) a Azure Vision multimodális beágyazások API-jához kell továbbítani beágyazások generálásához. A vektorbeágyazások csak akkor hasonlíthatók össze és párosíthatók, ha ugyanabból a modelltípusból származnak. Az egyik modell által vektorizált képek nem lesznek kereshetők egy másik modellen keresztül. A legújabb Képelemzési API két modellt kínál:
  • A 2023-04-15 verzió sok nyelven támogatja a szövegkeresést. Az Azure AI Keresés ezt a verziót használja.
  • A régi 2022-04-11 modell, amely csak angolt támogat.

Készségbemenetek

A képességmeghatározás bemenetei közé tartoznak a név, forrás és bemenetek. Az alábbi táblázat érvényes értékeket ad a bemenet nevéhez. Be lehet határozni rekurzív bemeneteket is. További információért lásd a REST API hivatkozást és a Képességkészlet létrehozását.

Bemenet Leírás
text A bemeneti szöveget vektorizálni kell. Ha adat-chunkolást használsz, a forrás lehet /document/pages/*.
image Összetett típus. Jelenleg csak a "/document/normalized_images" mezővel működik, amelyet a Azure blob indexer generál, amikor a imageAction értéket állítanak be a none-n kívül.
url Az URL, amelyhez a kép letöltésére vektorizálható.
queryString Az URL-re vonatkozó lekérdezési láncsor, amely letölti a vektorizálandó képet. Hasznos, ha az URL-t és a SAS tokent külön útvonalakon tárolod.

Csak egy text, image vagy url/queryString egyetlen képesség példányára konfigurálható. Ha képeket és szöveget akarsz vektorizálni ugyanabban a képességkészletben, tegyél be két példányt ebből a képességből a képességkészlet definíciójában, egyet minden bemeneti típushoz, amit használni szeretnél.

Képességkimenetek

Kimenet Leírás
vector A bemeneti szöveg vagy kép lebegői beágyazási tömbje a bemeneti szöveghez vagy képhez.

Mintadefiníció

Szövegbevitelhez vegyünk egy olyan tömböt, amelynek tartalma a következő volt:

{
    "content": "Forests, grasslands, deserts, and mountains are all part of the Patagonian landscape that spans more than a million square  kilometers of South America."
}

Szövegbeviteleknél a képességdefiníciód így nézhet ki:

{ 
    "@odata.type": "#Microsoft.Skills.Vision.VectorizeSkill", 
    "context": "/document", 
    "modelVersion": "2023-04-15", 
    "inputs": [ 
        { 
            "name": "text", 
            "source": "/document/content" 
        } 
    ], 
    "outputs": [ 
        { 
            "name": "vector",
            "targetName": "text_vector"
        } 
    ] 
} 

Képbevitelhez ugyanebben a képességkészletben egy második képességdefiníció így nézhet ki:

{
    "@odata.type": "#Microsoft.Skills.Vision.VectorizeSkill",
    "context": "/document/normalized_images/*",
    "modelVersion": "2023-04-15", 
    "inputs": [
        {
            "name": "image",
            "source": "/document/normalized_images/*"
        }
    ],
    "outputs": [
        {
            "name": "vector",
            "targetName": "image_vector"
        }
    ]
}

Ha közvetlenül a blob tároló adatforrásból akarsz képeket vektorizálni, nem pedig indexeléskor kinyerni képeket, a képességdefiníciódnak URL-t és esetleg SAS tokent kell megadnia a tárolásbiztonságtól függően. Ebben a helyzetben a képességdefiníciód így nézhet ki:

{
    "@odata.type": "#Microsoft.Skills.Vision.VectorizeSkill",
    "context": "/document",
    "modelVersion": "2023-04-15", 
    "inputs": [
        {
            "name": "url",
            "source": "/document/metadata_storage_path"
        },
        {
            "name": "queryString",
            "source": "/document/metadata_storage_sas_token"
        }
    ],
    "outputs": [
        {
            "name": "vector",
            "targetName": "image_vector"
        }
    ]
}

Példakimenet

Az adott bemenethez vektorizált beágyazott kimenetet kapunk. A kimenet 1 024 dimenzió, ami az Azure Vision multimodális API által támogatott dimenziók száma.

{
  "text_vector": [
        0.018990106880664825,
        -0.0073809814639389515,
        .... 
        0.021276434883475304,
      ]
}

A kimenet a memóriában található. Ahhoz, hogy ezt a kimenetet a kereső index egy mezőjébe küldjük, definiálnod kell egy outputFieldMappinget , amely a vektorizált beágyazás kimenetet (ami egy tömb) egy vektormezőhöz képezi. Feltételezve, hogy a képesség kimenete a dokumentum vektorcsomópontjában van, és content_vector a keresőindexben lévő mező, akkor az indexelőben lévő outputFieldMapping így nézzen ki:

  "outputFieldMappings": [
    {
      "sourceFieldName": "/document/vector/*",
      "targetFieldName": "content_vector"
    }
  ]

A képbeágyazások indexhez való leképezéséhez indexvetítéseket használsz. A hasznos terhe indexProjections a következő példához hasonlíthat. image_content_vector egy mező az indexben, és a normalized_imagestömb vektorában található tartalommal van töltve.

"indexProjections": {
    "selectors": [
        {
            "targetIndexName": "myTargetIndex",
            "parentKeyFieldName": "ParentKey",
            "sourceContext": "/document/normalized_images/*",
            "mappings": [
                {
                    "name": "image_content_vector",
                    "source": "/document/normalized_images/*/vector"
                }
            ]
        }
    ]
}

Lásd még