Támogatott adattípusok (Azure AI-Keresés)

Ez a cikk az Azure AI Keresés által támogatott adattípusokat ismerteti. A szűrőkifejezésekben használt mezők és értékek beírása az Entity Data Model (EDM) szerint van begépelve. Az EDM-adattípus megadása a meződefiníció követelménye.

Megjegyzés

Ha indexelőket használ, az Azure AI-Keresés indexelőinek adattípus-leképezése című témakörben talál további információt arról, hogy az indexelők hogyan képeznek le forrásspecifikus adattípusokat EDM-adattípusokra egy keresési indexben.

EDM-adattípusok vektormezőkhöz

A vektormező-típusnak érvényesnek kell lennie a beágyazási modell kimenetére. Ha például a text-embedding-ada-002 fájlt használja, a kimeneti formátum vagy Collection(Edm.Single).Float32 Ebben a forgatókönyvben nem rendelhet hozzá adattípust Int8 , mert a primitívek között floatint való kiosztás tiltott. Azonban a-ról vagy a-ra Float32 is leadhatja a parancsotFloat16.(Collection(Edm.Half))

A vektormezők beágyazások tömbjei. Az EDM-ben a tömb egy gyűjtemény.

Adattípus Vektor típusa Description Ajánlott használat
Collection(Edm.Single) Float32 32 bites lebegőpontos. Az Index létrehozása vagy frissítése (2023-07-01-Preview) verziótól kezdve érhető el. Ez az adattípus az újabb előzetes verziókban és a stabil verzióban 2023-11-01is támogatott. Alapértelmezett adattípus a Microsoft-eszközökben, amelyek vektormezőket hoznak létre az Ön nevében. Egyensúlyt teremt a pontosság és a hatékonyság között. A legtöbb beágyazási modell vektorokat bocsát ki.Float32
Collection(Edm.Half) Float16 16 bites lebegőpontos, alacsonyabb pontosságú és tartományú. Az Index létrehozása vagy frissítése (2024-03-01-preview) című cikktől kezdve érhető el. Olyan helyzetekben hasznos, ahol a memória és a számítási hatékonyság kritikus fontosságú, és ahol elfogadható a pontosság feláldozása. Gyakran gyorsabb lekérdezési időt és kevesebb memóriaigényt eredményez, mint a Float32, bár a pontossága némileg csökkent. Típust Float16 rendelhet az indexbeágyazásokhoz Float32 a következőképpen Float16: . A natív módon kibocsátott Float16 modellek vagy egyéni kvantálási folyamatok beágyazásához is használhatóFloat16.
Collection(Edm.Int16) Int16 16 bites aláírt egész szám. Az Index létrehozása vagy frissítése (2024-03-01-preview) című cikktől kezdve érhető el. Alacsonyabb memóriaigényt biztosít a nagyobb pontosságú kvantálási módszerekhez Float32 képest, és támogatja a nagyobb pontosságú kvantálási módszereket, miközben számos alkalmazás esetében továbbra is megfelelő pontosságot biztosít. Alkalmas olyan esetekre, amikor fontos a memóriahatékonyság. Egyéni kvantálást igényel, amely vektorokat ad ki.Int16
Collection(Edm.SByte) Int8 8 bites aláírt egész szám. Az Index létrehozása vagy frissítése (2024-03-01-preview) című cikktől kezdve érhető el. Jelentős memória- és számítási hatékonyságnövekedést biztosít a vagy Float16a-hez Float32 képest. Azonban valószínűleg kiegészítő technikákat (például kvantálást és túlsamplinget) igényel a pontosság csökkentésének ellensúlyozásához és a megfelelő visszahíváshoz. Egyéni kvantálást igényel, amely vektorokat ad ki.Int8

EDM-adattípusok nem adatmegjelenítő mezőkhöz

