
Büyük dil modelleri (LLM) genel bilgi konusunda çok başarılı olsa da, şirketinize özel verileri bilmez. RAG mimarisi bu sorunu çözer: modelinize kendi dokümanlarınızı "öğretmeden", arama sonuçlarını prompt'a ekleyerek bağlamlı yanıtlar üretirsiniz.
RAG, üç temel adımdan oluşur:
RAG, fine-tuning'den farklı olarak modeli değiştirmez. Sadece prompt'a ek bağlam ekler. Bu, maliyet ve güncelleme açısından çok daha avantajlıdır.
Tipik bir RAG pipeline'ı Python ile:
from langchain.embeddings import OpenAIEmbeddingsfrom langchain.vectorstores import Chromafrom langchain.chains import RetrievalQAfrom langchain.llms import ChatOpenAI# 1. Dokümanları vectorize etembeddings = OpenAIEmbeddings()vectorstore = Chroma.from_documents(documents, embeddings)# 2. Retriever oluşturretriever = vectorstore.as_retriever(search_kwargs={"k": 5})# 3. QA Chain oluşturqa_chain = RetrievalQA.from_chain_type(llm=ChatOpenAI(model="gpt-4"),retriever=retriever,return_source_documents=True)# 4. Soru sorresult = qa_chain.invoke({"query": "Şirketimizin iade politikası nedir?"})
RAG entegrasyonu sonrası ölçtüğümüz metrikler:
RAG mimarisi, LLM'leri şirketinize özel verilerle çalıştırmanın en pratik ve maliyet-etkin yoludur. Fine-tuning'e göre çok daha hızlı deploy edilir ve dokümanlar değiştiğinde sadece index'i güncellemek yeterlidir.