Desteklenen veri türleri (Azure AI Search)

Bu makalede Azure AI Search 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 Search dizin oluşturucular için veri türü eşlemesi .

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

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

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

Veri tipi Vektör türü Açıklama Önerilen kullanım
Collection(Edm.Byte) İkili 1 bit imzasız ikili. Oluşturma veya Güncelleştirme Dizini (2024-07-01)genel kullanıma sunuldu. Cohere'in v3 ikili ekleme modelleri gibi ikili eklemeleri yayan modellerle tümleştirmeyi destekler. 1 bit imzasız ikili çıkış yayan veya özel niceleme mantığı. Collection(Edm.Byte)türündeki alanlar için, ikili veriler için alan tanımı ve vektör arama algoritmalarını belirtme konusunda yardım için bkz. Index ikili veri.
Collection(Edm.Single) Float32 32 bit kayan nokta. Oluşturma veya Güncelleştirme Dizini (2024-07-01)genel kullanıma sunuldu. Bu veri türü, daha yeni önizleme sürümlerinde ve 2023-11-01kararlı sürümde de desteklenir. Sizin adınıza vektör alanları oluşturan Microsoft araçlarında varsayılan veri türü. Duyarlılık ve verimlilik arasında bir denge sağlar. Çoğu ekleme modeli vektörleri Float32olarak yayar.
Collection(Edm.Half) Float16 Daha düşük duyarlık ve aralık ile 16 bit kayan nokta. Oluşturma veya Güncelleştirme Dizini (2024-07-01)genel kullanıma sunuldu. Bellek ve hesaplama verimliliğinin kritik olduğu ve bazı duyarlıklardan ödün verenin kabul edilebilir olduğu senaryolar için kullanışlıdır. Genellikle Float32göre daha hızlı sorgu sürelerine ve daha az bellek ayak izine yol açar, ancak doğruluk biraz azaltılır. dizin Float32 eklemelerine Float16olarak bir Float16 türü atayabilirsiniz. Float16 yerel olarak yayan modelleri veya özel niceleme işlemlerini eklemek için Float16 de kullanabilirsiniz.
Collection(Edm.Int16) Int16 16 bit işaretli tamsayı. Oluşturma veya Güncelleştirme Dizini (2024-07-01)genel kullanıma sunuldu. Float32 ile karşılaştırıldığında daha az bellek ayak izi sağlar ve daha yüksek duyarlıklı niceleme yöntemleri için destek sunarken birçok uygulama için yeterli duyarlığı korur. Bellek verimliliğinin önemli olduğu durumlar için uygundur. vektörleri Int16olarak veren özel nicelemeniz olmasını gerektirir.
Collection(Edm.SByte) Int8 8 bit işaretli tamsayı. Oluşturma veya Güncelleştirme Dizini (2024-07-01)genel kullanıma sunuldu. Float32 veya Float16ile karşılaştırıldığında ö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 Int8olarak veren özel nicelemeniz olmasını gerektirir.

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

Veri tipi Açıklama
Edm.String Metin verileri.
Edm.Boolean True/false değerleri 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 temsil edilen tarih ve saat değerleri: yyyy-MM-ddTHH:mm:ss.fffZ veya yyyy-MM-ddTHH:mm:ss.fff[+|-]HH:mm. DateTimeOffset alanlarının duyarlığı milisaniyeyle sınırlıdır. DateTimeOffset değerleri alt milisaniye duyarlıkla karşıya yüklerseniz, döndürülen değer milisaniyeye yuvarlanarak (örneğin, 2024-04-15T10:30:09.7552052Z2024-04-15T10:30:09.7550000Zolarak döndürülür). Saat dilimi bilgilerini içeren DateTimeOffset değerleri dizininize yüklediğinizde Azure AI Search bu değerleri UTC olarak normalleştirir. Örneğin, 2024-01-13T14:03:00-08:002024-01-13T22:03:00Zolarak depolanır. Saat dilimi bilgilerini depolamanız gerekiyorsa dizininize fazladan bir alan ekleyin.
Edm.GeographyPoint Dünya üzerindeki coğrafi konumu temsil eden bir nokta. İstek ve yanıt gövdeleri için, bu türdeki değerlerin gösterimi GeoJSON "Point" 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 başka 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. Edm.ComplexType türünde 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) Edm.ComplexTypetüründe nesnelerin listesi. Belgedeki Edm.ComplexType türündeki 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ürlerin 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 Search dizinine yüklenen bir belgeden atlandığında otomatik olarak null olarak ayarlanır. Koleksiyon alanları, 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ına ilişkin üst sınır yoktur, ancak yük boyutundaki 16 MB üst sınırı koleksiyonlar dahil olmak üzere belgelerin tüm bölümleri için geçerlidir.

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

Azure AI Search'te 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, geo.intersects işlevi için bağımsız değişken olarak kullanılabilir. OData'daki URL'ler için değişmez değer biçimi, WKT (İyi bilinen metin) ve OGC'ninbasit özellik erişim standartlarını temel alır. Çokgen sabit değeri coğrafya'POLYGON((lon lat, lon lat, ...))' olarak oluşturulur.

Önemli

Çokgen noktaların saat yönünün tersine gerekir. Çokgendeki noktalar, çokgenin içine göre saat yönünün tersine 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.