Adattípus Leírás
Edm.String Szöveges adatok.
Edm.Boolean Igaz/hamis értékeket tartalmaz.
Edm.Int32 32 bites egész számok.
Edm.Int64 64 bites egész számok.
Edm.Double Dupla pontosságú IEEE 754 lebegőpontos értékek.
Edm.DateTimeOffset Az OData V4 formátumban megadott dátum- és időértékek: yyyy-MM-ddTHH:mm:ss.fffZ vagy yyyy-MM-ddTHH:mm:ss.fff[+|-]HH:mm. A mezők pontossága DateTimeOffset ezredmásodpercre korlátozódik. Ha az értékeket az ezredmásodperc alatti pontossággal tölti fel DateTimeOffset , a visszaadott érték kerekítése ezredmásodpercre történik (például 2024-04-15T10:30:09.7552052Z a visszaadott érték a következő lesz 2024-04-15T10:30:09.7550000Z: ). Amikor időzóna-adatokat tartalmazó értékeket tölt fel DateTimeOffset az indexbe, az Azure AI Keresés normalizálja ezeket az értékeket UTC értékre. A rendszer például 2024-01-13T14:03:00-08:00 a következőként tárolja: 2024-01-13T22:03:00Z. Ha időzóna-adatokat kell tárolnia, adjon hozzá egy további mezőt az indexhez.
Edm.GeographyPoint A pont egy konkrét földrajzi helyet jelöl. A kérelem- és választörzsek esetében az ilyen típusú értékek ábrázolása a GeoJSON "Pont" típusú formátumot követi. URL-címek esetén az OData a WKT szabványon alapuló literális űrlapot használ. A pontkonstans a földrajz'POINT(lon lat)' néven jön létre.
Edm.ComplexType Olyan objektumok, amelyeknek a tulajdonságai olyan almezőkre vannak leképezve, amelyek bármilyen más támogatott adattípusúak lehetnek. Ez a típus lehetővé teszi a strukturált hierarchikus adatok, például a JSON indexelését. A típusú Edm.ComplexType mezők objektumai beágyazott objektumokat tartalmazhatnak, de a beágyazás szintje korlátozott. A korlátokat a Szolgáltatáskorlátok című cikkben ismertetjük.
Collection(Edm.String) Sztringek listája.
Collection(Edm.Boolean) Logikai értékek listája.
Collection(Edm.Int32) 32 bites egész számértékek listája.
Collection(Edm.Int64) 64 bites egész számértékek listája.
Collection(Edm.Double) Dupla pontosságú numerikus értékek listája.
Collection(Edm.DateTimeOffset) A dátum időértékeinek listája.
Collection(Edm.GeographyPoint) Földrajzi helyeket képviselő pontok listája.
Collection(Edm.ComplexType) A típusú Edm.ComplexTypeobjektumok listája. A dokumentum összes típusú Edm.ComplexType gyűjteményében korlátozva van az elemek maximális száma. A részletekért lásd: Szolgáltatáskorlátok .

A fenti típusok mindegyike null értékű, kivéve a primitív és összetett típusú gyűjteményeket, például: Collection(Edm.String). A null értékű mezők explicit módon null értékre állíthatók be. A rendszer automatikusan null értékre állítja őket, ha egy Azure AI-Keresés indexbe feltöltött dokumentumból kimaradnak. A gyűjteménymezők automatikusan üres[] (JSON-ban) értékre vannak állítva, amikor ki vannak hagyva egy dokumentumból. Emellett nem lehet null értéket tárolni egy gyűjteménymezőben.

Az összetett gyűjteményektől eltérően a primitív típusú gyűjteményekben lévő elemek számának nincs felső korlátja, de a hasznos adatok méretére vonatkozó 16 MB-os felső korlát a dokumentumok minden részére érvényes, beleértve a gyűjteményeket is.

A szűrőkifejezésekben használt térinformatikai adattípus

Az Azure AI Keresés a térinformatikai keresést szűrőként fejezi ki.

Az Edm.GeographyPolygon egy sokszög, amely a földgömb földrajzi régióját jelöli. Bár ez a típus nem használható dokumentummezőkben, a függvény argumentumaként geo.intersects is használható. Az OData URL-címeinek literális űrlapja a WKT (jól ismert szöveg) és az OGC egyszerű szolgáltatáshozzáférési szabványán alapul. A sokszögkonstans a "POLYGON(((lon lat, lon lat, ...))".

Fontos

A sokszögben lévő pontoknak az óramutató járásával ellentétes sorrendben kell lenniük. A sokszög pontjait az óramutató járásával ellentétes sorrendben értelmezi a rendszer a sokszög belsejéhez viszonyítva. Egy London körüli 4 pontos zárt sokszög például -0,3°W 51,6°N [bal felső] , -0,3°W 51,4°N [bal alsó], 0,1°E 51,4°N [jobb alsó], 0,1°E 51,6°N [jobb felső], -0,3°W 51,6°N [kiindulási pont].

Lásd még