Tugas P-10: RAG Part 1 (Lab 1-3)
This commit is contained in:
@@ -0,0 +1,33 @@
|
||||
"""Lab 2 - Jalankan 7 pertanyaan sekaligus (5 biasa + 2 parafrase) dan simpan hasilnya.
|
||||
|
||||
Pakai: python lab2_tanya.py (koleksi pedoman_1000)
|
||||
python lab2_tanya.py 500 (koleksi pedoman_500)
|
||||
Hasil: hasil_lab2.txt. Isi sendiri baris 'Relevan?' setelah membaca chunk teratas.
|
||||
"""
|
||||
import sys
|
||||
from umum import ambil_embedding, buka_klien, ambil_koleksi, nama_koleksi
|
||||
|
||||
PERTANYAAN = [
|
||||
("biasa", "Apa syarat untuk dapat mengambil skripsi?"),
|
||||
("biasa", "Berapa lama peminjaman perangkat keras laboratorium?"),
|
||||
("biasa", "Berapa persen kehadiran minimal agar boleh ikut ujian akhir?"),
|
||||
("biasa", "Apa format huruf dan spasi penulisan skripsi?"),
|
||||
("biasa", "Bagaimana prosedur ujian susulan?"),
|
||||
("parafrase", "Bolehkah saya berhenti kuliah sementara waktu?"),
|
||||
("parafrase", "Bagaimana kalau saya dapat surel penipuan yang meminta password?"),
|
||||
]
|
||||
|
||||
ukuran = int(sys.argv[1]) if len(sys.argv) > 1 else 1000
|
||||
koleksi = ambil_koleksi(buka_klien(), nama_koleksi(ukuran), ambil_embedding())
|
||||
baris = [f"Koleksi: {koleksi.name} ({koleksi.count()} chunk)\n"]
|
||||
for jenis, q in PERTANYAAN:
|
||||
baris.append(f"[{jenis}] {q}")
|
||||
hasil = koleksi.query(query_texts=[q], n_results=3)
|
||||
for r, (doc, meta, jarak) in enumerate(zip(hasil["documents"][0], hasil["metadatas"][0], hasil["distances"][0]), 1):
|
||||
baris.append(f" #{r} {meta['sumber']} hal {meta['halaman']} chunk {meta['chunk']} jarak={jarak:.3f}")
|
||||
baris.append(f" {doc[:250]} ...")
|
||||
baris.append(" Relevan? (isi: ya/tidak, chunk teratas): ____\n")
|
||||
teks = "\n".join(baris)
|
||||
print(teks)
|
||||
open("hasil_lab2.txt", "w", encoding="utf-8").write(teks)
|
||||
print("Disimpan ke hasil_lab2.txt")
|
||||
Reference in New Issue
Block a user