Membangun Sistem Tanya Jawab RAG dari Awal hingga Akhir
Rantai RetrievalQA, prompt khusus, atribusi sumber, mengevaluasi RAG dengan RAGAS.
Membangun Sistem Tanya Jawab RAG dari Awal hingga Akhir adalah pelajaran Learn AI with Python gratis di CoddyKit. Ini adalah pelajaran 4 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 Learn AI with Python, dan progresmu tersinkronisasi di web dan aplikasi CoddyKit. Kursus Learn AI with Python mencakup 4 pelajaran total.
Apa Itu RAG?
Pembuatan yang Diperkaya dengan Pengambilan membuat LLM berlandaskan data Anda sendiri. Saat kueri diajukan, Anda mengambil potongan yang relevan dari penyimpanan vektor dan menyisipkannya ke dalam instruksi, sehingga model menjawab berdasarkan fakta, bukan menebak.
Alur RAG
Setiap kueri RAG mengikuti empat langkah: (1) menyematkan pertanyaan, (2) mengambil potongan yang serupa, (3) memasukkannya ke dalam instruksi sebagai konteks, (4) LLM menghasilkan jawaban yang berlandaskan konteks tersebut.
Mengubah Penyimpanan Menjadi Pengambil
Ubah penyimpanan vektor menjadi pengambil dengan as_retriever. Kamus search_kwargs mengendalikan pengambilan, terutama k, yaitu jumlah potongan yang diambil untuk setiap pertanyaan.
retriever = db.as_retriever(
search_kwargs={"k": 4}
)Menyetel Opsi Pencarian
search_kwargs juga dapat menetapkan ambang skor atau opsi MMR. Mulailah dengan k=4; naikkan nilainya jika jawaban kekurangan konteks, atau turunkan untuk mengurangi biaya token dan gangguan.
retriever = db.as_retriever(
search_type="similarity_score_threshold",
search_kwargs={"k": 6, "score_threshold": 0.5}
)Rantai RetrievalQA
Rantai RetrievalQA menghubungkan pengambilan dan pembuatan jawaban. Bangun dengan from_chain_type, lalu teruskan llm dan retriever Anda. Kini satu panggilan dapat menjawab pertanyaan berdasarkan dokumen Anda.
from langchain.chains import RetrievalQA
from langchain_openai import ChatOpenAI
qa = RetrievalQA.from_chain_type(
llm=ChatOpenAI(model="gpt-4o"),
retriever=retriever
)Jenis Rantai: Cara Menggabungkan Konteks
chain_type mengatur cara potongan yang diambil dimasukkan ke dalam instruksi. "stuff" (bawaan) menempatkan semua potongan dalam satu instruksi, cara yang sederhana dan terbaik jika semuanya muat dalam jendela konteks. Jenis lain seperti "map_reduce" menangani banyak potongan berukuran besar.
qa = RetrievalQA.from_chain_type(
llm=llm,
chain_type="stuff",
retriever=retriever
)Mengajukan Pertanyaan
Jalankan rantai dengan invoke, lalu teruskan pertanyaan Anda di bawah kunci query. Rantai tersebut mengambil dokumen, membangun instruksi, dan mengembalikan jawaban yang berlandaskan konteks.
response = qa.invoke({"query": "What is the refund window?"})
print(response["result"])Mengembalikan Dokumen Sumber
Tetapkan return_source_documents=True untuk memperoleh potongan yang digunakan dalam jawaban. Dengan demikian, Anda dapat menyertakan rujukan dan memungkinkan pengguna memverifikasi asal setiap fakta, yang sangat penting untuk membangun kepercayaan.
qa = RetrievalQA.from_chain_type(
llm=llm,
retriever=retriever,
return_source_documents=True
)
resp = qa.invoke({"query": "Refund window?"})
for d in resp["source_documents"]:
print(d.metadata)Mengapa RAG Perlu Dievaluasi?
RAG dapat gagal dalam dua cara: pengambilan membawa potongan yang salah, atau pembuatan mengarang informasi meskipun potongannya baik. Anda memerlukan metrik untuk mengetahui bagian mana yang perlu diperbaiki. Menilai jawaban sekilas tidak dapat dilakukan pada skala besar.
Metrik RAGAS
RAGAS adalah pustaka yang menilai kualitas RAG. Metrik utamanya: faithfulness (jawaban didukung oleh konteks), answer_relevancy (jawaban menjawab pertanyaan), dan context_precision (potongan yang diambil relevan).
pip install ragas
from ragas.metrics import faithfulness, answer_relevancy, context_precisionMenjalankan Evaluasi
Buat kumpulan data yang berisi pertanyaan, jawaban yang dihasilkan, konteks yang diambil, dan jawaban acuan, lalu panggil evaluate. Skor tersebut memberi tahu apakah Anda perlu memperbaiki pembagian potongan, nilai k pada pengambilan, atau instruksi.
from ragas import evaluate
result = evaluate(
dataset,
metrics=[faithfulness, answer_relevancy, context_precision]
)
print(result)Pemeriksaan Singkat
Uji pemahaman Anda tentang RAG.
Ringkasan: RAG Menyeluruh
Anda membangun alur kerja RAG lengkap: db.as_retriever dengan search_kwargs, rantai RetrievalQA.from_chain_type menggunakan llm dan pengambil Anda, serta return_source_documents=True untuk menyediakan rujukan. Anda juga belajar mengukur kualitas dengan metrik RAGAS, seperti kesetiaan dan ketepatan konteks.
Pertanyaan yang Sering Diajukan
Apakah pelajaran “Membangun Sistem Tanya Jawab RAG dari Awal hingga Akhir” gratis?
Ya — teks lengkap “Membangun Sistem Tanya Jawab RAG dari Awal hingga Akhir” gratis dibaca di sini di web. Untuk praktiknya secara interaktif (editor kode bawaan dan tutor AI 24/7) dan buka sisa kursus Learn AI with Python, upgrade ke CoddyKit PRO. Kursus Learn AI with Python mencakup 4 pelajaran total.
Apa yang akan aku pelajari di “Membangun Sistem Tanya Jawab RAG dari Awal hingga Akhir”?
Rantai RetrievalQA, prompt khusus, atribusi sumber, mengevaluasi RAG dengan RAGAS. Kamu berlatih Learn AI with Python 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 Learn AI with Python?
Tidak diperlukan pengalaman sebelumnya. Learn AI with Python 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 4 dari 4.
Berapa lama pelajaran “Membangun Sistem Tanya Jawab RAG dari Awal hingga Akhir” 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 Learn AI with Python ini?
Ya. Setiap pelajaran Learn AI with Python 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 dan LCEL
- Memuat, Membagi, dan Membuat Embedding Dokumen
- Penyimpanan Vektor: Chroma dan FAISS
- Membangun Sistem Tanya Jawab RAG dari Awal hingga Akhir