Sider.ai
  • Chat
  • Wisebase
  • Peralatan
  • Perpanjangan
  • Klien
  • Harga
Unduh sekarang
Gabung

Belajar lebih cepat, berpikir lebih dalam, dan tumbuh lebih cerdas dengan Sider.

Produk
Aplikasi
  • Ekstensi
  • iOS
  • Android
  • Mac OS
  • Windows
Wisebase
  • Wisebase
  • Deep Research
  • Scholar Research
  • Math Solver
  • Rec NoteNew
  • Audio To Text
  • Gamified Learning
  • Interactive Reading
  • ChatPDF
Alat
  • Pembuat WebNew
  • AI SlidesNew
  • Penulis Esai AI
  • Nano Banana Pro
  • Nano Banana Infographic
  • Generator Gambar AI
  • Generator Otak Italia
  • Penghapus Latar Belakang
  • Pengubah Latar Belakang
  • Penghapus Foto
  • Penghapus Teks
  • Inpaint
  • Peningkat Gambar
  • Buat
  • Penerjemah AI
  • Penerjemah Gambar
  • Penerjemah PDF
Sider
  • Hubungi Kami
  • Pusat Bantuan
  • Unduh
  • Harga
  • Rencana Pendidikan
  • Apa yang Baru
  • Blog
  • Komunitas
  • Mitra
  • Afiliasi
  • Undang
©2026 Semua Hak Dilindungi
Syarat Penggunaan
Kebijakan Privasi
  • Halaman Beranda
  • Blog
  • Alat AI
  • Cara Menggunakan LlamaIndex: Panduan Praktis dari Nol hingga Produksi

Cara Menggunakan LlamaIndex: Panduan Praktis dari Nol hingga Produksi

Diperbarui pada 23 Sep 2025

10 menit


Cara Menggunakan LlamaIndex: Panduan Praktis dari Nol hingga Produksi

Jika Anda pernah mencoba membuat aplikasi retrieval-augmented generation (RAG) dan berpikir, “Mengapa menghubungkan embeddings, vector store, dan prompts begitu rumit?”, Anda tidak sendirian. hadir untuk membuat pipeline tersebut cepat, masuk akal, dan siap produksi. Dalam panduan praktis dan berorientasi solusi ini, kita akan membahas cara menggunakan secara menyeluruh—pemasukan data, pengindeksan, kueri, evaluasi, dan deployment—sehingga Anda dapat mengirimkan sesuatu yang andal tanpa tersesat dalam kode perantara.
Kita akan menggunakan struktur berbasis pertanyaan dengan langkah-langkah progresif, cuplikan kode yang dapat dijalankan, dan tips dunia nyata. Baik Anda membuat prototipe chatbot untuk dokumen internal atau menerapkan asisten pengetahuan untuk pelanggan, mempelajari cara menggunakan secara efektif akan menghemat waktu Anda.
: adalah kerangka kerja yang membantu Anda menghubungkan data Anda ke large language model dengan alat pengindeksan, pengambilan, dan orkestrasi—ideal untuk RAG, agen, dan output terstruktur.

Apa Itu LlamaIndex dan Mengapa Menggunakannya?

  • LlamaIndex adalah kerangka kerja data untuk aplikasi LLM. Ia menyediakan building block untuk:
  • Pemasukan (Ingestion): Memuat file, halaman web, database, dan API.
  • Chunking & Pengindeksan (Indexing): Mengubah konten mentah menjadi struktur yang dapat di-query (indeks vektor, kata kunci, grafik).
  • Pengambilan (Retrieval): Mengambil konteks dengan strategi fleksibel (BM25, hybrid, reranking).
  • Query Engine & Agen: Menggabungkan pengambilan, alat, dan prompts menjadi pengalaman QA yang koheren.
  • Evaluasi & Pemantauan (Monitoring): Menilai kualitas pengambilan dan relevansi jawaban.
  • Kapan menggunakan LlamaIndex:
  • Anda menginginkan tumpukan RAG yang kuat tanpa menciptakan kembali chunking, embeddings, dan pengambilan.
  • Anda perlu menggabungkan beberapa sumber data (PDF + Notion + SQL).
  • Anda ingin bereksperimen dengan pengambilan hybrid, reranking, atau output terstruktur.
  • LlamaIndex saat mempelajari cara menggunakan LlamaIndex:
  • Data → Nodes → Index → Retriever → Query Engine → App

