Desteklenen veri türleri (Azure AI Arama)

Bu makalede Azure AI Arama tarafından desteklenen veri türleri açıklanmaktadır. Filtre ifadelerinde kullanılan alanlar ve değerler Varlık Veri Modeli'ne (EDM) göre yazılır. EDM veri türü belirtmek, alan tanımı için bir gereksinimdir.

Not

Dizin oluşturucular kullanıyorsanız dizin oluşturucuların kaynağa özgü veri türlerini arama dizinindeki EDM veri türleriyle nasıl eşlediğini öğrenmek için bkz. Azure AI Arama dizin oluşturucular için veri türü eşlemesi.

Vektör alanları için EDM veri türleri

Ekleme modelinizin çıkışı için vektör alanı türü geçerli olmalıdır. Örneğin, text-embedding-ada-002 kullanıyorsanız çıkış biçimi veya Collection(Edm.Single)olurFloat32. Bu senaryoda, öğesinden temel öğelere int atama yasaklandığından float veri Int8 türü atayamazsınız. Ancak, 'den Float32 veya (Collection(Edm.Half))'ye Float16 yayınlayabilirsiniz.

Vektör alanları bir ekleme dizisidir. EDM'de dizi bir koleksiyondur.

Veri türü Vektör türü Description Önerilen kullanım
Collection(Edm.Single) Float32 32 bit kayan nokta. Dizin Oluşturma veya Güncelleştirme (2023-07-01-Preview) sürümünden itibaren kullanılabilir. Bu veri türü, daha yeni önizleme sürümlerinde ve kararlı sürümünde 2023-11-01de desteklenir. Sizin adınıza vektör alanları oluşturan Microsoft araçlarında varsayılan veri türü. Duyarlık ve verimlilik arasında bir denge oluşturur. Çoğu ekleme modeli vektörleri olarak Float32yayar.
Collection(Edm.Half) Float16 Daha düşük duyarlık ve aralık ile 16 bit kayan nokta. Dizin Oluşturma veya Güncelleştirme (2024-03-01-önizleme) sürümünden itibaren kullanılabilir. Bellek ve hesaplama verimliliğinin kritik olduğu ve duyarlıktan ödün verildiğinde kabul edilebilir olduğu senaryolar için kullanışlıdır. Genellikle ile karşılaştırıldığında daha hızlı sorgu sürelerine ve bellek ayak izinin azalmasına Float32yol açar, ancak doğruluk biraz azalır. Dizin Float32 eklemelerine olarak Float16bir Float16 tür atayabilirsiniz. Ayrıca, yerel olarak yayılan Float16 modelleri veya özel niceleme işlemlerini eklemek için de kullanabilirsinizFloat16.
Collection(Edm.Int16) Int16 16 bit işaretli tamsayı. Dizin Oluşturma veya Güncelleştirme (2024-03-01-önizleme) sürümünden itibaren kullanılabilir. Birçok uygulama için yeterli duyarlığı korurken daha yüksek duyarlıklı niceleme yöntemlerine kıyasla Float32 daha az bellek ayak izi ve desteği sunar. Bellek verimliliğinin önemli olduğu durumlar için uygundur. Vektörleri olarak Int16veren özel nicelemeniz olmasını gerektirir.
Collection(Edm.SByte) Int8 8 bit işaretli tamsayı. Dizin Oluşturma veya Güncelleştirme (2024-03-01-önizleme) sürümünden itibaren kullanılabilir. veya Float16ile karşılaştırıldığında Float32 önemli bellek ve hesaplama verimliliği kazançları sağlar. Ancak, duyarlıktaki azalmayı dengelemek ve uygun şekilde geri çağırmak için büyük olasılıkla ek teknikler (niceleme ve fazla örnekleme gibi) gerektirir. Vektörleri olarak Int8veren özel nicelemeniz olmasını gerektirir.

Seçici olmayan alanlar için EDM veri türleri

