Azure Yapay Zeka Arama üzerinde vektör araması

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 arama, içeriğin sayısal gösterimleri üzerinde dizin oluşturmayı ve sorgulamayı destekleyen bir bilgi alma yaklaşımıdır. İçerik düz metin yerine sayısal olduğundan eşleştirme, sorgu vektörlerine en çok benzeyen vektörleri temel alır. Bu yaklaşım aşağıdakiler arasında eşleştirmeyi etkinleştirir:

  • Anlamsal veya kavramsal benzerlik. Örneğin, "köpek" ve "kanin" kavramsal olarak birbirine benzer ancak dilsel olarak farklıdır.
  • İngilizcede "köpek" ve Almanca "hund" gibi çok dilli içerik.
  • Düz metindeki "köpek" ve bir köpeğin görüntüsü gibi birden çok içerik türü.

Bu makalede desteklenen senaryolar, kullanılabilirlik ve diğer Azure hizmetleriyle tümleştirme de dahil olmak üzere Azure Yapay Zeka Arama vektör aramalarına genel bir bakış sağlanır.

Ipucu

Hemen başlamak ister misiniz? Şu adımları izleyin:

  1. Dizininiz için eklemeler sağlayın veya dizin oluşturucu işlem hattında eklemeler oluşturun.
  2. Vektör dizini oluşturun.
  3. Vektör sorgularını çalıştırın.

Vektör araması hangi senaryoları destekleyebilir?

Vektör araması aşağıdaki senaryoları destekler:

  • Benzerlik araması. Sırasıyla ekleme modellerini veya OpenAI eklemeleri veya SBERT gibi açık kaynak modelleri kullanarak metinleri kodlar. Ardından, vektör olarak da kodlanmış sorguları kullanarak belgeleri alırsınız.

  • Karma arama. Azure Yapay Zeka Arama karma aramayı vektör aramasının yürütülmesi ve aynı istekte keyword search olarak tanımlar. Vektör desteği alan düzeyinde uygulanır. Dizin vektör ve nonvector alanları içeriyorsa, her ikisini de hedefleyen bir sorgu yazabilirsiniz. Sorgular paralel olarak yürütülür ve sonuçlar tek bir yanıtta birleştirilir ve buna göre sıralanır.

  • Çok modüllü arama. OpenAI CLIP veya GPT-4 Turbo ile Görüntü İşleme Azure OpenAI gibi çok modüllü eklemeleri kullanarak metin ve görüntüleri kodlayın ve sonra her iki içerik türünden vektörlerden oluşan bir ekleme alanını sorgulayın.

  • Çok dilli arama. Azure Yapay Zeka Arama genişletilebilirlik için tasarlanmıştır. Birden çok dilde eğitilen modelleri ve sohbet modellerini eklediyseniz, bunları dizin oluşturma tarafındaki özel veya yerleşik beceriler veya sorgu tarafındaki vektörleştiriciler aracılığıyla çağırabilirsiniz. Metin çevirisi üzerinde daha fazla denetim sağlamak için, karma arama senaryolarında Azure Yapay Zeka Arama tarafından desteklenen çok dilli özellikleri ve vektör dışı içerik arama özelliklerini kullanın.

  • Filtrelenmiş vektör araması. Sorgu isteği vektör sorgusu ve filtre ifadesi içerebilir. Filtreler metin ve sayısal alanlara uygulanır. Bunlar, meta veri filtreleri ve filtre ölçütlerine göre arama sonuçlarını dahil etme veya dışlama için yararlıdır. Vektör alanı filtrelenebilir olmasa da, filtrelenebilir bir metin veya sayısal alan ayarlayabilirsiniz. Arama altyapısı, vektör sorgusunu yürütmeden önce veya sonra filtreyi işleyebilir.

  • Vektör veritabanı. Azure Yapay Zeka Arama sorguladığınız verileri depolar. Uzun süreli belleğe veya bilgi bankasına, alma artırılmış nesil (RAG) mimarisi için topraklama verilerine veya vektör kullanan bir uygulamaya ihtiyacınız olduğunda bunu saf vektör dizini olarak kullanın.

Vektör araması nasıl çalışır?

Azure Yapay Zeka Arama arama dizininden dizin oluşturmayı, depolamayı ve sorgulama vektör eklemelerini destekler. Aşağıdaki diyagramda vektör araması için dizin oluşturma ve sorgu iş akışları gösterilmektedir.

Vektör arama iş akışının mimarisi.

Dizin oluşturma tarafında, Azure Yapay Zeka Arama benzer vektörleri bir dizinde birbirine yakın hale getirmek için nearest komşular algoritması kullanır. Dahili olarak, her vektör alanı için vektör dizinleri oluşturur.

