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

Önemli

Tümleşik veri öbekleme ve vektörleştirme, Ek Kullanım Koşulları altında genel önizleme aşamasındadır. 2023-10-01-Preview REST API'sinde bu özellik sağlanır.

Tümleşik vektörleştirme, Azure AI Search'teki dizin oluşturma ve sorgu işlem hatlarının bir uzantısıdır. Aşağıdaki özellikleri ekler:

  • Dizin oluşturma sırasında veri öbekleme
  • Dizin oluşturma sırasında metinden vektöre dönüştürme
  • Sorgular sırasında metinden vektöre dönüştürme

Veri öbekleme zor bir gereksinim değildir, ancak ham belgeleriniz küçük değilse, ekleme modellerinin belirteç giriş gereksinimlerini karşılamak için öbekleme gerekir.

Önemli bir avantaj, tümleşik vektörleştirmenin geliştirmeyi hızlandırması ve yapılandırıp yönetecek daha az dış bileşen olduğundan veri alımı ve sorgu süresi sırasında bakım görevlerini en aza indirmesidir.

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).

Dizin oluşturma sırasında tümleşik vektörleştirmeyi kullanma

Veri öbekleme ve metinden vektöre dönüştürme işlemleri için aşağıdaki bileşenlere bağımlılık yaparsınız:

Sorgularda tümleşik vektörleştirme kullanma

Sorgular sırasında metinden vektöre dönüştürme için şu bileşenlere bir bağımlılık alırsınız:

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ı.

İş akışı bir dizin oluşturucu işlem hattıdır. Dizin oluşturucular desteklenen veri kaynaklarından veri alır ve Azure OpenAI veya Azure AI hizmetlerini ya da metinden vektöre dönüştürmeler veya başka işlemler için özel kodu çağırarak veri zenginleştirme (veya uygulanan yapay zeka) başlatır.

Diyagram 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 tüm bölgelerde ve katmanlarda kullanılabilir. Ancak, Azure OpenAI ve AzureOpenAIEmbedding becerisini kullanıyorsanız bu hizmetin bölgesel kullanılabilirliğini 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 nonvector 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. Nonvector senaryolarında, 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 nonvectorized öbekleri 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 açık olmadığı 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 soru-cevap veya sohbet stili uygulamalara yöneliktir. İkincil dizin daha belirli eşleşmeler için ayrıntılı bilgiler içerir, ancak üst dizinde daha fazla bilgi vardır ve genellikle daha eksiksiz bir yanıt üretebilir. İkincil dizinde bir eşleşme bulunduğunda, sorgu birincil dizinden üst belgeyi döndürür. Örneğin, kaynak belge olarak büyük bir PDF olduğunu varsayarsak, birincil dizinde temel bilgiler (başlık, tarih, yazar, açıklama) olabilirken, ikincil dizinde aranabilir içerik öbekleri olabilir.

Sonraki adımlar