Mulai Cepat: Loop RAG Minimal

Ini adalah jalur tercepat menuju prototipe yang berfungsi. Kita akan memuat dokumen, membangun indeks vektor, dan mengajukan pertanyaan.
# 1) Instal
# pip install llama-index llama-index-embeddings-openai llama-index-llms-openai
import os
from llama_index.core import VectorStoreIndex, SimpleDirectoryReader
from llama_index.embeddings.openai import OpenAIEmbedding
from llama_index.llms.openai import OpenAI
# 2) Konfigurasi model + embeddings Anda
os.environ["OPENAI_API_KEY"] = "YOUR_KEY" # atau gunakan penyedia LLM/embedding yang didukung
llm = OpenAI(model="gpt-4o-mini")
embed_model = OpenAIEmbedding(model="text-embedding-3-small")
# 3) Muat dokumen (mis., ./data/*.pdf, .md, .txt)
docs = SimpleDirectoryReader("./data").load_data
# 4) Bangun indeks
index = VectorStoreIndex.from_documents(docs, embed_model=embed_model)
# 5) Buat query engine dan ajukan pertanyaan
query_engine = index.as_query_engine(llm=llm)
response = query_engine.query("What are the key security practices mentioned in the docs?")
print(response)
Itulah intinya. Dari sini, aplikasi nyata menambahkan chunking yang lebih baik, reranking, prompts terstruktur, dan observability.

Pemasukan (Ingestion): Bawa Data Anda Sendiri (BYOD) dengan Cara yang Benar

Saat Anda memutuskan cara menggunakan untuk data nyata, pilih loader yang sesuai dengan sumber Anda dan pertahankan struktur.
  • Loader umum:
  • File: SimpleDirectoryReader, pembaca PDF/HTML/Markdown
  • Web: BeautifulSoupWebReader, pembaca sitemap
  • SaaS: Notion, Confluence, Slack, Google Drive (melalui konektor)
  • Database: SQL dan DB vektor (Pinecone, Weaviate, Chroma, Elasticsearch)
  • Tip: Normalisasikan metadata (judul, penulis, URL, created_at). Metadata yang baik sangat meningkatkan reranking dan filtering di kemudian hari.
from llama_index.core import SimpleDirectoryReader
from llama_index.readers.web import SimpleWebPageReader
file_docs = SimpleDirectoryReader("./policies").load_data
web_docs = SimpleWebPageReader(html_to_text=True).load_data
all_docs = file_docs + web_docs

Chunking dan Node Parsers: Sampah Masuk, Sampah Keluar

Melakukan chunking dengan benar adalah salah satu langkah terpenting saat mempelajari cara menggunakan secara efektif.
  • Mengapa chunking penting: Terlalu besar → token bloat dan pengambilan yang tidak relevan. Terlalu kecil → fragmentasi konteks.
  • Default: Wajar untuk banyak kasus, tetapi sesuaikan untuk jenis konten Anda.
  • Heuristik:
  • Dokumen teknis: Chunk 512–1024 token dengan overlap 10–20%.
  • FAQ: Chunk lebih kecil (256–512) agar pasangan Q/A tetap utuh.
  • Hukum/Kebijakan: Chunk lebih besar (1024–1536) untuk mempertahankan definisi + klausa.