Kaynak içeriğinizden embeddings'i Azure Yapay Zeka Arama'e nasıl entegre ettiğiniz, veri işleme yaklaşımınıza bağlıdır.

  • İç işleme için Azure Yapay Zeka Arama, dizin oluşturucu işlem hattında entegre veri öbekleme ve vektörleştirme sunar. Azure OpenAI için uç noktalar ve bağlantı bilgileri gibi gerekli kaynakları sağlarsınız. Azure Yapay Zeka Arama sonra çağrıları yapar ve geçişleri işler. Bu yaklaşım için bir dizin oluşturucu, desteklenen bir veri kaynağı ve öbekleme ve eklemeyi yönlendiren bir beceri kümesi gerekir.

  • Dış işleme için, Azure Yapay Zeka Arama dışında gömülemeleri oluşturmak ve önvektörleştirilmiş içeriği doğrudan arama dizininizdeki vektör alanlarına gönderebilirsiniz.

Sorgu tarafında, istemci uygulamanız genellikle bir istem aracılığıyla kullanıcı girişi toplar. Girişi vektörleştirmek için bir kodlama adımı ekleyebilir ve ardından benzerlik araması için vektör sorgusunu Azure Yapay Zeka Arama dizininize gönderebilirsiniz. Dizin oluşturmada olduğu gibi, sorguyu kodlamak için tümleşik vektörleştirmeyi kullanabilirsiniz. her iki yaklaşımda da Azure Yapay Zeka Arama, sonuçlarda istenen k en yakın komşulara (kNN) sahip belgeleri döndürür.

Azure Yapay Zeka Arama hybrid senaryolarını destekler vektör ve anahtar sözcük aramasını paralel olarak çalıştırır ve genellikle tek başına vektör veya anahtar sözcük aramasından daha iyi sonuçlar sağlayan birleşik bir sonuç kümesi döndürür. Karma arama için hem vektör hem de nonvector içeriği aynı anda çalışan sorgular için aynı dizine alınır.

Kullanılabilirlik ve fiyatlandırma

Vektör araması tüm bölgelerde ve tüm katmanlarda ek ücret ödemeden kullanılabilir. Ancak eklemeler oluşturmak veya vektörleştirme için yapay zeka zenginleştirmesi kullanmak model sağlayıcısından ücretlendirilebilir.

Vektör aramasına portal ve program aracılığıyla erişim için şunları kullanabilirsiniz:

Not

  • 1 Ocak 2019'da oluşturulan bazı arama hizmetleri vektör iş yüklerini desteklemez. Şemaya vektör alanı eklemeye çalışır ve hata alırsanız, bu eski hizmetlerin bir sonucu olur. Bu durumda vektör özelliğini denemek için yeni bir arama hizmeti oluşturmanız gerekir.

  • 3 Nisan 2024'e kadar oluşturulan arama hizmetleri vektör dizinleri için daha yüksek kotalar sunar. Daha eski bir hizmetiniz varsa, hizmetinizi daha yüksek vektör kotaları için yükseltebilirsiniz .

Azure Yapay Zeka Arama, Azure yapay zeka platformuna derinlemesine entegre edilmiştir. Aşağıdaki tabloda vektör iş yüklerinde yararlı olan ürünler listelenmektedir.

Ürün Entegrasyon
Azure OpenAI Azure OpenAI, ekleme modelleri ve sohbet modelleri sağlar. Tanıtımlar ve örnekler text-embedding-ada-002 modelini hedefler. Metin için eklemeler oluşturmak için OpenAI Azure öneririz.
Döküm Araçları Görüntü Alma Vektörleştirme Görüntü API'si , görüntü içeriğinin vektörleştirilmesini destekler. Görüntüler için eklemeler oluşturmak için bu API'yi öneririz.
Döküm Aracısı Servisi Azure Yapay Zeka Arama'da, vektör alanları ve vektörleştirici içeren bir arama dizinine işaret eden bir indekslenmiş bilgi kaynağı oluşturabilirsiniz. Daha sonra bilgi kaynağını bir bilgi bankasına bağlayabilir ve bilgi bankasını Foundry Aracı Hizmeti'ne bağlayarak aracılarınıza gelişmiş bilgi alımı için vektör arama sonuçları sağlayabilirsiniz.
Azure veri platformları: Azure Blob Depolama, Azure Cosmos DB, Azure SQL Microsoft OneLake Veri alımını otomatikleştirmek için dizin oluşturucuları kullanabilir ve ardından tümleşik vektörleştirmeyi kullanarak eklemeler oluşturabilirsiniz. Azure Yapay Zeka Arama, Azure blob indexleyiciler, Azure Cosmos DB için NoSQL dizin oluşturucular, Azure Data Lake Storage 2. Nesil, Azure Tablo Depolaması ve Microsoft OneLake üzerinden otomatik olarak vektör verilerini dizinleyebilir. Daha fazla bilgi için bkz. Arama dizinine vektör alanları ekleme.

Azure Yapay Zeka Arama, LangChain gibi açık kaynak çerçevelerde de yaygın olarak kullanılır.