Veri türü Açıklama
Edm.String Metin verileri.
Edm.Boolean True/false değerlerini içerir.
Edm.Int32 32 bit tamsayı değerleri.
Edm.Int64 64 bit tamsayı değerleri.
Edm.Double Çift duyarlıklı IEEE 754 kayan nokta değerleri.
Edm.DateTimeOffset OData V4 biçiminde gösterilen tarih ve saat değerleri: yyyy-MM-ddTHH:mm:ss.fffZ veya yyyy-MM-ddTHH:mm:ss.fff[+|-]HH:mm. Alanların duyarlığı DateTimeOffset milisaniyelerle sınırlıdır. Değerleri alt milisaniye duyarlılığıyla karşıya yüklerseniz DateTimeOffset , döndürülen değer milisaniyeye yuvarlanarak (örneğin, 2024-04-15T10:30:09.7552052Z olarak 2024-04-15T10:30:09.7550000Zdöndürülür). Saat dilimi bilgilerini içeren değerleri dizininize yüklediğinizde DateTimeOffset Azure AI Arama bu değerleri UTC olarak normalleştirir. Örneğin, 2024-01-13T14:03:00-08:00 olarak 2024-01-13T22:03:00Zdepolanır. Saat dilimi bilgilerini depolamanız gerekiyorsa dizininize fazladan bir alan ekleyin.
Edm.GeographyPoint Dünya üzerindeki bir coğrafi konumu temsil eden bir nokta. İstek ve yanıt gövdeleri için, bu türdeki değerlerin gösterimi GeoJSON "Nokta" tür biçimini izler. URL'ler için OData, WKT standardını temel alan değişmez bir form kullanır. Nokta değişmez değeri geography'POINT(lon lat)' olarak oluşturulur.
Edm.ComplexType Özellikleri desteklenen diğer herhangi bir veri türünde olabilecek alt alanlarla eşlenen nesneler. Bu tür, JSON gibi yapılandırılmış hiyerarşik verilerin dizine alınmasını sağlar. Türündeki Edm.ComplexType bir alandaki nesneler iç içe nesneler içerebilir, ancak iç içe yerleştirme düzeyi sınırlıdır. Sınırlar Hizmet sınırları bölümünde açıklanmıştır.
Collection(Edm.String) Dizelerin listesi.
Collection(Edm.Boolean) Boole değerlerinin listesi.
Collection(Edm.Int32) 32 bit tamsayı değerlerinin listesi.
Collection(Edm.Int64) 64 bit tamsayı değerlerinin listesi.
Collection(Edm.Double) Çift duyarlıklı sayısal değerlerin listesi.
Collection(Edm.DateTimeOffset) Tarih saat değerlerinin listesi.
Collection(Edm.GeographyPoint) Coğrafi konumları temsil eden noktaların listesi.
Collection(Edm.ComplexType) türünde Edm.ComplexTypenesnelerin listesi. Belgedeki türdeki Edm.ComplexType tüm koleksiyonlarda en fazla öğe sayısı sınırı vardır. Ayrıntılar için bkz . Hizmet sınırları .

İlkel ve karmaşık tür koleksiyonları dışında yukarıdaki türlerin tümü null atanabilir; örneğin, Collection(Edm.String). Boş değer atanabilir alanlar açıkça null olarak ayarlanabilir. Azure AI Arama dizinine yüklenen bir belgeden atlandığında otomatik olarak null olarak ayarlanır. Koleksiyon alanları bir belgeden atlandığında otomatik olarak boş ([] JSON'da) olarak ayarlanır. Ayrıca, bir koleksiyon alanında null değer depolamak mümkün değildir.

Karmaşık koleksiyonlardan farklı olarak, özellikle ilkel türlerden oluşan bir koleksiyondaki öğe sayısı için üst sınır yoktur, ancak yük boyutundaki 16 MB'lık üst sınır , koleksiyonlar da dahil olmak üzere belgelerin tüm bölümleri için geçerlidir.

Filtre ifadelerinde kullanılan jeo-uzamsal veri türü

Azure yapay zeka Arama jeo-uzamsal arama bir filtre olarak ifade edilir.

Edm.GeographyPolygon , dünya üzerindeki bir coğrafi bölgeyi temsil eden çokgendir. Bu tür belge alanlarında kullanılamasa da işlev için geo.intersects bağımsız değişken olarak kullanılabilir. OData'daki URL'lerin değişmez biçimi , WKT (İyi bilinen metin) ve OGC'nin basit özellik erişim standartlarını temel alır. Çokgen değişmez değeri geography'POLYGON((lon lat, lon lat, ...))' olarak oluşturulur.

Önemli

Çokgendeki noktalar saat yönünün tersine sıralanmalıdır . Çokgendeki noktalar, çokgenin içine göre saat yönünün tersine doğru yorumlanır. Örneğin, Londra çevresindeki 4 noktalı kapalı poligon -0,3°W 51,6°N [sol üst] , -0,3°W 51,4°N [sol alt], 0,1°E 51,4°N [sağ alt], 0,1°E 51,6°N [sağ üst], -0,3°W 51,6°N [başlangıç noktası].

Ayrıca bkz.