Notitie
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen u aan te melden of de directory te wijzigen.
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen de mappen te wijzigen.
In dit artikel worden de gegevenstypen beschreven die worden ondersteund door Azure AI Search. Velden en de waarden die in filterexpressies worden gebruikt, worden getypt volgens het Entity Data Model (EDM). Het opgeven van een EDM-gegevenstype is een vereiste voor velddefinitie.
Notitie
Als u indexeerfuncties gebruikt, raadpleegt u Gegevenstypetoewijzing voor indexeerfuncties in Azure AI Search voor meer informatie over hoe indexeerfuncties bronspecifieke gegevenstypen toewijzen aan EDM-gegevenstypen in een zoekindex.
EDM-gegevenstypen voor vectorvelden
Een vectorveldtype moet geldig zijn voor de uitvoer van uw inbeddingsmodel. Als u bijvoorbeeld text-embedding-ada-002 gebruikt, is Float32 de uitvoerindeling of Collection(Edm.Single). In dit scenario kunt u geen gegevenstype toewijzen Int8 omdat casten van float naar int primitieven verboden is. U kunt echter casten van Float32 naar Float16 of (Collection(Edm.Half)).
Vectorvelden zijn een matrix van insluitingen. In EDM is een matrix een verzameling.
| Gegevenstype | Vectortype | Beschrijving | Aanbevolen gebruik |
|---|---|---|---|
Collection(Edm.Byte) |
Binair | 1-bits niet-ondertekende binaire versie. Algemeen beschikbaar in Index maken of bijwerken. | Ondersteunt integratie met modellen die binaire inbeddingen uitzenden, zoals de v3 binaire inbeddingsmodellen van Cohere. of aangepaste kwantiseringslogica die 1-bits niet-ondertekende binaire uitvoer uitzendt. Zie Binaire gegevens indexeren voor hulp bij het opgeven van Collection(Edm.Byte)de velddefinitie en vectorzoekalgoritmen voor binaire gegevens voor het type velden. |
Collection(Edm.Single) |
Float32 |
32-bits drijvende komma. Algemeen beschikbaar in Index maken of bijwerken. | Standaardgegevenstype in Microsoft-hulpprogramma's waarmee vectorvelden namens u worden gemaakt. Zorgt voor een balans tussen precisie en efficiëntie. De meeste inbeddingsmodellen zenden vectoren uit als Float32. |
Collection(Edm.Half) |
Float16 |
16-bits drijvende komma met lagere precisie en een lager bereik. Algemeen beschikbaar in Index maken of bijwerken. | Handig voor scenario's waarbij geheugen- en rekenefficiëntie essentieel zijn en waarbij het opofferen van enige precisie acceptabel is. Leidt vaak tot snellere querytijden en een kleinere geheugenvoetafdruk in vergelijking met Float32, zij het met iets verminderde nauwkeurigheid. U kunt een Float16 type toewijzen aan indexinbeddingen Float32 als Float16. U kunt ook gebruiken Float16 voor het insluiten van modellen of aangepaste kwantiseringsprocessen die native verzenden Float16 . |
Collection(Edm.Int16) |
Int16 |
16-bits ondertekend geheel getal. Algemeen beschikbaar in Index maken of bijwerken. | Biedt een kleinere geheugenvoetafdruk in vergelijking met Float32 en ondersteuning voor kwantiseringsmethoden met een hogere precisie, terwijl toch voldoende precisie behouden blijft voor veel toepassingen. Geschikt voor gevallen waarin geheugenefficiëntie belangrijk is. Vereist dat u een aangepaste kwantisatie hebt die vectoren uitvoert als Int16. |
Collection(Edm.SByte) |
Int8 |
8-bits teken geheel getal. Algemeen beschikbaar in Index maken of bijwerken. | Biedt aanzienlijke winst op het gebied van geheugen en rekenefficiëntie in vergelijking met Float32 of Float16. Het vereist echter waarschijnlijk aanvullende technieken (zoals kwantisatie en oversampling) om de vermindering van precisie en relevante overeenkomsten te compenseren. Vereist dat u een aangepaste kwantisatie hebt die vectoren uitvoert als Int8. |
EDM-gegevenstypen voor niet-ctorvelden
| Gegevenstype | Beschrijving |
|---|---|
Edm.String |
Tekstgegevens. |
Edm.Boolean |
Bevat waar-/onwaar-waarden. |
Edm.Int32 |
32-bits geheel getalwaarden. |
Edm.Int64 |
64-bits geheel getalwaarden. |
Edm.Double |
Dubbele precisie IEEE 754 drijvendekommawaarden. |
Edm.DateTimeOffset |
Datum- en tijdwaarden die worden weergegeven in de OData V4-indeling: yyyy-MM-ddTHH:mm:ss.fffZ of yyyy-MM-ddTHH:mm:ss.fff[+|-]HH:mm. De precisie van DateTimeOffset velden is beperkt tot milliseconden. Als u waarden uploadt DateTimeOffset met een precisie van minder dan een milliseconde, wordt de geretourneerde waarde naar boven afgerond op milliseconden (wordt bijvoorbeeld 2024-04-15T10:30:09.7552052Z geretourneerd als 2024-04-15T10:30:09.7550000Z). Wanneer u waarden uploadt DateTimeOffset met tijdzonegegevens naar uw index, normaliseert Azure AI Search deze waarden naar UTC. Wordt 2024-01-13T14:03:00-08:00 bijvoorbeeld opgeslagen als 2024-01-13T22:03:00Z. Als u tijdzonegegevens wilt opslaan, voegt u een extra veld toe aan uw index. |
Edm.GeographyPoint |
Een punt dat een geografische locatie op de wereldbol vertegenwoordigt. Voor aanvraag- en antwoordteksten volgt de weergave van waarden van dit type de indeling geoJSON -punttype. Voor URL's gebruikt OData een letterlijke vorm op basis van de WKT-standaard. Een letterlijke puntwaarde wordt samengesteld als geografie'POINT(lon lat)'. |
Edm.ComplexType |
Objecten waarvan de eigenschappen zijn toegewezen aan subvelden die van elk ander ondersteund gegevenstype kunnen zijn. Met dit type kunt u indexeren van gestructureerde hiërarchische gegevens, zoals JSON. Objecten in een veld van het type Edm.ComplexType kunnen geneste objecten bevatten, maar het nestingsniveau is beperkt. De limieten worden beschreven in Servicelimieten. |
Collection(Edm.String) |
Een lijst met tekenreeksen. |
Collection(Edm.Boolean) |
Een lijst met Booleaanse waarden. |
Collection(Edm.Int32) |
Een lijst met 32-bits geheel getalwaarden. |
Collection(Edm.Int64) |
Een lijst met 64-bits geheel getalwaarden. |
Collection(Edm.Double) |
Een lijst met numerieke waarden met dubbele precisie. |
Collection(Edm.DateTimeOffset) |
Een lijst met datum/tijd-waarden. |
Collection(Edm.GeographyPoint) |
Een lijst met punten die geografische locaties vertegenwoordigen. |
Collection(Edm.ComplexType) |
Een lijst van objecten van het type Edm.ComplexType. Er is een limiet voor het maximum aantal elementen in alle verzamelingen van het type Edm.ComplexType in een document. Zie Servicelimieten voor meer informatie. |
Alle bovenstaande typen zijn nullable, met uitzondering van verzamelingen van primitieve en complexe typen, bijvoorbeeld Collection(Edm.String). Null-velden kunnen expliciet worden ingesteld op null. Ze worden automatisch ingesteld op null wanneer ze worden weggelaten uit een document dat wordt geüpload naar een Azure AI Search-index. Verzamelingsvelden worden automatisch ingesteld op leeg ([] in JSON) wanneer ze worden weggelaten uit een document. Het is ook niet mogelijk om een null-waarde op te slaan in een verzamelingsveld.
In tegenstelling tot complexe verzamelingen is er geen bovengrens specifiek voor het aantal items in een verzameling primitieve typen, maar de bovengrens van 16 MB voor de grootte van de lading is van toepassing op alle delen van documenten, inclusief verzamelingen.
Georuimtelijk gegevenstype dat wordt gebruikt in filterexpressies
In Azure AI Search wordt georuimtelijke zoekopdracht uitgedrukt als een filter.
Edm.GeographyPolygon is een veelhoek die een geografische regio op de wereld vertegenwoordigt. Hoewel dit type niet kan worden gebruikt in documentvelden, kan het wel worden gebruikt als argument voor de geo.intersects functie. De letterlijke vorm voor URL's in OData is gebaseerd op de eenvoudige toegangsstandaarden voor functies van WKT (Bekende tekst) en OGC. Een letterlijke polygoon is opgebouwd als geografie'POLYGON((lon lat, lon lat, ...))'.
Belangrijk
Punten in een veelhoek moeten tegen de klok in staan. Punten in een veelhoek worden geïnterpreteerd in contraclockwise volgorde, ten opzichte van de binnenkant van de veelhoek. Een gesloten polygoon van 4 punten rond Londen is bijvoorbeeld -0,3°W 51,6°N [linksboven] , -0,3°W 51,4°N [linksonder], 0.1°E 51.4°N [rechtsonder], 0,1°E 51.6°N [rechtsboven], -0,3°W 51,6°N [beginpunt].