Not
Bu sayfaya erişim yetkilendirme gerektiriyor. Oturum açmayı veya dizinleri değiştirmeyi deneyebilirsiniz.
Bu sayfaya erişim yetkilendirme gerektiriyor. Dizinleri değiştirmeyi deneyebilirsiniz.
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.
Azure Yapay Zeka Arama, vektör verilerinin depolama ve bellek ayak izini daha da azaltmak için Collection(Edm.Byte) paketlenmiş ikili türünü destekler. Bu veri türünü , Cohere'in Embed v3 ikili ekleme modelleri veya vektörleri ikili bayt olarak veren başka bir ekleme modeli veya işlemi gibi modellerin çıkışı için kullanabilirsiniz.
İkili vektörler için dizin yapılandırmanın üç adımı vardır:
- İkili vektör karşılaştırması için Hamming uzaklığı belirten bir vektör arama algoritması ekleme
- Algoritmaya işaret eden bir vektör profili ekleme
- Türünde
Collection(Edm.Byte)bir vektör alanı ekleyin ve Hamming uzaklığı atayın
Bu makalede çizim için REST API'leri kullanılır, ancak dizine ikili alan eklemek için bir Azure SDK veya Azure portalı da kullanabilirsiniz. Dizinler - Oluştur veya Dizinler - REST API'leri Oluşturveya Güncelleştir'i kullanarak alanlara ikili veri türünü atarsınız.
Ipucu
Daha küçük ayak izi için ikili vektör desteğini araştırıyorsanız, Azure Yapay Zeka Arama vektör niceleme ve depolama azaltma özelliklerini de göz önünde bulundurabilirsiniz. Girişler float32 veya float16 eklemeleridir. Çıktı, verilerin çok daha küçük bir biçimde depolandığı formattır. Daha fazla bilgi için bkz. İkili veya skaler niceleme kullanarak sıkıştırma ve Dar veri türleri atama.
Önkoşullar
Dizin oluşturma ve vektör alanları ekleme hakkında bilgi.
Boyut başına bir bit olan ikili vektörler, değer başına sekiz bit ile uint8 değerlerinde paketlenmiş. Bu vektörleri, doğrudan paketlenmiş ikili vektörler oluşturan modelleri kullanarak veya dizin oluşturma ve alma sırasında istemci uygulamanızda vektörleri ikili vektörler halinde ölçerek alabilirsiniz.
Sınırlama
Veri İçe Aktar sihirbazında Azure portalı için destek yoktur.
AML yeteneği Microsoft Foundry model kataloğundaki modellerin entegre vektörleştirilmesi için kullanılan binär alanlar için destek yoktur.
Vektör arama algoritması ve vektör profili ekleme
Vektör arama algoritmaları, dizin oluşturma sırasında sorgu gezinti yapılarını oluşturur. İkili vektör alanları için sistem, vektör karşılaştırmaları gerçekleştirmek için Hamming uzaklığı ölçümünü kullanır.
İkili vektörler için vektör araması yapılandırmak için:
Dizinler - Oluşturma veya Güncelleştirme (REST API) isteği ayarlayın.
Dizin şemasında, profilleri ve algoritmaları belirten bir
vectorSearchbölüm ekleyin.benzerlik ölçümünü kullanan bir veya daha fazla
hammingekleyin. Hiyerarşik Gezinilebilir Küçük Dünyalar (HNSW) algoritması yaygındır, ancak en kapsamlı K-En Yakın Komşular (KNN) ile Hamming mesafesini de kullanabilirsiniz.Algoritmayı belirten bir veya daha fazla vektör profili ekleyin.
Aşağıdaki örnekte temel vectorSearch bir yapılandırma gösterilmektedir.
"vectorSearch": {
"profiles": [
{
"name": "myHnswProfile",
"algorithm": "myHnsw",
"compression": null,
"vectorizer": null
}
],
"algorithms": [
{
"name": "myHnsw",
"kind": "hnsw",
"hnswParameters": {
"metric": "hamming"
}
},
{
"name": "myExhaustiveKnn",
"kind": "exhaustiveKnn",
"exhaustiveKnnParameters": {
"metric": "hamming"
}
}
]
}
Dizine ikili alan ekleme
Bir dizinin alan koleksiyonu belge anahtarı için bir alan, vektör alanları ve karma arama senaryoları için ihtiyacınız olan diğer alanları içermelidir.
İkili veri alanları Collection(Edm.Byte) türünü kullanır ve paketlenmiş biçimde gömülü veriler içerir. Örneğin, özgün ekleme boyutu ise 1024, paketlenmiş ikili vektör uzunluğu olur ceiling(1024 / 8) = 128.
vectorEncoding özelliğini alanda ayarlayarak paketlenmiş formu elde edersiniz.
Dizine ikili vektör alanı eklemek için:
Alanlar koleksiyonuna bir alan ekleyin ve bir ad verin.
Veri türünü olarak
Collection(Edm.Byte)ayarlayın.vectorEncoding, ikili kodlama içinpackedBitolarak ayarlayın.dimensions1024olarak ayarla. Özgün (paketlenmemiş) vektör boyutunu belirtin.Önceki adımda tanımladığınız bir profil olarak ayarlayın
vectorSearchProfile.searchabletrueolarak ayarla.
Aşağıdaki alan tanımı, dizin şemasındaki ikili vektör alanı örneğidir.
"fields": [
. . .
{
"name": "my-binary-vector-field",
"type": "Collection(Edm.Byte)",
"vectorEncoding": "packedBit",
"dimensions": 1024,
"vectorSearchProfile": "myHnswProfile",
"searchable": true
},
. . .
]
İlgili içerik
Şema tanımı, vektörleştirme, dizin oluşturma ve sorgular içeren uçtan uca iş akışları için azure-search-vector-samples deposunu gözden geçirin.
C#, Python ve JavaScript için vektör arama tanıtım kodunu gözden geçirin.