Düzenle

Aracılığıyla paylaş


RAG çözümü tasarlama ve geliştirme

Azure AI services
Azure AI Arama
Azure OpenAI Service
Azure Machine Learning

Alma-Artırılmış Nesil (RAG) deseni, büyük dil modeli tarafından henüz bilinmeyen belirli veya özel veriler üzerinde mantık oluşturmak için büyük dil modelleri kullanan uygulamalar oluşturmaya yönelik endüstri standardı bir yaklaşımdır. Mimari basit olsa da, bu mimariye uygun RAG çözümlerini tasarlamak, denemek ve değerlendirmek, katı ve bilimsel bir yaklaşımdan yararlanan birçok karmaşık nokta içerir.

Bu kılavuz bir dizi olarak sunulmuştur. Serideki her makale RAG çözümleri tasarlamanın belirli bir aşamasını kapsar.

Bu kılavuzdaki makalelerde dikkat edilmesi gerekenler şunlardır:

  • Değerlendirme sırasında hangi test belgelerinin ve sorguların kullanılacağını belirleme
  • Öbekleme stratejisi seçme
  • Öbekleri ne ve nasıl zenginleştirmeniz gerektiğini belirleme
  • Doğru ekleme modelini seçme
  • Arama dizinini yapılandırmayı belirleme
  • Hangi aramaları yapmak istediğinizi belirleme: vektör, tam metin, karma, el ile çoklu
  • Her adımı değerlendirme

Bu kılavuzdaki makaleler tüm bu konuları ele alır.

RAG Mimarisi

İstek akışı ve veri işlem hattı dahil olmak üzere bir RAG çözümünün üst düzey mimarisini gösteren diyagram.

Şekil 1. Üst düzey RAG mimarisi

RAG uygulama akışı

Aşağıda, RAG uygulaması için üst düzey bir akış yer alır.

  1. Kullanıcı, akıllı uygulama kullanıcı arabiriminde bir sorgu oluşturur.
  2. Akıllı uygulama bir düzenleyiciye API çağrısı yapar. Düzenleyici Semantik Çekirdek, Azure Machine Learning istem akışı veya LangChain gibi araçlar veya platformlarla uygulanabilir.
  3. Düzenleyici, Azure AI Search'te hangi aramanın gerçekleştirileceğini belirler ve sorguyu düzenler.
  4. Düzenleyici sorgudan en iyi N sonuçlarını paketler, bunları sorguyla birlikte bir istem içinde bağlam olarak paketler ve istemi büyük dil modeline gönderir. Düzenleyici, kullanıcının okuması için akıllı uygulamaya yanıtı döndürür.

RAG veri işlem hattı akışı

Aşağıda, RAG uygulaması için topraklama verileri sağlayan bir veri işlem hattı için üst düzey akış yer alır.

  1. Belgeler bir veri işlem hattına gönderilir veya çekilir.

  2. Veri işlem hattı, aşağıdaki adımlarla her belgeyi ayrı ayrı işler:

    1. Öbek belgesi - Belgeyi ideal olarak tek bir fikri veya kavramı olan, anlamlı olarak ilgili bölümlere ayırın.
    2. Öbekleri zenginleştirme - Öbeklerdeki içerikten oluşturulan meta veri alanlarını başlık, özet ve anahtar sözcükler gibi ayrık alanlara ekler.
    3. Öbekleri ekleme - Öbekleri ve vektör aramaları için kullanılan diğer meta veri alanlarını vektörleştirmek için bir ekleme modeli kullanır.
    4. Öbekleri kalıcı hale gelir - Öbekleri arama dizininde depolar.

RAG tasarımı ve değerlendirmesinde dikkat edilmesi gerekenler

RAG çözümünüzü tasarlarken almanız gereken çeşitli uygulama kararları vardır. Aşağıdaki şekilde bu kararlardan bazıları gösterilmektedir.

Çözümü tasarlarken ortaya çıkan sorular da dahil olmak üzere rag çözümünün üst düzey mimarisini gösteren diyagram.

Şekil 2. RAG çözümü tasarlarken ortaya çıkan sorular

