Yükleyiciler, Bölücüler ve Vektör Depoları
PDF/HTML için DocumentLoaders, parçalama için TextSplitters ve getirme için VectorStores kullanın.
Yükleyiciler, Bölücüler ve Vektör Depoları, CoddyKit'te ücretsiz bir AI Agents dersidir. Bu, 4 dersinin 2. dersidir. Aşağıdan dersin tamamını ücretsiz okuyabilir, sonra tarayıcıda yerleşik kod editörü ve 7/24 yapay zeka koçu ile uygulamalı olarak pratik yapabilirsin. Bu, AI Agents öğrenme yolunun bir parçasıdır ve ilerlemeniz web ve CoddyKit uygulaması arasında senkronize olur. AI Agents kursu toplamda 4 dersten oluşur.
Bu dersin bazı bölümleri henüz çevrilmemiş olup İngilizce olarak gösterilmektedir.
LangChain'de RAG'nin Üç Temel Taşı
- Belge Yükleyicileri — ham verileri Documents nesnelerine okur
- Metin Bölücüler — Documents nesnelerini parçalara ayırır
- Vektör Depoları — parçaları gömer ve dizinler
Belge Yükleyicileri
LangChain'de 100'den fazla yükleyici bulunur. Örnekler:
from langchain_community.document_loaders import PyPDFLoader, WebBaseLoader, TextLoader
pdf_docs = PyPDFLoader('handbook.pdf').load()
web_docs = WebBaseLoader('https://example.com').load()
md_docs = TextLoader('README.md').load()Belge Nesnesi
Her yükleyici bir Documents listesi döndürür:
doc = pdf_docs[0]
print(doc.page_content) # the text
print(doc.metadata) # {'source': 'handbook.pdf', 'page': 1}Yaygın Yükleyiciler
- PyPDFLoader, UnstructuredFileLoader — PDF'ler
- WebBaseLoader, SitemapLoader — web sayfaları
- NotionLoader, GoogleDriveLoader — SaaS
- GitLoader — kod depoları
- SQL veritabanı yükleyicisi — veritabanı satırları
Metin Bölücüler
Documents nesnelerini daha küçük parçalara dönüştürün:
from langchain.text_splitter import RecursiveCharacterTextSplitter
splitter = RecursiveCharacterTextSplitter(
chunk_size=800,
chunk_overlap=100,
separators=['\n\n', '\n', '. ', ' ']
)
chunks = splitter.split_documents(pdf_docs)Uzmanlaşmış Bölücüler
- MarkdownHeaderTextSplitter — başlıklara göre böler
- RecursiveCharacterTextSplitter — paragraf ve cümleleri dikkate alır
- HTML başlık bölücüsü — HTML yapısını dikkate alır
- Dile özel (Python, Markdown, LaTeX)
Belirteç Odaklı Bölme
Belirteç düzeyinde hassas bölmeler için modelin belirteç oluşturucusunu kullanın:
splitter = RecursiveCharacterTextSplitter.from_tiktoken_encoder(
encoding_name='cl100k_base',
chunk_size=400,
chunk_overlap=50
)Vektör Depoları
Parçaları gömün ve depolayın:
from langchain_openai import OpenAIEmbeddings
from langchain_community.vectorstores import Chroma
embeddings = OpenAIEmbeddings(model='text-embedding-3-small')
store = Chroma.from_documents(
documents=chunks,
embedding=embeddings,
persist_directory='./db'
)Retrieval
retriever = store.as_retriever(search_kwargs={'k': 4})
results = retriever.invoke('What is our return policy?')
for d in results:
print(d.page_content[:200])Kalıcılık
persist_directory verirseniz Chroma diske kalıcı olarak kaydeder. Yeniden yüklemek için:
store = Chroma(persist_directory='./db', embedding_function=embeddings)Diğer Vektör Depoları
Aynı arayüz, farklı arka uç:
from langchain_community.vectorstores import FAISS, Pinecone, Qdrant, Weaviate
store = FAISS.from_documents(chunks, embeddings)
store.save_local('./faiss_db')MultiVectorRetriever
Küçük parçaları dizinleyin, ancak büyük üst parçaları getirin:
from langchain.retrievers import MultiVectorRetriever
# Use the parent-child pattern automatically.Öz Sorgulu Getiriciler
LLM'nin doğal dilden üst veri filtreleri oluşturmasına izin verin:
from langchain.retrievers.self_query.base import SelfQueryRetriever
# 'What did Alice say in 2023?' -> filter={author: 'Alice', year: 2023}Getirici Çıktısı
Bir LangChain getiricisi ne döndürür?
Özet
Yükleyiciler + Bölücüler + Vektör Depoları = eksiksiz bir RAG yığını. Sırada bunları LCEL ile birleştirerek eksiksiz bir zincir oluşturmak var.
Sıkça Sorulan Sorular
“Yükleyiciler, Bölücüler ve Vektör Depoları” dersi ücretsiz mi?
Evet — “Yükleyiciler, Bölücüler ve Vektör Depoları” dersin tüm metni burada web'de ücretsiz olarak okunabilir. Etkileşimli olarak pratik yapmak (yerleşik kod editörü ve 7/24 yapay zeka koçu) ve AI Agents kursunun geri kalanını açmak için CoddyKit PRO'ya yükselt. AI Agents kursu toplamda 4 dersten oluşur.
“Yükleyiciler, Bölücüler ve Vektör Depoları” dersinde ne öğreneceğim?
PDF/HTML için DocumentLoaders, parçalama için TextSplitters ve getirme için VectorStores kullanın. AI Agents ile uygulamalı kodu tarayıcıda doğrudan çalıştırarak pratik yaparsın ve 7/24 yapay zeka koçu dersi çalışırken sorularını yanıtlar.
AI Agents öğrenmeye başlamak için deneyim gerekli mi?
Önceden deneyim gerekmez. CoddyKit'te AI Agents, başlangıçtan ileri seviyeye kadar yapılandırıldığı için buradan başlayabilir veya başından başlayıp kendi hızında ilerleme yapabilirsin. Bu, 4 dersinin 2. dersidir.
“Yükleyiciler, Bölücüler ve Vektör Depoları” dersi ne kadar sürer?
Çoğu CoddyKit dersi yaklaşık 5–10 dakika sürer. Her biri kısa ve etkileşimli olduğu için sabit ilerleme yaparsın ve web ile uygulama arasında tam olarak bıraktığın yerden devam edebilirsin.
Bu AI Agents dersinde kod yazıp çalıştırabilir miyim?
Evet. Her AI Agents dersi yerleşik bir kod editörü içerir, bu sayede tarayıcıda gerçek kod yazıp çalıştırabilir ve anlık yapay zeka geri bildirimi alırsın — yerel kurulum gerekli değildir.
Bu kursun tüm dersleri
- LangChain Mimarisi: Modeller, İstemler, Zincirler
- Yükleyiciler, Bölücüler ve Vektör Depoları
- LCEL (LangChain İfade Dili)
- Baştan Sona RAG Zinciri Oluşturma