Azure AI Search'te tümleşik veri öbekleme ve ekleme

Önemli

Bu özellik, Ek Kullanım Koşulları altında genel önizleme aşamasındadır. 2023-10-01-Preview REST API'si bu özelliği destekler.

Tümleşik vektörleştirme , dizin oluşturucu tabanlı dizin oluşturma becerilerine veri öbekleme ve metinden vektöre ekleme ekler. Ayrıca sorgulara metinden vektöre dönüştürmeler ekler.

Bu özellik yalnızca önizleme amaçlıdır. Vektör aramasının genel kullanıma sunulan sürümünde ve önceki önizleme sürümlerinde veri öbekleme ve vektörleştirme, öbekleme ve vektörler için dış bileşenlere dayanır ve uygulama kodunuz her adımı işlemeli ve koordine etmelidir. Bu önizlemede, öbekleme ve vektörleştirme, beceriler ve dizin oluşturucular aracılığıyla dizin oluşturmada yerleşik olarak yer alır. Metin Bölme becerisini kullanarak verileri öbekleyen bir beceri kümesi ayarlayabilir ve ardından AzureOpenAIEmbedding becerisini veya özel bir beceriyi kullanarak ekleme modelini çağırabilirsiniz. Dizin oluşturma sırasında kullanılan tüm vektörleştiriciler, metni vektörlere dönüştürmek için sorgularda da çağrılabilir.

Dizin oluşturma için tümleşik vektörleştirme şunları gerektirir:

Sorgular için:

Vektör dönüştürmeleri tek yönlü olarak yapılır: metinden vektöre. Sorgular veya sonuçlar için vektörden metne dönüştürme yoktur (örneğin, vektör sonucunu insan tarafından okunabilir bir dizeye dönüştüremezsiniz).

Bileşen diyagramı

Aşağıdaki diyagramda tümleşik vektörleştirme bileşenleri gösterilmektedir.

Tümleşik vektörleştirme iş akışındaki bileşenlerin diyagramı.

Tümleşik vektörleştirmeden sorumlu bileşenlerin denetim listesi aşağıdadır:

  • Dizin oluşturucu tabanlı dizin oluşturma için desteklenen bir veri kaynağı.
  • Vektör alanlarını belirten bir dizin ve vektör alanlarına atanmış bir vektörleştirici tanımı.
  • Veri öbekleme için Metin Bölme becerisini ve vektörleştirme becerisini (AzureOpenAiEmbedding becerisi veya dış ekleme modeline işaret eden özel bir beceri) sağlayan beceri kümesi.
  • İsteğe bağlı olarak, öbeklenmiş verileri ikincil dizine göndermek için dizin projeksiyonları (beceri kümesinde de tanımlanır)
  • Azure OpenAI'de dağıtılan veya HTTP uç noktası üzerinden kullanılabilen bir ekleme modeli.
  • süreci uçtan uca yönlendirmek için bir dizin oluşturucu. Dizin oluşturucu ayrıca değişiklik algılama için bir zamanlama, alan eşlemeleri ve özellikler belirtir.

Bu denetim listesi tümleşik vektörleştirmeye odaklanır, ancak çözümünüz bu listeyle sınırlı değildir. Yapay zeka zenginleştirmesi için daha fazla beceri ekleyebilir, bilgi deposu oluşturabilir, anlam derecelendirmesi ekleyebilir, ilgi ayarlaması ve diğer sorgu özelliklerini ekleyebilirsiniz.

Kullanılabilirlik ve fiyatlandırma

Tümleşik vektörleştirme kullanılabilirliği, ekleme modelini temel alır. Azure OpenAI kullanıyorsanız bölgesel kullanılabilirliği denetleyin.

Özel beceri ve Azure barındırma mekanizması (Azure işlev uygulaması, Azure Web App ve Azure Kubernetes gibi) kullanıyorsanız, özellik kullanılabilirliği için bölgeye göre ürün sayfasına bakın.

Veri öbekleme (Metin Bölme becerisi) ücretsizdir ve tüm bölgelerdeki tüm Azure AI hizmetlerinde kullanılabilir.

Not

1 Ocak 2019'dan önce oluşturulan bazı eski arama hizmetleri vektör iş yüklerini desteklemeyen altyapıya dağıtılır. Ş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.

Vektörleştirme hangi senaryoları destekleyebilir?

  • Büyük belgeleri öbekler halinde alt bölümlere ayırın; vektör ve vektör olmayan senaryolar için kullanışlıdır. Vektörler için öbekler, ekleme modellerinin giriş kısıtlamalarını karşılamanıza yardımcı olur. Vektör olmayan senaryolarda, GPT'nin dizine alınan öbeklerden yanıtları bir araya getirdiği sohbet stilinde bir arama uygulamanız olabilir. Sohbet stili arama için vektörleştirilmiş veya vektörleştirilmemiş öbekler kullanabilirsiniz.

  • Tüm alanların vektör alanları olduğu ve belge kimliğinin (arama dizini için gerekli) tek dize alanı olduğu bir vektör deposu oluşturun. Belge kimliklerini almak için vektör deposunu sorgulayın ve belgenin vektör alanlarını başka bir modele gönderin.

  • Karma arama için vektör ve metin alanlarını anlamsal derecelendirmeyle veya sıralama olmadan birleştirin. Tümleşik vektörleştirme, vektör araması tarafından desteklenen tüm senaryoları basitleştirir.

Tümleşik vektörleştirme ne zaman kullanılır?

