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ő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
Indexelők használata esetén az Azure AI Search adattípus-leképezése az indexelők számára 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 float
int
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.Byte) |
Bináris | 1 bites, aláíratlan bináris. Elérhető Létrehozás vagy frissítési indexben (2024-05-01-preview). | Támogatja az olyan modellekkel való integrációt, amelyek bináris beágyazásokat bocsátanak ki, például a Cohere 3-as verziójú bináris beágyazási modelljeit. vagy egyéni kvantálási logikát, amely 1 bites, aláíratlan bináris kimenetet bocsát ki. Típusmezők Collection(Edm.Byte) esetén lásd: Bináris adatok indexelése a bináris adatok meződefiníciójának és vektorkeresési algoritmusainak megadásához. |
Collection(Edm.Single) |
Float32 |
32 bites lebegőpontos. Elérhető Létrehozás vagy frissítési indexben (2023-07-01-preview). Ez az adattípus az újabb előzetes verziókban és a stabil verzióban 2023-11-01 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, alacsonyabb pontosságú és tartományú. Elérhető Létrehozás vagy frissítési indexben (2024-03-01-preview). | 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. Elérhető Létrehozás vagy frissítési indexben (2024-03-01-preview). | 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. Elérhető Létrehozás vagy frissítési indexben (2024-03-01-preview). | Jelentős memória- és számítási hatékonyságnövekedést biztosít a vagy Float16 a-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 Search 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.ComplexType objektumok 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 Search-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 Searchben a térinformatikai keresés szűrőként van kifejezve.
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].