Bu kılavuzdaki makale serisi, bu konuları ve daha fazlasını ele alır.

Hazırlık aşaması

  • Çözüm etki alanını belirleme - RAG çözümü için iş gereksinimlerini açıkça tanımlamanın önemini tartışmaktadır
  • Temsili test belgelerini toplama - RAG çözümünüz için corpus'unuzu temsil eden test belgelerini toplama konusunda dikkat edilmesi gereken noktaları ve yönergeleri tartışın.
  • Test sorgularını toplama - Test sorgularınızla birlikte hangi bilgileri toplamanız gerektiğini açıklar, belgelerinizin kapsamaması için yapay sorgular ve sorgular oluşturma konusunda rehberlik sağlar.

Öbekleme aşaması

  • Öbekleme ekonomisini anlama - Metin corpus'unuz için öbekleme çözümünüzün genel maliyetine bakarken göz önünde bulundurmanız gereken faktörleri ele alır
  • Belge analizi gerçekleştirme - Belgede yoksaymak veya dışlamak istediğiniz öğeleri, öbekler halinde yakalamak istediklerinizi ve nasıl öbek oluşturmak istediğinizi belirlemenize yardımcı olan bir belge türünü çözümlerken sorabileceğiniz soruların listesini sağlar
  • Öbekleme yaklaşımlarını anlama - Makine öğrenmesi modellerini kullanarak cümle tabanlı, sabit boyutlu, özel, büyük dil modeli büyütme, belge düzeni analizi gibi öbekleme yaklaşımlarını özetler
  • Belge yapısının öbek oluşturmayı nasıl etkilediğini anlama - Bir belgenin yapı derecesinin öbekleme yaklaşımı için seçiminizi nasıl etkilediğini açıklar

Öbek zenginleştirme aşaması

  • Temiz öbekler - Metnin semantiğine malzeme olmayan olası farklılıkları ortadan kaldırarak yakınlık eşleşmelerini desteklemek için uygulayabileceğiniz farklı temizleme yaklaşımlarını ele alınmaktadır
  • Öbekleri artırma - Öbek verilerinizi artırmayı göz önünde bulundurmanız gereken bazı yaygın meta veri alanlarını ve bunların aramadaki olası kullanımları ve meta veri içeriğini oluşturmak için yaygın olarak kullanılan araçlar veya teknikler hakkında bazı kılavuzları ele alır

Ekleme aşaması

  • Ekleme modelinin önemini anlama - Ekleme modelinin vektör arama sonuçlarınızın ilgisi üzerinde nasıl önemli bir etkisi olabileceğini açıklar
  • Ekleme modeli seçme - Ekleme modeli seçme konusunda rehberlik sağlar
  • Ekleme modellerini değerlendirme - Ekleme modelini değerlendirmenin iki aracı açıklanır: eklemeleri görselleştirme ve ekleme uzaklıklarını hesaplama

Bilgi alma aşaması

  • Arama dizini oluşturma - Vektör alanları için geçerli olan vektör arama yapılandırması için yapmanız gereken bazı önemli kararları ele alır
  • Arama seçeneklerini anlama - Vektör, tam metin, karma ve el ile çoklu arama gibi göz önünde bulundurabileceğiniz arama türlerine genel bir bakış sağlar. Sorguyu alt sorgulara bölme, sorguları filtreleme konusunda rehberlik sağlar
  • Aramaları değerlendirme - Arama çözümünüzü değerlendirme konusunda rehberlik sağlar

Büyük dil modeli uçtan uca değerlendirme aşaması

Yapılandırılmış yaklaşım

Adım ve değişken sayısı nedeniyle RAG çözümünüzü yapılandırılmış bir değerlendirme süreciyle tasarlamak önemlidir. Her adımın sonuçlarını değerlendirin ve gereksinimlerinize göre uyarlayın. İyileştirme için her adımı bağımsız olarak değerlendirmeniz gerekir ancak sonuç, kullanıcılarınız tarafından yaşanacak sonuçlardır. Her bir adım için kendi kabul ölçütlerinizi belirlemeden önce bu süreçteki tüm adımları anladığınızdan emin olun.

Katkıda Bulunanlar

Sonraki adımlar