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


Támogatott adattípusok (Azure AI Search)

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

Jegyzet

Ha indexelőkethasznál, tekintse meg Az Indexelők adattípus-leképezése az Azure AI Search szolgáltatásban 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 formátumot használja, a kimeneti formátum Float32 vagy Collection(Edm.Single). Ebben a forgatókönyvben nem rendelhet hozzá Int8 adattípust, mert a float-ból int primitívekbe történő öntés tilos. Azonban a Float32Float16 vagy (Collection(Edm.Half)).

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

Adattípus Vektor típusa Leírás Ajánlott használat
Collection(Edm.Byte) Bináris 1 bites nem aláírt bináris. Általánosan elérhető Create or Update Index (2024-07-01). Támogatja a bináris beágyazást kibocsátó modellekkel való integrációt, például Cohere v3 bináris beágyazási modelljeit. vagy egyéni kvantálási logikát, amely 1 bites, nem aláírt bináris kimenetet bocsát ki. A típusú mezőkről a bináris adatok indexelésével kapcsolatos a bináris adatok meződefiníciójának és vektorkeresési algoritmusainak megadásához nyújt segítséget.
Collection(Edm.Single) Float32 32 bites lebegőpontos. Általánosan elérhető Create or Update Index (2024-07-01). Ez az adattípus az újabb előzetes verziókban és a stabil 2023-11-01verzióban is 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, kisebb pontosságú és tartományú. Általánosan elérhető Create or Update Index (2024-07-01). Olyan helyzetekben hasznos, ahol a memória és a számítási hatékonyság kritikus fontosságú, és ahol bizonyos pontosság feláldozása elfogadható. Gyakran gyorsabb lekérdezési időt és kevesebb memóriaigényt eredményez, mint a Float32, bár kissé csökkentett pontossággal. Hozzárendelhet egy Float16 típust az indexhez Float32 beágyazásokhoz Float16. A Float16 a natív Float16 kibocsátó modellek vagy egyéni kvantálási folyamatok beágyazásához is használható.
Collection(Edm.Int16) Int16 16 bites aláírt egész szám. Általánosan elérhető Create or Update Index (2024-07-01). A Float32 és a nagyobb pontosságú kvantálási módszerek támogatásához képest alacsonyabb memóriaigényt biztosít, miközben számos alkalmazáshoz továbbra is elegendő 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. Általánosan elérhető Create or Update Index (2024-07-01). Jelentős memória- és számítási hatékonyságnövekedést biztosít Float32 vagy Float16képest. Azonban valószínűleg kiegészítő technikákat (például kvantálást és túlbélyegezést) 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ámértékek.
Edm.Int64 64 bites egész számértékek.
Edm.Double Dupla pontosságú IEEE 754 lebegőpontos értékek.
Edm.DateTimeOffset 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 DateTimeOffset mezők pontossága ezredmásodpercre korlátozódik. Ha DateTimeOffset értékeket ad meg ezredmásodperc pontossággal, a visszaadott érték ezredmásodpercre lesz kerekítve (például 2024-04-15T10:30:09.7552052Z2024-04-15T10:30:09.7550000Zként lesz visszaadva). Amikor DateTimeOffset értékeket tölt fel az indexbe időzóna-információkkal, az Azure AI Search normalizálja ezeket az értékeket UTC értékre. A 2024-01-13T14:03:00-08:00 például 2024-01-13T22:03:00Ztárolja. Ha időzónaadatokat kell tárolnia, adjon hozzá egy további mezőt az indexhez.
Edm.GeographyPoint Egy földrajzi helyet jelképező pont a földgömbön. A kérelem- és választestek esetében az ilyen típusú értékek megjelenítése a GeoJSON "Pont" típusformátumot követi. URL-címek esetén az OData a WKT szabványon alapuló konstans űrlapot használ. A pontkonstans a "POINT(lon lat)" földrajzi helyként van létrehozva.
Edm.ComplexType Olyan objektumok, amelyek tulajdonsága olyan almezőkre van leképezve, amelyek bármely más támogatott adattípushoz lehetnek rendelve. Ez a típus lehetővé teszi a strukturált hierarchikus adatok, például a JSON indexelését. A Edm.ComplexType típusú mezők objektumai beágyazott objektumokat tartalmazhatnak, de a beágyazás szintje korlátozott. A korlátokat szolgáltatáskorlátokismerteti.
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 Edm.ComplexTypetípusú objektumok listája. A dokumentum összes Edm.ComplexType típusú gyűjteményében korlátozva van az elemek maximális száma. Részletekért lásd szolgáltatáskorlátokat.

A fenti típusok mindegyike null értékű, kivéve a primitív és összetett típusok gyűjteményeit, például Collection(Edm.String). A null értékű mezők explicit módon null értékre állíthatók. A rendszer automatikusan null értékre állítja őket, ha egy Azure AI Search-indexbe feltöltött dokumentumból kimaradnak. A gyűjteménymezők automatikusan üresre ([] JSON-ban) vannak beállítva, amikor egy dokumentumból kihagyják őket. 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ípusok gyűjteményében lévő elemek számának nincs felső korlátja, de a 16 MB-os felső korlát a hasznos adatok méretére a dokumentumok minden részére vonatkozik, beleértve a gyűjteményeket is.

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

Az Azure AI Searchben a térinformatikai keresés szűrőként van kifejezve.

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

Fontos

A sokszög pontoknak az óramutató járásával ellentétes sorrendben kell lenniük. A sokszögben lévő pontok az óramutató járásával ellentétes sorrendben vannak értelmezve 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: