Pemuat, Pemotong, dan Penyimpanan Vektor
Gunakan DocumentLoaders untuk PDF/HTML, TextSplitters untuk pemotongan, dan VectorStores untuk pengambilan.
Pemuat, Pemotong, dan Penyimpanan Vektor adalah pelajaran AI Agents gratis di CoddyKit. Ini adalah pelajaran 2 dari 4. Kamu bisa membaca pelajaran lengkapnya di bawah secara gratis — lalu praktikkan langsung di browser dengan editor kode bawaan dan tutor AI 24/7. Ini adalah bagian dari jalur belajar AI Agents, dan progresmu tersinkronisasi di web dan aplikasi CoddyKit. Kursus AI Agents mencakup 4 pelajaran total.
Bagian dari pelajaran ini belum diterjemahkan dan ditampilkan dalam bahasa Inggris.
Tiga Pilar RAG di LangChain
- Pemuat Dokumen — membaca data mentah menjadi Documents
- Pemisah Teks — membagi Documents menjadi beberapa bagian
- Penyimpanan Vektor — menyematkan dan mengindeks bagian-bagian tersebut
Pemuat Dokumen
LangChain memiliki lebih dari 100 pemuat. Contoh:
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()Objek Dokumen
Setiap pemuat mengembalikan daftar Documents:
doc = pdf_docs[0]
print(doc.page_content) # the text
print(doc.metadata) # {'source': 'handbook.pdf', 'page': 1}Pemuat Umum
- PyPDFLoader, UnstructuredFileLoader — PDF
- WebBaseLoader, SitemapLoader — halaman web
- NotionLoader, GoogleDriveLoader — SaaS
- GitLoader — repositori kode
- Pemuat baris basis data SQL — baris basis data
Pemisah Teks
Ubah Documents menjadi bagian-bagian yang lebih kecil:
from langchain.text_splitter import RecursiveCharacterTextSplitter
splitter = RecursiveCharacterTextSplitter(
chunk_size=800,
chunk_overlap=100,
separators=['\n\n', '\n', '. ', ' ']
)
chunks = splitter.split_documents(pdf_docs)Pemisah Khusus
- Pemisah teks berdasarkan tajuk Markdown — membagi berdasarkan tajuk
- Pemisah teks karakter rekursif — memahami paragraf/kalimat
- Pemisah teks berdasarkan tajuk HTML — memahami HTML
- Khusus bahasa (Python, Markdown, LaTeX)
Pemisahan Berbasis Token
Gunakan tokenizer model untuk pemisahan yang presisi hingga ke token:
splitter = RecursiveCharacterTextSplitter.from_tiktoken_encoder(
encoding_name='cl100k_base',
chunk_size=400,
chunk_overlap=50
)Penyimpanan Vektor
Sematkan dan simpan bagian-bagian tersebut:
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])Penyimpanan Permanen
Chroma menyimpan data secara permanen ke disk jika Anda memberinya persist_directory. Untuk memuatnya kembali:
store = Chroma(persist_directory='./db', embedding_function=embeddings)Penyimpanan Vektor Lainnya
Antarmuka sama, bagian belakang berbeda:
from langchain_community.vectorstores import FAISS, Pinecone, Qdrant, Weaviate
store = FAISS.from_documents(chunks, embeddings)
store.save_local('./faiss_db')MultiVectorRetriever
Indeks bagian-bagian kecil, tetapi ambil induk yang besar:
from langchain.retrievers import MultiVectorRetriever
# Use the parent-child pattern automatically.Pengambil Berdasarkan Kueri Mandiri
Biarkan LLM menghasilkan filter metadata dari bahasa alami:
from langchain.retrievers.self_query.base import SelfQueryRetriever
# 'What did Alice say in 2023?' -> filter={author: 'Alice', year: 2023}Keluaran Pengambil
Apa yang dikembalikan pengambil LangChain?
Ringkasan
Pemuat + Pemisah + Penyimpanan Vektor = tumpukan RAG lengkap. Berikutnya: menyusunnya dengan LCEL menjadi rantai lengkap.
Pertanyaan yang Sering Diajukan
Apakah pelajaran “Pemuat, Pemotong, dan Penyimpanan Vektor” gratis?
Ya — teks lengkap “Pemuat, Pemotong, dan Penyimpanan Vektor” gratis dibaca di sini di web. Untuk praktiknya secara interaktif (editor kode bawaan dan tutor AI 24/7) dan buka sisa kursus AI Agents, upgrade ke CoddyKit PRO. Kursus AI Agents mencakup 4 pelajaran total.
Apa yang akan aku pelajari di “Pemuat, Pemotong, dan Penyimpanan Vektor”?
Gunakan DocumentLoaders untuk PDF/HTML, TextSplitters untuk pemotongan, dan VectorStores untuk pengambilan. Kamu berlatih AI Agents dengan kode praktik yang langsung kamu jalankan di browser, dan tutor AI 24/7 menjawab pertanyaanmu saat kamu mengerjakan pelajaran ini.
Apakah aku perlu pengalaman untuk memulai AI Agents?
Tidak diperlukan pengalaman sebelumnya. AI Agents di CoddyKit dirancang untuk pemula hingga pelajar tingkat lanjut, jadi kamu bisa memulai di sini atau dari awal dan belajar sesuai kecepatan kamu sendiri. Ini adalah pelajaran 2 dari 4.
Berapa lama pelajaran “Pemuat, Pemotong, dan Penyimpanan Vektor” memakan waktu?
Sebagian besar pelajaran CoddyKit memakan waktu sekitar 5–10 menit. Setiap pelajaran ringkas dan interaktif, jadi kamu membuat kemajuan stabil dan melanjutkan dari tempat kamu tinggalkan di web dan aplikasi.
Bisakah aku menulis dan menjalankan kode dalam pelajaran AI Agents ini?
Ya. Setiap pelajaran AI Agents menyertakan editor kode bawaan, jadi kamu menulis dan menjalankan kode nyata langsung di browser dan mendapatkan umpan balik AI instan — tidak diperlukan penyiapan lokal.
Semua pelajaran dalam kursus ini
- Arsitektur LangChain: Model, Prompt, Rantai
- Pemuat, Pemotong, dan Penyimpanan Vektor
- LCEL (Bahasa Ekspresi LangChain)
- Membangun Rantai RAG dari Awal hingga Akhir