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.
Geri getirme ile zenginleştirilmiş üretim (RAG) deseni, modelin henüz bilmediği belirli veya özel verileri işlemek amacıyla dil modellerini kullanarak uygulamalar oluşturmak için endüstri standardı bir yaklaşımdır. Mimari basittir, ancak 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 makale, bir serinin tanıtımıdır. Serideki her makale, RAG çözümü tasarımında belirli bir aşamayı kapsar.
Bu serideki diğer makaleler aşağıdaki konuları kapsar:
- Değerlendirme sırasında hangi test medyası ve sorguların kullanılacağını belirleme
- Öbekleme stratejisi seçme
- Hangi öbekleri zenginleştirmeniz gerektiğini ve bunları nasıl zenginleştirebileceğinizi belirleme
- Doğru ekleme modelini seçme
- Arama dizinini yapılandırma
- Vektör, tam metin, karma ve el ile birden çok arama gibi hangi aramaları çalıştırmanız gerektiğini belirleme
- Her adımı değerlendirme
RAG mimarisi
RAG uygulama akışı
Aşağıdaki iş akışında BIR RAG uygulaması için üst düzey akış açıklanmaktadır.
- Kullanıcı, akıllı uygulama kullanıcı arabiriminde bir sorgu oluşturur.
- Akıllı uygulama bir düzenleyiciye API çağrısı yapar. Düzenleyiciyi Microsoft Agent Framework, Anlam Çekirdeği, Azure AI Aracısı hizmeti veya LangChain gibi araçlar veya platformlarla uygulayabilirsiniz.
- Düzenleyici, Azure AI Search'te çalıştırılacak aramayı belirler ve sorguyu düzenler.
- Orchestrator sorgudaki en iyi N sonuçlarını paketler. En iyi sonuçları ve sorguyu bir istem içinde bağlam olarak paketler ve istemi dil modeline gönderir. Orkestratör, kullanıcıların okuması için yanıtı akıllı uygulamaya iletir.
RAG veri işlem hattı akışı
Aşağıdaki iş akışında, BIR RAG uygulaması için topraklama verileri sağlayan bir veri işlem hattı için üst düzey akış açıklanmaktadır.
- Belgeler veya diğer medyalar bir veri işlem hattına gönderilir veya çekilir.
- Veri işlem hattı, aşağıdaki adımları tamamlayarak her medya dosyasını ayrı ayrı işler:
- Öbekleme: Medya dosyasını ideal olarak tek bir fikri veya kavramı olan, anlamlı olarak ilgili bölümlere ayırır.
- Öbekleri zenginleştirme: Öbeklerdeki içeriğe göre işlem hattının oluşturduğu meta veri alanlarını ekler. Veri işlem hattı meta verileri başlık, özet ve anahtar sözcükler gibi ayrık alanlara ayırır.
- Ö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.
- Kalıcı öbekler: Öbekleri arama dizininde depolar.
RAG tasarımı ve değerlendirmesinde dikkat edilmesi gerekenler
RAG çözümünüzü tasarlarken çeşitli uygulama kararları vermelisiniz. Aşağıdaki diyagramda, bu kararları alırken sormanız gereken bazı sorular gösterilmektedir.
Aşağıdaki liste, RAG çözümü geliştirmenin her aşamasında yapmanız gerekenlerin kısa bir açıklamasını sağlar.
hazırlık aşamasında şunları yapmalısınız: - Çözüm etki alanını belirleyin. RAG çözümü için iş gereksinimlerini açıkça tanımlayın.
- Temsili test medyası toplayın. RAG çözümünüz için genel koleksiyonunuzu temsil eden test medya dosyalarını toplayın.
- Test sorgularını toplayın. Bilgi toplayın, sorguları test edin ve medya dosyalarınızın kapsamadığı alanları kapsayan yapay sorgular oluşturun.
Öbekleme aşamasında şunları yapmalısınız:
- Öbekleme ekonomisini anlamak. Medya koleksiyonunuz için öbekleme çözümünüzün genel maliyetini değerlendirirken dikkate almanız gereken faktörleri anlayın.
- Medya analizi gerçekleştirme. Medya dosya türünü analiz ederken karar vermenize yardımcı olması için aşağıdaki soruları sorun:
- Medya dosyasındaki hangi içeriği yoksaymak veya dışlamak istiyorsunuz?
- Öbekler halinde hangi içeriği yakalamak istiyorsunuz?
- Bu içeriği nasıl öbeklemeyi istersiniz?
- Öbekleme yaklaşımlarını anlayın. Tümce tabanlı, sabit boyutlu ve özel yaklaşımlar dahil olmak üzere öbeklemeyle ilgili farklı yaklaşımları veya dil modeli geliştirme, belge düzeni analizi ve makine öğrenmesi modellerini kullanma hakkında bilgi edinin.
- Dosya yapısının öbeklemeyi nasıl etkilediğini anlama. Medya dosyasının sahip olduğu yapı derecesine göre bir öbekleme yaklaşımı seçin.
Öbek zenginleştirme aşamasında şunları yapmalısınız:
- Öbekleri temizleyin. İçeriğin anlamını etkilemeyen farklılıkları ortadan kaldırmak için temizleme yaklaşımları uygulayın. Bu yöntem yakınlık eşleşmelerini destekler.
- Öbekleri artırın. Öbek verilerinizi ortak meta veri alanlarıyla artırmayı ve bunların aramadaki olası kullanımlarını anlamayı göz önünde bulundurun. Meta veri içeriği oluşturmak için yaygın olarak kullanılan araçlar veya teknikler hakkında bilgi edinin.
Ekleme aşamasında şunları yapmalısınız:
- Ekleme modelinin önemini anlama. Ekleme modeli, vektör arama sonuçlarınızın ilgililiğini önemli ölçüde etkileyebilir.
- Kullanım örneğiniz için doğru ekleme modelini seçin.
- Ekleme modellerini değerlendirin. Eklemeleri görselleştirerek ve ekleme uzaklıklarını hesaplayarak ekleme modellerini değerlendirin.
bilgi alma aşamasında şunları yapmalısınız: - Arama dizini oluşturun. Vektör alanlarınıza uygun vektör arama yapılandırmalarını uygulayın.
- Arama seçeneklerini anlama. Vektör, tam metin, karma ve el ile birden çok arama gibi farklı arama türlerini göz önünde bulundurun. Sorguyu alt sorgulara bölmeyi ve sorguları filtrelemeyi öğrenin.
- Aramaları değerlendirin. Arama çözümünüzün değerlendirilmesi için alma değerlendirme yöntemlerini kullanın.
Dil modeli uçtan uca değerlendirme aşamasında şunları yapmalısınız:
- Dil modeli değerlendirme ölçümlerini anlama. Dil modelinin yanıtını değerlendirmek için kullanabileceğiniz temellilik, eksiksizlik, kullanım ve İlgi gibi çeşitli ölçümler vardır.
- Benzerlik ve değerlendirme ölçümlerini anlama. RAG çözümünüzü değerlendirmek için benzerlik ve değerlendirme ölçümlerini kullanabilirsiniz.
- Belgelerin, raporlamanın ve toplamanın önemini anlama. Hiper parametreleri ve değerlendirme sonuçlarını belgeleyin. Birden çok sorgunun sonuçlarını toplama ve sonuçları görselleştirme.
- RAG deneme hızlandırıcısını kullanın. Ekibinizin birden çok deneme çalıştırarak, kalıcı hale gelip sonuçları değerlendirerek RAG uygulaması için en iyi stratejileri bulmasına yardımcı olması için RAG deneme hızlandırıcısı GitHub deposunu kullanın.
Yapılandırılmış yaklaşım
Adım ve değişken sayısı nedeniyle, RAG çözümünüz için yapılandırılmış bir değerlendirme süreci izlemeniz önemlidir. Her adımın sonuçlarını değerlendirin ve gereksinimlerinize göre değişiklikler yapın. İyileştirme için her adımı bağımsız olarak değerlendirmeniz gerekir, ancak nihai sonucun müşterilerinizin deneyimlediğiniz sonuç olduğunu unutmayın. Her 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
Microsoft bu makaleyi korur. Bu makaleyi aşağıdaki katkıda bulunanlar yazdı.
Asıl yazarlar:
- Raouf Aliouat | Yazılım Mühendisi II
- Rob Bagby | Asıl İçerik Geliştiricisi - Azure Desenleri ve Uygulamaları
- Prabal Deb | Baş Yazılım Mühendisi
- Chad Kittel | Baş Yazılım Mühendisi - Azure Desenleri ve Uygulamaları
- Ritesh Modi | Baş Mühendis
- Ryan Pfalz | Üst Düzey Teknik Program Yöneticisi
- Randy Thurman | Baş Yapay Zeka Bulut Çözümü Mimarı
Genel olmayan LinkedIn profillerini görmek için LinkedIn'de oturum açın.