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 Float32
Float16
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 |
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-01 verzió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 Float16 ké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.7552052Z 2024-04-15T10:30:09.7550000Z ké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:00Z tá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.ComplexType tí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].