LlamaIndex ile Şirket Verilerinizi LLM’e Güvenle Bağlayın: Adım Adım RAG Rehberi
Şirketinizin yıllar içinde biriktirdiği PDF’leri, Excel tablolarını ve müşteri yazışmalarını ChatGPT’ye yükleyip “Bize geçen yıl en çok kazandıran ürünü analiz et” demeyi hiç denediniz mi? Muhtemelen gizlilik endişeleri ya da LLM’lerin (Büyük Dil Modelleri) o meşhur uydurma (hallucination) eğilimi yüzünden geri adım attınız. İşte tam bu noktada, şirket verilerinizi yapay zekayla güvenle buluşturacak kapsamlı bir llamaindex rehberi ile karşınızdayız. Bu yazıda, kurumsal dünyada sıkça duyduğumuz rag nedir sorusundan başlayarak, güvenli bir kurumsal llm projesinde çığır açan yapay zeka veri entegrasyonu süreçlerini adım adım deneyecek ve sonuçları raporlayacağız.
RAG Nedir? Açık Defter Sınavı Benzetmesi
Yapay zeka modelleri ne kadar akıllı olurlarsa olsunlar, sadece eğitildikleri genel internet verilerini bilirler. Şirketinizin dünkü satış raporundan ya da özel bir müşteri sözleşmesinden haberleri yoktur. Bu sorunu çözmek için iki yolumuz var: Ya modeli sıfırdan kendi verimizle eğiteceğiz (ki bu inanılmaz pahalı ve teknik bir süreç) ya da modele “açık defter sınavı” yaptıracağız.
İşte bu ikinci yönteme RAG (Retrieval-Augmented Generation) diyoruz. RAG sisteminde süreç şöyle işler:
- Kullanıcı bir soru sorar.
- Sistem, şirketin özel belgeleri (PDF, SQL, Notion vb.) arasında hızlı bir arama yapar ve ilgili sayfaları bulur.
- Bulunan bu sayfaları (bağlamı) ve orijinal soruyu LLM’e gönderir.
- LLM, sadece önüne koyduğumuz bu belgelere bakarak doğru ve uydurma içermeyen bir cevap üretir.
[Görsel: RAG mimarisinin basit akış şeması – Kullanıcı Sorusu, Belge Arama, LLM ve Son Cevap zinciri]
Neden LlamaIndex? (LangChain ile Ne Farkı Var?)
Piyasada RAG sistemleri kurmak için en popüler iki araç LangChain ve LlamaIndex. LangChain her işi yapabilen devasa bir İsviçre çakısı gibidir. Ancak amacınız sadece “verilerimi LLM’e bağlayayım, bana düzgün cevap versin” ise, LlamaIndex bu işin mutlak uzmanıdır. Veri indeksleme, akıllı arama (retrieval) ve veri bağlama konularında çok daha optimize ve pratiktir.
Adım Adım Kurulum: Kendi Verimizi LLM’e Öğretelim
Lafı uzatmayalım ve kollarımızı sıvayalım. Bu rehberde, yerel bir klasördeki PDF dosyalarımızı tarayıp onlara soru sorabileceğimiz basit ama güçlü bir RAG asistanı kuracağız. Biz bu testte OpenAI’ın GPT-4o modelini kullanacağız ancak yazının sonunda tamamen ücretsiz alternatiflere de değineceğiz.
Gereksinimler ve Kurulum
İlk olarak bilgisayarımızda Python kurulu olmalı. Terminali açıp gerekli kütüphaneleri yükleyerek işe başlıyoruz:
pip install llama-index openai python-dotenv
Projenizin ana dizininde data adında bir klasör oluşturun ve içine sorgulamak istediğiniz PDF veya metin dosyalarını atın. Biz test etmek için bu klasöre hayali bir şirket yönetmeliği içeren sirket_politikasi.pdf dosyasını ekledik.
Python Kodu ile Veriyi İndeksleme
Şimdi app.py adında bir dosya oluşturalım ve aşağıdaki kodları yazalım:
import os
from dotenv import load_dotenv
from llama_index.core import SimpleDirectoryReader, VectorStoreIndex
# .env dosyasından API anahtarını yükle
load_dotenv()
os.environ["OPENAI_API_KEY"] = "Sizin_OpenAI_API_Anahtarınız"
def main():
print("Belgeler okunuyor...")
# 'data' klasöründeki tüm belgeleri oku
documents = SimpleDirectoryReader("data").load_data()
print("Veriler indeksleniyor (vektörleştiriliyor)...")
# Belgeleri vektör indeksine dönüştür
index = VectorStoreIndex.from_documents(documents)
# Sorgu motorunu başlat
query_engine = index.as_query_engine()
print("\nSistem hazır! Sorunuzu sorun (Çıkış için 'exit' yazın):")
while True:
user_query = input("\nSiz: ")
if user_query.lower() == 'exit':
break
response = query_engine.query(user_query)
print(f"Asistan: {response}")
if __name__ == "__main__":
main()
Gerçek Bir Test: “Poğaça Günü” Senaryosu
Sistemi test etmek için sirket_politikasi.pdf dosyamızın içine şu absürt cümleyi ekledik: “Şirketimizde her Cuma günü ‘Poğaça Günü’dür. Poğaçalar stajyerler tarafından fırından taze alınır, çay sponsoru ise her hafta değişen bir kıdemli yazılımcıdır.”
Sıradan bir LLM’e “Şirkette cuma günü ne yapılır?” diye sorarsanız muhtemelen genel iş kültüründen bahsedecektir. Bakalım LlamaIndex entegrasyonlu asistanımız ne cevap verdi:
[Görsel: Terminal ekranında “Şirkette cuma günü ne yapılır?” sorusuna verilen “Cuma günleri Poğaça Günü’dür…” cevabının ekran görüntüsü]
Harika! Model tamamen bizim yüklediğimiz dokümana sadık kalarak, hiçbir uydurma bilgiye kaçmadan tam hedefi vuran bir cevap verdi.
LlamaIndex’in Avantajları ve Dezavantajları
Her teknoloji gibi LlamaIndex de kusursuz değildir. Karar vermenizi kolaylaştırmak için hazırladığımız artı/eksi tablosuna göz atalım:
| Özellik / Durum | Artıları (+) | Eksileri (-) |
|---|---|---|
| Veri Bağlantıları (Connectors) | Notion, Slack, SQL, PDF dahil yüzlerce hazır veri kaynağı desteği. | Bazen çok spesifik veri tabanlarında özel kod yazmak gerekebilir. |
| Kullanım Kolaylığı | Birkaç satır kodla hazır RAG hattı kurulabiliyor. | İleri seviye özelleştirmelerde dökümantasyon kafa karıştırıcı olabilir. |
| Performans | Hızlı indeksleme ve doğru bağlam getirme (retrieval) yeteneği. | Büyük veri setlerinde bellek ve API maliyeti yönetimi zorlaşabilir. |
Maliyetler ve Tamamen Ücretsiz Alternatifler
LlamaIndex kütüphanesinin kendisi tamamen açık kaynaklı ve ücretsizdir. Ancak yukarıdaki örnekte kullandığımız OpenAI API’si sorgu başına (Token bazlı) ücretlendirilir.
Maliyeti sıfıra indirmek ister misiniz?
Eğer şirket verilerinizin kesinlikle dışarı çıkmamasını istiyorsanız ve bütçeniz sıfırsa, sistemi tamamen lokalinizde çalıştırabilirsiniz:
- LLM Alternatifi: Bilgisayarınıza Ollama kurun ve içine
Llama 3veyaMistralmodelini indirin. - LlamaIndex Entegrasyonu: Kod bloğundaki LLM kısmına OpenAI yerine
Ollama(model="llama3")sınıfını tanımlayın. - Sonuç: İnternet bağlantısı bile gerektirmeyen, tamamen şirket sunucularınızda çalışan %100 gizli ve ücretsiz bir kurumsal LLM asistanı!
Son Söz
LlamaIndex, şirketinizin bilgi birikimini yapay zekanın analiz gücüyle birleştirmek için biçilmiş kaftan. Bu kurulum sayesinde çalışanlarınız yüzlerce sayfalık raporları okumak yerine doğrudan “asistanına” sorabilir. Kurulumu deneyin, kendi PDF’lerinizle test edin ve sonuçları bizimle paylaşmayı unutmayın!