from llama_index.core.node_parser import SentenceSplitter
from llama_index.core import Document
parser = SentenceSplitter(chunk_size=800, chunk_overlap=100)
nodes = []
for d in all_docs:
nodes.extend(parser.get_nodes_from_documents([Document(text=d.text, metadata=d.metadata)]))

Strategi Indeks: Vektor, Kata Kunci, atau Hybrid?

Memilih indeks yang tepat sangat penting. Kabar baiknya: memungkinkan Anda menggabungkannya.
  • Indeks Vektor: Bagus untuk pencarian semantik. Terbaik untuk “jelaskan X” atau kueri fuzzy.
  • Kata Kunci (BM25): Kuat untuk istilah yang tepat, ID, kode kesalahan, log.
  • Hybrid: Gabungkan keduanya; rerank kandidat teratas dengan LLM atau cross‑encoder.
from llama_index.core import VectorStoreIndex, SummaryIndex
from llama_index.core.retrievers import BM25Retriever
from llama_index.core.query_engine import RetrieverQueryEngine
# Indeks vektor dari nodes yang telah di-parse sebelumnya
v_index = VectorStoreIndex(nodes)
# BM25 keyword retriever
bm25_retriever = BM25Retriever.from_defaults(nodes=nodes, similarity_top_k=6)
# Hybrid: gabungkan kandidat, lalu rerank
from llama_index.core.retrievers import RouterRetriever
from llama_index.retrievers.merge import MergerRetriever
v_retriever = v_index.as_retriever(similarity_top_k=6)
hybrid = MergerRetriever(retrievers=[v_retriever, bm25_retriever], top_k=8)
query_engine = RetrieverQueryEngine.from_args(retriever=hybrid)

Reranking dan Filter: Tingkatkan Presisi Tanpa Membayar Lebih

Reranking meningkatkan kualitas jawaban dengan menyusun ulang chunk yang diambil sesuai dengan relevansi.
  • Kapan melakukan rerank: Jika pengguna melaporkan kutipan di luar topik atau konteks yang panjang dan berlebihan.
  • Pendekatan:
  • Cross‑encoders (pencarian embedding bi‑encoder → rerank cross‑encoder)
  • Reranking berbasis LLM (lebih mahal, terkadang lebih pintar pada teks bernuansa)
  • Filter metadata (mis., source == 'handbook', created_at > 2024-01-01)
from llama_index.postprocessor.flag_embedding_reranker import FlagEmbeddingReranker
from llama_index.core.query_engine import RetrieverQueryEngine
reranker = FlagEmbeddingReranker(top_n=5, model="BAAI/bge-reranker-base")
query_engine = v_index.as_query_engine(
similarity_top_k=12,
node_postprocessors=[reranker]
)

Prompting dan Query Engine: Dari Pencarian ke Jawaban

Query engine adalah tempat pengambilan bertemu dengan pembuatan. Untuk menguasai cara menggunakan dalam produksi, rancang prompts dan sintesis respons dengan hati-hati.
  • Sintesis jawaban strategi:
  • “Stuff” sederhana (gabungkan) untuk konteks kecil
  • Tree atau map‑reduce untuk konteks yang lebih panjang
  • Mode kutipan untuk menampilkan sumber
from llama_index.core.response_synthesizers import get_response_synthesizer
from llama_index.core import ServiceContext
synth = get_response_synthesizer(response_mode="tree_summarize")
query_engine = v_index.as_query_engine(response_synthesizer=synth)
ans = query_engine.query("Summarize the onboarding steps and cite sources.")
print(ans)
  • Prompts khusus: Sesuaikan nada, output terstruktur, atau guardrails.
from llama_index.core.prompts import PromptTemplate
qa_tmpl = PromptTemplate(
"""
Anda adalah asisten ringkas yang mengutamakan bukti. Gunakan hanya konteks yang disediakan.
Jika tidak yakin, katakan Anda tidak tahu. Kembalikan JSON dengan kunci: answer, sources.
Pertanyaan: {query_str}
Konteks: {context_str}
"""
)
query_engine = v_index.as_query_engine(text_qa_template=qa_tmpl)

