Hiçbir Şey Anlamamaktan Bir RAG Uygulaması Geliştirmeye
Dünümü kendi NLP notlarımın 31 sayfasını okuyarak geçirdim.
Hiçbir şey anlamadım.
Sorunun bende olduğunu sandım. Değildi. Sorun yöntemimdeydi. Not okumak öğrenmek değildir. Elimdeki notlar bir yeni başlayan için değil, bir uzman için hazırlanmıştı.
Yaklaşımımı değiştirdim. Okumayı bıraktım. Bunun yerine sorular sordum. Basit örnekler kullandım. Kavramı anlayana kadar teknik terimler kullanmayı reddettim.
Günün sonunda bir RAG uygulaması geliştirdim. İşte NLP'nin dört temel direğini nasıl öğrendiğim:
- Bag of Words Bilgisayarlar sadece matematiği anlar. Metni işlemek için kelimeleri sayılara dönüştürmelisiniz.
E-postaları spam olup olmamalarına göre ayırmak istediğinizi hayal edin. E-postalarınızdaki her kelimeyi listelersiniz. Her kelimenin kaç kez geçtiğini sayarsınız. Bu, bir e-postayı bir sayı dizisine dönüştürür.
Kusuru mu? Kelime sırasını görmezden gelir. "Köpek adamı ısırır" ve "adam köpeği ısırır" bu yöntem için birbirinin aynısıdır.
- TF-IDF Bag of Words her kelimeye aynı şekilde davranır. Ancak "the" kelimesi "viagra" kadar önemli değildir.
TF-IDF iki kural kullanır:
- Term Frequency (TF): Bir kelimenin tek bir e-postada ne sıklıkla göründüğü.
- Inverse Document Frequency (IDF): Bir kelimenin tüm e-postalar arasında ne kadar nadir olduğu.
Bu matematiksel yöntem, "the" gibi dolgu kelimelerini etkisiz hale getirir ve önemli, nadir kelimeleri öne çıkarır.
- Embeddings Bag of Words, "money" ve "cash" kelimelerinin birbiriyle ilişkisiz olduğunu düşünür. Embeddings bunu düzeltir.
Devasa bir harita hayal edin. Her kelime o harita üzerinde bir noktadır. Benzer anlamlara sahip kelimeler birbirine yakın durur. "Money" ve "cash" komşudur. "Banana" ise çok uzaktadır.
Bilgisayar bu konumları, bir kelimenin beraberinde hangi kelimelerin bulunduğuna bakarak öğrenir. Eğer "money" ve "cash" kelimelerinin her ikisi de "bank" ve "pay" kelimelerinin yanında görünüyorsa, bilgisayar onları birbirine yakın yerleştirir.
- RAG (Retrieval-Augmented Generation) İşte her şeyin birleştiği nokta burasıdır.
Dosyalarınızdaki her not harita üzerinde bir nokta ise, en yakın noktaları bularak cevaplara ulaşabilirsiniz.
RAG süreci:
- Bir soruyu bir noktaya dönüştürün.
- Haritadaki en yakın not-noktalarını bulun.
- Bu notları bir yapay zekaya verin.
- Yapay zekaya sadece bu notları kullanarak cevap vermesini söyleyin.
Bu, yapay zekanın tahmin yürütmesini veya uydurmasını engeller. Yapay zekayı gerçek verilerinizi kullanmaya zorlar.
Uygulamam Synapse'i bu adımları kullanarak inşa ettim. Bir günde sıfırdan çalışan bir sisteme ulaştım.
Ders: Okumayı bırakın. Sormaya başlayın. Bir kavramı basit bir benzetmeyle açıklayamıyorsanız, onu henüz bilmiyorsunuz demektir. Anladığınızı kanıtlamak için bir şeyler inşa edin.
Kaynak: https://dev.to/sabimantock/from-i-understood-nothing-to-building-a-rag-app-4033
İsteğe bağlı öğrenme topluluğu: https://t.me/GyaanSetuAi