Azure AI Studio'nun yerleşik vektörleştirme desteğini kullanmanızı öneririz. Bu yaklaşım gereksinimlerinizi karşılamıyorsa, Azure AI Search'ün programlı arabirimlerini kullanarak tümleşik vektörleştirmeyi çağıran dizin oluşturucular ve beceri kümeleri oluşturabilirsiniz.

Tümleşik vektörleştirmeyi kullanma

Yalnızca sorgu vektörleştirmesi için:

  1. Dizine vektörleştirici ekleyin. Dizinde vektör oluşturmak için kullanılan ekleme modeliyle aynı olmalıdır.
  2. Vektörleştiriciyi bir vektör profiline atayın ve ardından vektör alanına bir vektör profili atayın.
  3. Vektörleştirecek metin dizesini belirten bir vektör sorgusu formüle edin.

Daha yaygın bir senaryo: Dizin oluşturma sırasında veri öbekleme ve vektörleştirme:

  1. Dizin oluşturucu tabanlı dizin oluşturma için desteklenen bir veri kaynağına veri kaynağı bağlantısı oluşturun.
  2. Öbekleme ve AzureOpenAIEmbeddingModel için Metin Bölme becerisini veya öbekleri vektörleştirmek için özel bir beceri çağıran bir beceri kümesi oluşturun.
  3. Sorgu süresi için vektörleştirici belirten bir dizin oluşturun ve bunu vektör alanlarına atayın.
  4. Veri alımından beceri kümesi yürütmeye kadar dizin oluşturma aracılığıyla her şeyi yönlendirmek için bir dizin oluşturucu oluşturun.

İsteğe bağlı olarak, öbeklenmiş içeriğin bir dizinde olduğu ve başka bir dizinde öbeklenmemiş olduğu gelişmiş senaryolar için ikincil dizinler oluşturun. Öbekli dizinler (veya ikincil dizinler) RAG uygulamaları için kullanışlıdır.

İpucu

Herhangi bir kod yazmadan önce tümleşik vektörleştirmeyi keşfetmek için Azure portalında yeni Verileri içeri aktarma ve vektörleştirme sihirbazını deneyin.

Öte yandan bir Jupyter not defterini, her adımın nasıl çalıştığını görmek için aynı iş akışını, hücre hücre çalışacak şekilde yapılandırın.

Sınırlamalar

Modelleri eklemeye yönelik Azure OpenAI kotalarını ve sınırlarını bildiğinizden emin olun. Azure AI Search'de yeniden deneme ilkeleri vardır, ancak kota tükenirse yeniden denemeler başarısız olur.

Azure OpenAI dakika başına belirteç sınırları model başına, abonelik başınadır. Hem sorgu hem de dizin oluşturma iş yükleri için bir ekleme modeli kullanıyorsanız bunu aklınızda bulundurun. Mümkünse en iyi yöntemleri izleyin. Her iş yükü için bir ekleme modeline sahip olun ve bunları farklı aboneliklerde dağıtmayı deneyin.

Azure AI Search'te katmana ve iş yüklerine göre hizmet sınırları olduğunu unutmayın.

Son olarak, şu anda aşağıdaki özellikler desteklenmiyor:

Tümleşik vektörleştirmenin avantajları

Tümleşik vektörleştirmenin temel avantajlarından bazıları şunlardır:

  • Ayrı veri öbekleme ve vektörleştirme işlem hattı yok. Kodu yazmak ve korumak daha kolaydır.

  • Dizin oluşturmayı uçtan uca otomatikleştirme. Kaynaktaki veriler değiştiğinde (Azure Depolama, Azure SQL veya Cosmos DB gibi), dizin oluşturucu bu güncelleştirmeleri alma işleminden belge kırılmasına, isteğe bağlı yapay zeka zenginleştirmesi, veri öbekleme, vektörleştirme ve dizin oluşturma aracılığıyla işlem hattının tamamında taşıyabilir.

  • Öbeklenmiş içeriği ikincil dizinlere yansıtma. İkincil dizinler, herhangi bir arama dizininde (alanlar ve diğer yapılara sahip bir şema) oluşturulduğu gibi oluşturulur, ancak bunlar bir dizin oluşturucu tarafından birincil dizinle birlikte doldurulur. Her kaynak belgedeki içerik, aynı dizin oluşturma çalıştırması sırasında birincil ve ikincil dizinlerdeki alanlara akar.

    İkincil dizinler, veri öbekleme ve Alma Artırılmış Oluşturma (RAG) uygulamaları için tasarlanmıştır. Kaynak belge olarak büyük bir PDF olduğunu varsayarsak, birincil dizinde temel bilgiler (başlık, tarih, yazar, açıklama) ve ikincil dizinde içerik öbekleri olabilir. Veri öbeği düzeyinde vektörleştirme, özellikle sohbet stili bir arama uygulamasında ilgili bilgileri bulmayı (her öbek aranabilir) ve ilgili yanıtı döndürmeyi kolaylaştırır.

Öbeklenmiş dizinler

Öbekleme, içeriği bağımsız olarak işlenebilen daha küçük yönetilebilir parçalara (öbekler) bölme işlemidir. Kaynak belgeler ekleme veya büyük dil modellerinin maksimum giriş boyutu için çok büyükse öbekleme gereklidir, ancak rag desenleri ve sohbet stili arama için size daha iyi bir dizin yapısı sağladığını fark edebilirsiniz.

Aşağıdaki diyagramda öbeklenmiş dizin oluşturmanın bileşenleri gösterilmektedir.

Öbekleme ve vektörleştirme iş akışının diyagramı.

Sonraki adımlar