Agen dan Alat: Saat Pengambilan Tidak Cukup

Terkadang jawaban memerlukan tindakan: menjalankan SQL, memanggil API, atau menjelajah. Agen mengoordinasikan alat dan penalaran dengan pipeline pengambilan Anda.
  • Kasus penggunaan: Dasbor KPI (alat SQL), bot dukungan (API pencarian tiket), agen riset (web + RAG).
from llama_index.core.agent import ReActAgent
from llama_index.tools.sql import SQLQueryEngineTool
from sqlalchemy import create_engine
engine = create_engine("sqlite:///analytics.db")
sql_tool = SQLQueryEngineTool.from_engine(engine)
agent = ReActAgent.from_tools([sql_tool], llm=llm, verbose=True)
agent.chat("What was monthly churn in Q2 2025? If needed, query the DB.")

Evaluasi: Jangan Kirim Secara Buta

Mempelajari cara menggunakan secara bertanggung jawab berarti memvalidasi pengambilan dan jawaban sebelum peluncuran.
  • Eval offline: Nilai recall/presisi pengambilan pada set berlabel.
  • Eval online: Catat prompts pengguna, ukur kepuasan, tingkat deflection, dan halusinasi.
  • LlamaIndex: LlamaIndex menyediakan helper evaluasi untuk faithfulness dan relevansi jawaban.
from llama_index.core.evaluation import FaithfulnessEvaluator, RelevancyEvaluator
faith = FaithfulnessEvaluator(llm=llm)
rel = RelevancyEvaluator(llm=llm)
pred = query_engine.query("List SOC 2 control families in our policy.")
print("faithful?", faith.evaluate_response(pred))
print("relevant?", rel.evaluate_response(pred))
  • Bar praktis: Untuk asisten internal, targetkan peringkat >80% “berguna” pada kueri teratas sebelum peluncuran luas.

Persistensi dan Vector Store: Buat Skala

Indeks yang dibangun dalam memori tidak akan cukup untuk beban kerja nyata. Pertahankan ke DB vektor dan aktifkan pembaruan inkremental.
  • Backend populer: Pinecone, Weaviate, Chroma, Elasticsearch/OpenSearch, Qdrant.
  • Tip: Gunakan namespace per tenant atau departemen; pertahankan metadata yang kaya.
# Contoh: Chroma
# pip install chromadb llama-index-vector-stores-chroma
from llama_index.vector_stores.chroma import ChromaVectorStore
from llama_index.core import StorageContext
import chromadb
chroma_client = chromadb.PersistentClient(path="./chroma_store")
collection = chroma_client.get_or_create_collection("company_knowledge")
vector_store = ChromaVectorStore(chroma_collection=collection)
storage_context = StorageContext.from_defaults(vector_store=vector_store)
index = VectorStoreIndex.from_documents(all_docs, storage_context=storage_context)

Keamanan dan Tata Kelola: Bagian yang Dilupakan Semua Orang

  • Penanganan PII: Redaksi atau hash field sensitif selama pemasukan.
  • Kontrol akses: Filter berdasarkan peran pengguna dengan batasan metadata.
  • Kesegaran konten: Jadwalkan pemasukan ulang; tandai versi.
  • Keamanan: Tambahkan kebijakan penolakan dan batasan hanya sumber dalam prompts.
# Contoh: filtering berbasis metadata pada waktu kueri
retriever = index.as_retriever(similarity_top_k=8)
retriever.metadata_filters = {"department": ["legal", "security"], "published": [True]}

Dari Prototipe ke Produksi: Pola Deployment

  • Pola server: Ekspos endpoint /query; jaga indeks tetap hangat dalam memori.
  • Serverless gotcha: Cold start + model besar dapat merusak latensi; pertimbangkan managed inference.
  • Caching: Cache embeddings dan hasil kueri yang sering; aktifkan pembaruan parsial.
  • Observability: Catat nodes yang diambil, penggunaan token, panjang jawaban, dan umpan balik pengguna.
