- RAG nedir ve LlamaIndex bu işte nerede durur?
- Temel akış: yükle, indeksle, sorgula
- Veri bağlayıcılar ve belge hazırlığı
- Parçalama, indeksleme ve sorgu motoru tasarımı
- Kalite nasıl ölçülür, hata nasıl ayıklanır?
- Üretime geçiş: güvenlik, bakım ve maliyet
- Bu beceriyi Mindset programlarında nerede çalışırsınız?
- Sık sorulan sorular
LlamaIndex ile şirket dokümanlarınız üzerinde RAG uygulaması geliştirme
LlamaIndex ile şirket dokümanlarından soru yanıtlayan RAG uygulaması geliştirme adımları: veri yükleme, indeksleme, sorgu motoru, değerlendirme ve üretim.
RAG nedir ve LlamaIndex bu işte nerede durur?
RAG (retrieval-augmented generation), büyük dil modelinin cevabını üretmeden önce ilgili belgeleri bulup modele bağlam olarak vermeye dayanan yaklaşımdır. Model genel bilgiyle yanıtlamak yerine, şirketinizin politika belgeleri, ürün kılavuzları ya da sözleşmeleri gibi kendi kaynaklarına dayanarak cevap verir. Böylece güncel ve kuruma özgü bilgi kullanılabilir, kaynağa atıf yapmak da mümkün olur.
LlamaIndex, bu akışı kurmayı kolaylaştıran açık kaynaklı bir veri çerçevesidir. Verinin okunması, parçalanması, indekslenmesi, sorgulanması ve değerlendirilmesi için hazır bileşenler sunar. Aynı işi baştan yazabilirsiniz; çerçeve size bağlayıcıları, indeks yapılarını ve sorgu motorlarını hazır verir.
Bilinmesi gereken önemli bir nokta: RAG, modeli yeniden eğitmek değildir. Bilgiyi modele cevap anında bağlam olarak taşırsınız. Bu yüzden başarı büyük oranda doğru belgeyi doğru parçayla bulabilmenize bağlıdır.
Temel akış: yükle, indeksle, sorgula
En küçük çalışan RAG uygulaması şu mantıktadır: • Belgeleri bir klasörden ya da kaynaktan okumak • Belgeleri parçalara bölüp vektör gösterimlerine çevirerek indekslemek • Soruyu aynı şekilde vektöre çevirip en ilgili parçaları getirmek • Getirilen parçaları bağlam olarak modele verip cevap üretmek
Python'da kavramsal bir iskelet şöyle görünür:
from llama_index.core import SimpleDirectoryReader, VectorStoreIndex documents = SimpleDirectoryReader("veri").load_data() index = VectorStoreIndex.from_documents(documents) query_engine = index.as_query_engine() cevap = query_engine.query("Yıllık izin talebi nasıl yapılır?") print(cevap)
Bu kod bir model sağlayıcısı için gerekli anahtar ve ayarlar tanımlıydıysa çalışır; hangi model ve gömme (embedding) sağlayıcısını seçeceğiniz ayrı bir karardır. Kod, çerçevenin sürümüne göre değişebilir; güncel kullanım için resmî dokümantasyona bakın. Bu iskelet bir demo içindir; gerçek bir kurumsal uygulama için aşağıdaki bölümlerdeki kararlar belirleyicidir.
Veri bağlayıcılar ve belge hazırlığı
Kurumsal bilgi tek bir klasörde durmaz. Belgeler PDF, Word, e-tablo, wiki sayfası, e-posta, ticket sistemi ya da veritabanında olabilir. LlamaIndex, farklı kaynaklardan veri çekmek için bağlayıcılar kullanır. Hangi kaynağın kullanıldığına karar verirken erişim yetkisini, güncelleme sıklığını ve veri kalitesini de düşünün.
Belge hazırlığı çoğu zaman sonucun kalitesini belirler: • Kopya ve eski sürümleri ayıklayın; model eski politikayı güncel gibi sunabilir. • Tablolar, başlıklar ve sayfa yapısı okunurken bozuluyor mu kontrol edin; taranmış PDF'lerde metin tanıma gerekebilir. • Her belgeye kaynak, tarih, sahip birim ve gizlilik düzeyi gibi meta veriler ekleyin; filtreleme ve atıf için kullanılır. • Hassas veriyi (kişisel veri, gizli sözleşme) kimlerin sorgulayabileceğini baştan tasarlayın.
Örneğin İK politika belgeleri ile finans sözleşmelerini aynı indekse koyarsanız, yetkisi olmayan bir çalışanın sorusu gizli belgeyi getirebilir. Erişim kontrolünü sorgu aşamasına bırakmayın; indeks ve filtre tasarımında düşünün.
Parçalama, indeksleme ve sorgu motoru tasarımı
Belgeler modele bütün olarak verilmez; parçalara (chunk) bölünür. Parça çok küçükse bağlam kaybolur, çok büyükse alakasız bilgi ve gürültü artar. Başlık sınırlarına göre bölmek, parçalar arasında kısmi örtüşme bırakmak ve her parçaya hangi belgenin neresi olduğunu gösteren bilgi eklemek yaygın uygulamalardır.
Sorgu motoru tasarımında kararlar şunlardır: • Getirilecek parça sayısı: Az parça bilgiyi kaçırır, çok parça modeli dağıtır. • Yeniden sıralama: İlk bulunan parçaları ek bir adımla alaka düzeyine göre sıralamak sonucu iyileştirebilir. • Hibrit arama: Anlamsal aramayı anahtar kelime aramasıyla birleştirmek, ürün kodu ya da yasal terim gibi kesin eşleşmeler için faydalıdır. • Soru yeniden yazımı: Belirsiz kullanıcı sorusunu aramaya uygun hale getirmek • Cevap şekli: Kaynak göstermeli mi, bilgi bulunamadığında "bilmiyorum" demeli mi?
Son madde önemlidir. Kurumsal kullanımda yanlış ama emin sesli cevap, cevap vermemekten daha zararlıdır. Modeli, kaynakta bulunmayan bir konuda uydurma yapmamaya yönlendirin ve atıfları gösterin.
Kalite nasıl ölçülür, hata nasıl ayıklanır?
RAG uygulamasında bir cevap kötüyse nedeni birkaç yerde olabilir: doğru belge hiç getirilmemiştir, doğru belge getirilmiş ama yanlış parçası alınmıştır, ya da doğru bağlam verilmiş ama model onu yanlış kullanmıştır. Hata ayıklamak için getirilen parçaları görmeniz gerekir; yalnızca son cevaba bakmak sorunun yerini gizler.
Değerlendirme için gerçek kullanıcı sorularından küçük bir soru seti hazırlayın ve her soru için beklenen kaynak belgeyi ve doğru cevabı kaydedin. Her değişiklikten sonra (parça boyutu, gömme modeli, istem metni) bu set üzerinden sonuçları karşılaştırın. Ölçülecek ana noktalar: doğru bağlam getirilebildi mi ve cevap bağlama sadık mı?
Örneğin bir kullanıcı "yurt dışı harcırah limiti nedir?" diye sorduğunda eski politika belgesi geliyorsa sorun model değil, belge sürüm yönetimidir. Çözüm indeksi güncel tutmak ve eski sürümü dışarıda bırakmaktır.
Üretime geçiş: güvenlik, bakım ve maliyet
Prototipten üretime geçerken konuşulması gereken konular vardır: • Güncelleme: Belgeler değiştiğinde indeks nasıl yenilenir? Zamanlanmış mı, olay tabanlı mı? • Erişim ve gizlilik: Kullanıcının yetkisi dışındaki belge cevaplarda çıkmamalı; kişisel veri mevzuatı ve şirket politikası gözetilmeli. • Gözlemlenebilirlik: Hangi soru geldi, hangi parçalar getirildi, kullanıcı cevabı nasıl değerlendirdi? Bu kayıtlar iyileştirme için temel veridir. • Maliyet ve gecikme: Model çağrıları ve gömme işlemleri maliyetlidir; önbellekleme, parça sayısı ve model seçimi bunu etkiler. • Geri bildirim döngüsü: Yanlış cevapları işaretleme ve belge boşluklarını kapatma süreci
Kapsamı da bilinçli seçin. Önce tek bir birimin tek bir sorun alanıyla (örneğin ürün destek dokümanları) başlayıp işleyen bir çözüm üretin; sonra genişletin. Hepsini birden bağlamak çoğu zaman kalitesiz ve güvensiz bir sistem doğurur.
Çerçeve seçimi için LangChain ile karşılaştırma da gündeme gelebilir; her ikisi de çalışır ve proje gereksinimine göre tercih değişir.
Bu beceriyi Mindset programlarında nerede çalışırsınız?
LlamaIndex ile Kurumsal Bilgi Yönetimi ve RAG eğitimi, yapay zeka uygulamaları geliştiren yazılımcılar, veri mühendisleri ve kurum içi bilgi yönetimi projelerini yürüten teknik ekipler için uygundur. Program; LlamaIndex temelleri, veri bağlayıcılar ve indeksleme, sorgu motoru tasarımı, kurumsal bilgi yönetimi sistemi inşası ile üretim dağıtımı ve sürdürme konularını sırasıyla ele alır.
Kurumsal ekipler için faydası, bir kurum içi bilgi asistanı projesini aynı çerçeve ve ortak kavramlar üzerinden planlamalarını sağlamasıdır; böylece veri sahipleri, yazılım ekibi ve güvenlik birimi aynı dili kullanır.
İlgili Mindset programı
LlamaIndex ile Kurumsal Bilgi Yönetimi ve RAG
Sık sorulan sorular
RAG ile modeli kendi verimizle eğitmek aynı şey mi?
Hayır. RAG'de model yeniden eğitilmez; cevap sırasında ilgili belge parçaları bağlam olarak modele verilir. Bu sayede veri güncellendiğinde indeksi yenilemeniz yeterlidir ve kaynağa atıf yapabilirsiniz. İnce ayar (fine-tuning) ise modelin davranışını ya da üslubunu değiştirmek için kullanılan farklı bir yöntemdir.
LlamaIndex ile LangChain arasında nasıl seçim yapılır?
İkisi de dil modeli uygulamaları için çerçevedir. LlamaIndex veri bağlama, indeksleme ve sorgulama odaklı güçlü bileşenler sunar; LangChain daha geniş bir zincir ve ajan kurma yelpazesi sunar. Proje ihtiyacına, ekip tecrübesine ve entegrasyon gereksinimine göre seçin; birlikte kullanım da mümkündür.
Cevaplar neden bazen yanlış çıkıyor?
Genellikle doğru belge getirilemediği, parçalama yanlış yapıldığı, eski belgeler indekste kaldığı ya da model bağlamı yanlış kullandığı için. Getirilen parçaları inceleyerek sorunun yerini bulun, ardından soru setiyle düzeltmeleri ölçün. Kaynakta olmayan konuda cevap vermeme talimatı da güvenilirliği artırır.
Gizli şirket verisi RAG ile güvenli kullanılabilir mi?
Mümkündür ama bilinçli tasarım ister. Verinin hangi sağlayıcıya gittiği, erişim yetkilerinin sorguya nasıl yansıtıldığı ve kayıtların nasıl saklandığı baştan belirlenmelidir. Kişisel veri mevzuatı ve şirket güvenlik politikaları kapsamında bilgi güvenliği ekibinizle birlikte karar verin.