Azure Yapay Zeka Arama'te vektör alanlarına dar veri türleri atama

Not

Azure Yapay Zeka Arama Azure portalı, REST API'leri ve Azure SDK’ları aracılığıyla kullanılabilir. Ayrıca kuruluş içeriğini Microsoft Foundry portalındaki aracılar için yeniden kullanılabilir, izin kullanan bilgi bankalarına dönüştüren yönetilen bilgi katmanı Foundry IQ'yu temel alır.

Vektör boyutunu küçültmenin kolay bir yolu, eklemeleri daha küçük bir veri biçiminde depolamaktır. Çoğu ekleme modeli 32 bit kayan nokta sayıları üretir. Bununla birlikte, vektörlerinizi nicelerseniz veya yerel olarak nicelemesi destekleyen bir ekleme modeli kullanırsanız, çıkış float16, int16 veya int8 olabilir ve bunlar float32'den önemli ölçüde daha küçüktür. Bir vektör alanına dar bir veri türü atayarak bu daha küçük vektör boyutlarını barındırabilirsiniz. Vektör dizininde dar veri türleri daha az depolama alanı tüketir.

Veri türlerini dizin tanımındaki alanlara atarsınız. Azure portalını, Arama Hizmeti REST API'lerini veya özelliği sağlayan bir Azure SDK paketini kullanın.

Önkoşullar

  • Text-embedding-3 veya Cohere V3 ekleme modelleri gibi küçük veri biçimlerinin çıkışını veren bir ekleme modeli.

Desteklenen dar veri türleri

  1. Önerilen kullanım için vektör alanları için kullanılan veri türlerini gözden geçirin:

    • Collection(Edm.Single): 32 bit kayan nokta (varsayılan)
    • Collection(Edm.Half): 16 bit kayan nokta (dar)
    • Collection(Edm.Int16): 16 bit işaretli tamsayı (dar)
    • Collection(Edm.SByte): 8 bit işaretli tamsayı (dar)
    • Collection(Edm.Byte): 8 bit işaretsiz tamsayı (yalnızca paketlenmiş ikili veri türleriyle izin verilir)
  2. Bu listeden, ekleme modelinizin çıkışı veya özel nicelemeden geçen vektörler için hangi veri türünün geçerli olduğunu belirleyin.

    Aşağıdaki tabloda, ek niceleme olmadan dar bir veri türü Collection(Edm.Half)kullanabilen çeşitli ekleme modellerine bağlantılar sağlanmaktadır. Fazladan çalışma olmadan kullanarak Collection(Edm.Half) float32'den float16'ya dönüştürebilirsiniz.

    Ekleme modeli Doğal çıktı Azure Yapay Zeka Arama'te bu türü atayın
    text-embedding-ada-002 Float32 Collection(Edm.Single) veya Collection(Edm.Half)
    text-embedding-3-small Float32 Collection(Edm.Single) veya Collection(Edm.Half)
    metin ekleme-3-büyük Float32 Collection(Edm.Single) veya Collection(Edm.Half)
    int8 embedding_type ile V3 ekleme modellerini uyumlu yapma Int8 Collection(Edm.SByte)

    Modeliniz daha küçük veri biçiminde eklemeler yayıyorsa veya vektörleri daha küçük bir biçime dönüştüren özel nicelemeniz varsa, diğer dar veri türlerini kullanabilirsiniz.

  3. Dar bir veri türünün dezavantajlarını anlayın. Collection(Edm.Half) daha az bilgiye sahip olduğundan daha düşük çözünürlük elde edebilirsiniz. Verileriniz homojen veya yoğunsa, ek ayrıntı veya nüans kaybı sorgu zamanında kabul edilemez sonuçlara yol açabilir çünkü yakındaki vektörleri ayırt etmek için kullanılabilecek daha az ayrıntı vardır.

Veri türünü atama

Dizin tanımlama ve oluşturma. Bu adım için Azure portalı, Dizinler - Oluşturma veya Güncelleştirme (REST API) veya bir Azure SDK paketi kullanabilirsiniz.

Bu alan tanımı, Collection(Edm.Half)float16 değeri olarak depolanan float32 ekleme işlemini kabul eden dar bir veri türü kullanır. Tüm vektör alanlarında olduğu gibi, dimensions ve vectorSearchProfile özelliklerini ayarlayın. öğesinin vectorSearchProfile özellikleri, veri türüne göre önemsizdir.

Alanın değerlerini görsel olarak denetlemek istiyorsanız, retrievable ve stored değerlerini true olarak ayarlayın. Sonraki bir yeniden derlemede, azaltılmış depolama gereksinimleri için bu özellikleri false olarak değiştirebilirsiniz.

{
    "name": "nameEmbedding",
    "type": "Collection(Edm.Half)",
    "searchable": true,
    "filterable": false,
    "retrievable": true,
    "sortable": false,
    "facetable": false,
    "key": false,
    "indexAnalyzer": null,
    "searchAnalyzer": null,
    "analyzer": null,
    "synonymMaps": [],
    "dimensions": 1536,
    "vectorSearchProfile": "myHnswProfile"
}

Vektör alanlarının filtrelenebilir, sıralanabilir veya modellenebilir olmadığını unutmayın. Anahtar olarak kullanılamazlar ve çözümleyicileri veya eş anlamlı haritaları kullanamazlar.

Üretim dizini ile çalışma

Yeni alanlar oluşturulduğunda veri türleri atarsınız. Varolan bir alanın veri türünü değiştiremezsiniz ve dizini yeniden oluşturmadan bir alanı bırakamazsınız. Zaten üretimde olan yerleşik dizinler için yaygın bir geçici çözüm, istenen düzeltmelerle yeni alanlar oluşturmak ve ardından planlanan dizin yeniden derlemesi sırasında eski alanları kaldırmaktır.

Sonuçları kontrol et

  1. Alan içeriğinin veri türüyle eşleştiğinden emin olun. Vektör alanının olarak retrievableişaretlendiğinden, vektör alanı içeriğini döndürmek için Arama gezginini veya Arama - POST (REST API) kullanın.

  2. Vektör dizini boyutunu denetlemek için >Arama yönetimi Dizinleri sayfasındaki vektör dizini boyutu sütununa bakın. Dizinler - İstatistik Al (REST API) veya eşdeğer bir Azure SDK yöntemi de kullanabilirsiniz.

Not

Alanın veri türü fiziksel veri yapısını oluşturur. Bir veri türünü daha sonra değiştirmek için dizini bırakın ve yeniden oluşturun veya yeni tanım ile ikinci bir alan oluşturun.