# Pembungkus FastAPI minimal
# pip install fastapi uvicorn
from fastapi import FastAPI
app = FastAPI
qe = index.as_query_engine(llm=llm)
@app.post("/query")
async def query(payload: dict):
q = payload.get("q", "")
resp = qe.query(q)
return {"answer": str(resp), "sources": [s.node.metadata for s in resp.source_nodes]}

Blueprint Dunia Nyata: Pilih Jalur Anda

  1. Asisten Kebijakan Internal
  • Indeks: Hybrid (BM25 + Vektor) dengan reranking
  • Guardrails: Mode hanya sumber; fallback “Saya tidak tahu”
  • KPI: Tingkat resolusi untuk pertanyaan kebijakan
  1. Copilot Dukungan Pelanggan
  • Indeks: Dokumen produk + catatan rilis + tiket
  • Agen: Alat API untuk memeriksa status pesanan/tiket
  • KPI: Resolusi kontak pertama, deflection, CSAT
  1. Analis Riset
  • Indeks: Web + PDF + catatan; deduplikasi yang kuat
  • Rerank: Cross‑encoder; sintesis: map‑reduce
  • KPI: Waktu untuk mendapatkan insight; akurasi kutipan
  1. QA Data untuk BI
  • Alat: Mesin SQL + RAG pada definisi metrik
  • Tata Kelola: Kebijakan tingkat baris; audit kueri
  • KPI: Kebenaran vs. ground truth

Biaya dan Latensi: Jaga Agar Tetap Cepat (dan Murah)

  • Embeddings: Batch jika memungkinkan; gunakan model yang lebih kecil untuk recall, rerank secara selektif.
  • Ukuran konteks: Targetkan 1–2k token dari chunk yang paling relevan.
  • Caching: Cache pengambilan top‑K untuk kueri panas; memoize panggilan LLM dengan prompts yang di-hash.
  • Paralelisme: Fan‑out pengambilan → fan‑in rerank untuk mengurangi latensi ekor.

Kesalahan Umum Saat Mempelajari Cara Menggunakan LlamaIndex

  • Over‑chunking, yang mengarah pada pengambilan yang dangkal dan bising
  • Tidak ada filter metadata, menyebabkan sumber yang tidak relevan menyelinap masuk
  • Mengandalkan satu jenis indeks untuk semua konten
  • Melewatkan evaluasi; pengiriman tanpa standar kualitas
  • Membiarkan indeks menjadi basi; tidak ada refresh terjadwal

Ngomong-ngomong: Mempercepat Alur Kerja Anda di Editor

Saat Anda melakukan iterasi pada prompts, chunker, dan pengaturan pengambilan, perlu dicatat bahwa sidebar pengkodean dan riset AI seperti Sider.ai dapat mempercepat loop. Anda dapat menyimpan cuplikan kode, prompts, dan catatan evaluasi di dekat Anda, menghasilkan diff perubahan prompt, dan dengan cepat menguji variasi tanpa meninggalkan browser Anda. Ini sangat berguna saat Anda menyesuaikan cara menggunakan di berbagai strategi pengambilan.

Daftar Periksa Langkah demi Langkah: Dari Nol ke Produksi

  • Masukkan sumber dan normalisasikan metadata
  • Sesuaikan ukuran chunk berdasarkan jenis konten
  • Bangun indeks vektor + BM25; aktifkan pengambilan hybrid
  • Tambahkan reranking dan filter metadata
  • Sesuaikan prompts; aktifkan kutipan dan kebijakan penolakan
  • Evaluasi faithfulness dan relevansi pada set pengujian
  • Pertahankan ke vector store; aktifkan pembaruan inkremental
  • Tambahkan observability, caching, dan filter RBAC
  • Bungkus dalam API dan tetapkan SLA; dokumentasikan mode kegagalan

