RAG nedir? Şirket belgeleriyle çalışan yapay zeka
Yayın: · yapayzeka.org.tr
Kısa yanıt
RAG, yanıt üretmeden önce dış kaynaklardan ilgili bilgiyi getiren ve dil modeline sunan yöntemdir. Şirket belgeleriyle çalışan bir asistan bu yöntemle cevaplarını kaynaklara dayandırır. Yine de bulunan parçaların doğru seçilmesi ve yanıtın kontrol edilmesi gerekir.
Soruyla birlikte modele belge de verilir
RAG, Türkçede getirme ile güçlendirilmiş üretim olarak karşılanan İngilizce retrieval augmented generation ifadesinin kısaltmasıdır. Sistem önce arama yapar ve kullanıcının sorusuyla ilgili parçaları bulduktan sonra bunları soruyla birlikte dil modeline gönderir. Model bu bağlamla yazar. Şirketin onaylı kuralını ararken asistanın dayandığı belgeyi görmek istersiniz. Modelin genel bilgisinden eklediği bir yorumun bu kuralla karışmaması için kaynağın açık olması gerekir.
Patrick Lewis ve arkadaşlarının 2020 tarihli çalışması, dil modelinin parametrelerindeki bilgiyle dışarıdan getirilen belge parçalarını birleştiren RAG yaklaşımını tanımladı. Araştırmada dış kaynak olarak Wikipedia dizini kullanılırken kurumsal uygulamada aynı fikir, örneğin şirketin ürün kılavuzlarına uygulanabilir. Makaleyi bir şirket asistanının hazır tarifi gibi okumamak gerekir. Araştırmanın kurduğu yaklaşım ile uygulamanın erişim ve belge yönetimi kararları ayrı işlerdir.
Parçalama sırasında anlamı korumak
Belgeler önce sistemin işleyebileceği metne çevrilir ve ardından daha küçük parçalara ayrılır. Buna parçalama denir. AWS'nin Eylül 2023 tarihli bilgi tabanı duyurusu, belgeyi alma ve parçalamanın ardından gömme üretip bunları saklayan bir akışı açıklar. Amaç, her soruda bütün arşivi modele göndermek yerine soruyu yanıtlayabilecek içeriği seçmektir. Bu akışı tasarlarken her parçanın hangi belgeden geldiği de kayda alınır.
Diyelim ki bir bakım kılavuzunda temizlik talimatı ile garanti dışı durumları anlatan dipnot aynı sayfada bulunuyor. Parçalama bu iki metni ayırdığında asistan, istisnayı görmeden genel talimatı aktarabilir. Denemede getirilen metni de okuyun. Sabit bir parça uzunluğu seçmeden önce teknik ekibe, bir kuralın koşullarının ve istisnasının cevap hazırlanırken birlikte görülüp görülmediğini ve bu örnekteki anlam bütünlüğünün korunup korunmadığını sorun.
Parça boyutunu değiştirmenin işe yaradığını da aynı soruyla kontrol edebilirsiniz. Örnek kılavuzda temizlik talimatı bulunuyor, fakat dipnot hâlâ gelmiyorsa değişikliğin neden yeterli olmadığını teknik ekiple inceleyin. Kısa parçaların sayısını artırmak veya modele daha fazla metin göndermek arasında seçim yaparken, her denemede soruyu ve beklenen dayanağı sabit tutun. Aksi hâlde cevaptaki farkın hangi değişiklikten kaynaklandığını ayırmak zorlaşır.
Gömme ve aramanın yaptığı iş
İngilizce embedding teriminin karşılığı olan gömme, metnin bir model tarafından sayısal bir vektörle temsil edilmesidir. Soru da aynı arama düzenine uygun biçimde temsil edildiğinde sistem yakın içerikleri bulur. Kullanıcının belgedeki ifadeyi kelimesi kelimesine bilmediği durumlarda işe yarayan bu yaklaşım, AWS'nin duyurusunda sorunun gömmesini üretip ilgili belge parçalarını getirmek şeklinde anlatılır.
Örnek bakım kılavuzunda kullanıcı 'Cihazı yıkayabilir miyim?' diye sorarken belge 'su ile temas' ifadesini kullanabilir. Farklı anlatımları da deneyin. Tam ürün koduyla da sorun. Anlam yakınlığına göre bulunan bir metnin gerçekten doğru cihazı anlattığını, özellikle birbirine benzeyen ürün adlarında kontrol etmek gerekir. Arama sonucuna ürün ve belge bilgisi eklenmesini isteyin.
Kaynağı açabilen bir yanıt tasarlamak
Kullanıcının yanıtı belgeden kontrol edebilmesi için kaynak gösterme gerekir ve AWS'nin Kasım 2023 tarihli RAG açıklamasında da üretilen cevapla birlikte kaynak atfı ve getirilen metin parçaları döner. Arayüzde belge adına basıldığında ilgili bölümün açılmasını istemek makul bir kabul ölçütüdür. Bir dosya adını yanıtın altına koymak, o dosyanın cevaptaki bütün iddiaları desteklediğini tek başına göstermez.
Bakım örneğinde 'Yıkanabilir' cevabıyla 'Dış yüzeyi nemli bezle silin' talimatı farklı işlemler tarif ettiği için inceleyen kişi, bağlantıyı açıp cevabın kaynağı aşan bir yorum içerip içermediğine bakar. Kaynakta anlatılan işlemle kullanıcının cevaptan anlayacağı işlemin aynı olup olmadığını değerlendirir. Bizce ilk denemede bu uyuma öncelik vermek gerekir, çünkü iyi yazılmış bir cevap da cihazı yanlış kullanmaya yol açan bir talimat içerebilir.
Belge bulunamadığında cevap verme sınırı
RAG kurmak, aramanın her seferinde doğru parçayı getireceğini garanti etmez. AWS'nin Temmuz 2024 açıklaması, karmaşık tabloların ve bölümler arasındaki anlam ilişkilerinin parçalama sırasında sorun yaratabildiğini belirtir. Yanlış parça modele sunulursa kaynaklı görünen bir cevap da yanlış olabilir, bu yüzden yanıt üretme aşamasına geçmeden aramanın başarısız kaldığı soruları görebileceğiniz bir kayıt düzeni istemenizi öneririz.
Kılavuzda hiç anlatılmayan bir arıza gibi, kaynaklarda yanıtı olmayan soruları da denemeye ekleyin ve sistemin yeterli belge bulunamadığını söyleyerek yetkili ekibe yönlendirmesini bekleyin. Tahmini bir tamir talimatı kabul edilmeyecekse bu sınırı açıkça yazın ve sistemin buna uyup uymadığını deneyin. Aynı soruyu eksik kaynakla denediğinizde asistanın gerçekten nerede durduğunu görmeniz gerekir.
İlk görüşmede istenecek gösterim
Tedarikçiyle görüşürken kendi seçtiğiniz bir sorunun hangi parçalardan yanıtlandığını göstermesini isteyin. Sonra belgedeki bir kuralı değiştirip arama sonucunun nasıl yenilendiğine bakın. Buradaki önerimiz küçük bir gösterimle sınırlı: hangi belgenin kullanıldığını ve değişikliğin cevaba nasıl yansıdığını izleyebilmek. Arşiv düzenlemesini ayrıca planlayın. Gösterim sonrasında sorumlularla görüşüp hangi kaynak grubunun denemeye alınacağını belirleyin, çünkü bütün arşivin aynı hazırlık düzeyinde olduğu varsayımı ilk denemenin kapsamını belirsiz bırakır.
Erişim sınırını da aynı gösterimde deneyebilirsiniz. Bir çalışanın erişemediği belge hakkında soru sorduğunda asistanın ne yaptığını da görün. Uygulamanın kullandığı hesapla son kullanıcının yetkisini birlikte inceleyin. Şirketin bu işe hazır olup olmadığını daha geniş çerçevede tartmak için kurumsal yapay zeka hazırlığının ölçülmesi yazısından yararlanabilirsiniz. Gösterimde bakım sorusunun kaynağını açıp dipnotu bulun; cevapta atlanmışsa o soruyu çözülmesi gereken hata olarak saklayın.
Kaynaklar
- arXiv, Lewis ve arkadaşları, Retrieval-Augmented Generation for Knowledge-Intensive NLP Tasks12 Nisan 2021
- AWS, Knowledge base for Amazon Bedrock connects foundation models to your data sources13 Eylül 2023
- AWS, Knowledge Bases now delivers fully managed RAG experience in Amazon Bedrock28 Kasım 2023
- AWS, Amazon Bedrock Knowledge Bases now supports advanced parsing, chunking, and query reformulation10 Temmuz 2024