Belge getirimi optimizasyonu

LangChain ile Retrieval Augmented Generation (RAG)

Meri Nova

Machine Learning Engineer

RAG’deki R’yi yerine koymak...

Yanıt üretmek için bir vektör veritabanından getirilen belgeler ve uygulamaya geri gönderilmesi.

LangChain ile Retrieval Augmented Generation (RAG)

Yoğun

Kümeleri, sıfır olmayan bileşenlere sahip tek bir vektör olarak kodlayın

Benzer terimlerin bir arada gruplanmış olduğu bir vektör uzayı: Large Language Model, AI ve Machine Learning.

  • Artılar: Anlamsal yakalama
  • Eksiler: Hesaplama açısından pahalı
LangChain ile Retrieval Augmented Generation (RAG)

Yoğun

Kümeleri, sıfır olmayan bileşenlere sahip tek bir vektör olarak kodlayın

Daha benzer terimlerin daha yakın gruplanmış olduğu bir vektör uzayında gömülü terimler.

  • Artılar: Anlamsal yakalama
  • Eksiler: Hesaplama açısından pahalı

Seyrek

Çoğunlukla sıfır bileşenlerle kelime eşleştirme kullanarak kodlayın

Belirli terimleri içeren belgeler; en çok terim içeren belgeler vurgulanmış.

  • Artılar: Kesin, açıklanabilir, nadir kelimeleri iyi işler
  • Eksiler: Genellenebilirlik
LangChain ile Retrieval Augmented Generation (RAG)

Seyrek getirim yöntemleri

TF-IDF: Belgeleri, belgeyi benzersiz kılan kelimelerle kodlar

Belirli terimleri içeren belgeler; en çok terim içeren belgeler vurgulanmış.

BM25: Yüksek frekanslı kelimelerin kodlamayı doygunlaştırmasını azaltır

LangChain ile Retrieval Augmented Generation (RAG)

BM25 getirimi

from langchain_community.retrievers import BM25Retriever

chunks = [ "Python was created by Guido van Rossum and released in 1991.", "Python is a popular language for machine learning (ML).", "The PyTorch library is a popular Python library for AI and ML." ]
bm25_retriever = BM25Retriever.from_texts(chunks, k=3)
LangChain ile Retrieval Augmented Generation (RAG)

BM25 getirimi

results = bm25_retriever.invoke("When was Python created?")
print("Most Relevant Document:")
print(results[0].page_content)
En İlgili Belge:
Python was created by Guido van Rossum and released in 1991.
  • Python was created by Guido van Rossum and released in 1991."
  • "Python is a popular language for machine learning (ML)."
  • "The PyTorch library is a popular Python library for AI/ML."
LangChain ile Retrieval Augmented Generation (RAG)

RAG içinde BM25

retriever = BM25Retriever.from_documents(
    documents=chunks, 
    k=5
)

chain = ({"context": retriever, "question": RunnablePassthrough()} | prompt | llm | StrOutputParser() )
1 https://www.datacamp.com/blog/what-is-retrieval-augmented-generation-rag
LangChain ile Retrieval Augmented Generation (RAG)

RAG içinde BM25

print(chain.invoke("How can LLM hallucination impact a RAG application?"))
RAG uygulaması konu dışı veya yanlış yanıtlar üretebilir.
LangChain ile Retrieval Augmented Generation (RAG)

Hadi pratik yapalım!

LangChain ile Retrieval Augmented Generation (RAG)

Preparing Video For Download...