Poin-Poin Penting

  • Jika Anda menginginkan aplikasi RAG yang kuat, mempelajari cara menggunakan akan menghemat waktu rekayasa perantara selama berminggu-minggu.
  • Mulai sederhana, lalu lapisi pengambilan hybrid, reranking, dan prompts terstruktur.
  • Evaluasi sebelum Anda melakukan penskalaan; pertahankan indeks dan pantau kualitas dalam produksi.
  • Rancang untuk tata kelola sejak hari pertama—keamanan bukanlah tambahan.

Langkah Selanjutnya

  • Buat prototipe mulai cepat pada set dokumen kecil.
  • Bereksperimen dengan pengambilan hybrid dan reranker.
  • Tambahkan evaluasi dan kutipan; lacak metrik kualitas.
  • Pindah ke vector store persisten dan deploy API.

FAQ

Q1:Untuk apa LlamaIndex digunakan dalam aplikasi RAG? LlamaIndex membantu Anda menghubungkan data Anda ke LLM dengan komponen pemasukan, pengindeksan, dan pengambilan. Ini menyederhanakan pembuatan sistem RAG dengan menangani chunking, indeks vektor/kata kunci, dan orkestrasi kueri.
Q2:Bagaimana cara memilih jenis indeks yang tepat di LlamaIndex? Gunakan indeks vektor untuk kueri semantik, BM25 untuk kecocokan persis seperti ID atau kode, dan pendekatan hybrid untuk recall dan presisi keseluruhan terbaik. Banyak tim menggabungkan keduanya dan menambahkan reranking untuk hasil top‑K.
Q3: Bagaimana cara meningkatkan akurasi saat menggunakan LlamaIndex? Sesuaikan ukuran chunk, sertakan metadata yang kaya, aktifkan pengambilan hibrida, dan tambahkan reranker. Juga, implementasikan evaluasi untuk keakuratan dan relevansi, dan gunakan mode sitasi untuk menampilkan sumber.
Q4: Bisakah LlamaIndex bekerja dengan database vektor yang sudah ada? Ya. LlamaIndex terintegrasi dengan penyimpanan vektor populer seperti Pinecone, Weaviate, Chroma, Qdrant, dan Elasticsearch. Pertahankan indeks untuk skalabilitas dan pembaruan inkremental.
Q5: Bagaimana cara menerapkan aplikasi LlamaIndex ke produksi? Bungkus mesin kueri Anda dalam API (misalnya, FastAPI), simpan data dalam penyimpanan vektor, tambahkan caching dan observabilitas, dan evaluasi kualitas secara berkelanjutan. Terapkan filter metadata dan kontrol akses untuk keamanan.

Artikel Terbaru
Cara Menguasai ChatPDF: Mendapatkan Wawasan Lebih Cepat dari Dokumen Padat

Cara Menguasai ChatPDF: Mendapatkan Wawasan Lebih Cepat dari Dokumen Padat

Alternatif Terbaik X Auto-Translation untuk Dokumen Cepat dan Akurat

Alternatif Terbaik X Auto-Translation untuk Dokumen Cepat dan Akurat

Terjemahan AI Samsung Tidak Tersedia di Iran? Solusi Praktis

Terjemahan AI Samsung Tidak Tersedia di Iran? Solusi Praktis

Alat Terjemahan Persia: Panduan Praktis untuk Pekerjaan yang Lebih Cepat dan Akurat

Alat Terjemahan Persia: Panduan Praktis untuk Pekerjaan yang Lebih Cepat dan Akurat

Alternatif Terbaik Grok untuk Riset Mendalam dengan Referensi

Alternatif Terbaik Grok untuk Riset Mendalam dengan Referensi

15 Fitur Terbaik dari AI Image Generator yang Benar-Benar Akan Anda Gunakan

15 Fitur Terbaik dari AI Image Generator yang Benar-Benar Akan Anda Gunakan