From 52e042838f741d31f315ce330f82519b2a382224 Mon Sep 17 00:00:00 2001 From: alex Date: Mon, 2 Nov 2026 12:01:19 +0700 Subject: [PATCH] Update project --- chroma_db/run_20261102_111104/chroma.sqlite3 | Bin 0 -> 212992 bytes .../data_level0.bin | Bin 0 -> 167600 bytes .../header.bin | Bin 0 -> 100 bytes .../length.bin | Bin 0 -> 400 bytes .../link_lists.bin | 0 .../data_level0.bin | Bin 0 -> 167600 bytes .../header.bin | Bin 0 -> 100 bytes .../length.bin | Bin 0 -> 400 bytes .../link_lists.bin | 0 .../data_level0.bin | Bin 0 -> 167600 bytes .../header.bin | Bin 0 -> 100 bytes .../length.bin | Bin 0 -> 400 bytes .../link_lists.bin | 0 chroma_db/run_20261102_111133/chroma.sqlite3 | Bin 0 -> 237568 bytes dokumen/akademik.pdf | 74 +++++++ dokumen/kemahasiswaan.pdf | 74 +++++++ dokumen/keuangan.pdf | 74 +++++++ lab_p10.py | 187 ++++++++++++++++++ 18 files changed, 409 insertions(+) create mode 100644 chroma_db/run_20261102_111104/chroma.sqlite3 create mode 100644 chroma_db/run_20261102_111104/e9cea4f3-de01-45f4-9803-5e35fc08c596/data_level0.bin create mode 100644 chroma_db/run_20261102_111104/e9cea4f3-de01-45f4-9803-5e35fc08c596/header.bin create mode 100644 chroma_db/run_20261102_111104/e9cea4f3-de01-45f4-9803-5e35fc08c596/length.bin create mode 100644 chroma_db/run_20261102_111104/e9cea4f3-de01-45f4-9803-5e35fc08c596/link_lists.bin create mode 100644 chroma_db/run_20261102_111133/7992d001-d7f9-4176-b985-e722661225fa/data_level0.bin create mode 100644 chroma_db/run_20261102_111133/7992d001-d7f9-4176-b985-e722661225fa/header.bin create mode 100644 chroma_db/run_20261102_111133/7992d001-d7f9-4176-b985-e722661225fa/length.bin create mode 100644 chroma_db/run_20261102_111133/7992d001-d7f9-4176-b985-e722661225fa/link_lists.bin create mode 100644 chroma_db/run_20261102_111133/97070c02-5683-40e3-9349-4bbefa120438/data_level0.bin create mode 100644 chroma_db/run_20261102_111133/97070c02-5683-40e3-9349-4bbefa120438/header.bin create mode 100644 chroma_db/run_20261102_111133/97070c02-5683-40e3-9349-4bbefa120438/length.bin create mode 100644 chroma_db/run_20261102_111133/97070c02-5683-40e3-9349-4bbefa120438/link_lists.bin create mode 100644 chroma_db/run_20261102_111133/chroma.sqlite3 create mode 100644 dokumen/akademik.pdf create mode 100644 dokumen/kemahasiswaan.pdf create mode 100644 dokumen/keuangan.pdf create mode 100644 lab_p10.py diff --git a/chroma_db/run_20261102_111104/chroma.sqlite3 b/chroma_db/run_20261102_111104/chroma.sqlite3 new file mode 100644 index 0000000000000000000000000000000000000000..290ef521f78b75ba295a772395fdb15ad7f2680e GIT binary patch literal 212992 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 ZFkrxd0RsjM7%*VKfB^#r3>Yx*JTQ*V00961 literal 0 HcmV?d00001 diff --git a/chroma_db/run_20261102_111104/e9cea4f3-de01-45f4-9803-5e35fc08c596/header.bin b/chroma_db/run_20261102_111104/e9cea4f3-de01-45f4-9803-5e35fc08c596/header.bin new file mode 100644 index 0000000000000000000000000000000000000000..bb54792626c8e16cb8f8a2b989bd1998268ad65c GIT binary patch literal 100 rcmZQ%K!6kk6U^#ig9x<1XsG;uC=h`16`(YX|F20q)m`+uJ25_6ae5rnFii~TOotA#twGkl>7>bfOaKUbT{#kjO}s4ct$IlWraXnt+XW# zJO!fIj*bo*dMYX&fCiR3b{r>GveDLjwq(!Dy>rf)?;QKdA3yy2`_|Uhlk@LqFQt=9 zuYX?qZ0ptD`oeD?J^J>W*PlN4bz@)n@voo%{wnQzxZL~f{M8Me^j>}*6(PJk3~znd z4c(nE{5*7f?Oqrjgb#+>Uu>^-?hV3TuiG9B_6OmpNDEDXPAHGJ)4i)rose!UQmCEK z9Wm>N~&?3 zHj(n8p2obrN^>nruXAHdy6dGEYstsiNgUNfkK_Ds(T;r5G@{67 zc@d{!uOAks2_cqws7|YNF_y~}v@IB&L0PV({s z__?0_-Sv=djClX;_0o%ZewwE?uByA%vU7Xr8!Q*G!~5YZj$)drDu$&@Skf-%eUvA$ z!>1jOcY7uQ!aO?7qpkbYT8J}y|+h0${z3s5Q{=;-cfB*pk z1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs z0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZ zfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkL{MuAthzWe3t#}C_2A8c;f|MREs4`1HA z>YM-p0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF z5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk z1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs z0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZ zfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&U zAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C7 z2oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N z0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+ z009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBly zK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF z5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk W1PBlyK!5-N0t5&UAVA>%F7O{N^mLy9 literal 0 HcmV?d00001 diff --git a/chroma_db/run_20261102_111133/7992d001-d7f9-4176-b985-e722661225fa/header.bin b/chroma_db/run_20261102_111133/7992d001-d7f9-4176-b985-e722661225fa/header.bin new file mode 100644 index 0000000000000000000000000000000000000000..bb54792626c8e16cb8f8a2b989bd1998268ad65c GIT binary patch literal 100 rcmZQ%K!6kk6U^#ig9x<1XsG;uC=h`16`(YX|F20q)m`+uJ4s>^f`U<7z8J?re^o9{x@)=HFYLUI*bgz)dib9cfz*J}J{%AjO zMXZ)%?0^U|IAxBU3n%J1m6~d~-%j!kpiWm#nM<9ThiBs*=*TH9=-FgqV-A(rc+L4t4 literal 0 HcmV?d00001 diff --git a/chroma_db/run_20261102_111133/7992d001-d7f9-4176-b985-e722661225fa/link_lists.bin b/chroma_db/run_20261102_111133/7992d001-d7f9-4176-b985-e722661225fa/link_lists.bin new file mode 100644 index 0000000..e69de29 diff --git a/chroma_db/run_20261102_111133/97070c02-5683-40e3-9349-4bbefa120438/data_level0.bin b/chroma_db/run_20261102_111133/97070c02-5683-40e3-9349-4bbefa120438/data_level0.bin new file mode 100644 index 0000000000000000000000000000000000000000..5efb1b9f398d64303b911a57992cc0b9721a21dc GIT binary patch literal 167600 zcmeIuF#!Mo0K%a4Pi+kkh(KY$fB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM z7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwAz<>b* z1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd z0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwA zz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEj zFkrxd0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r z3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@ z0|pEjFkrxd0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM7%*VK zfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5 zV8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM z7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwAz<>b* z1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd z0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwA zz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEj ZFkrxd0RsjM7%*VKfB^#r3>Yx*JTQ*V00961 literal 0 HcmV?d00001 diff --git a/chroma_db/run_20261102_111133/97070c02-5683-40e3-9349-4bbefa120438/header.bin b/chroma_db/run_20261102_111133/97070c02-5683-40e3-9349-4bbefa120438/header.bin new file mode 100644 index 0000000000000000000000000000000000000000..bb54792626c8e16cb8f8a2b989bd1998268ad65c GIT binary patch literal 100 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 +endobj +2 0 obj +<< +/BaseFont /Helvetica /Encoding /WinAnsiEncoding /Name /F1 /Subtype /Type1 /Type /Font +>> +endobj +3 0 obj +<< +/BaseFont /Helvetica-Bold /Encoding /WinAnsiEncoding /Name /F2 /Subtype /Type1 /Type /Font +>> +endobj +4 0 obj +<< +/Contents 8 0 R /MediaBox [ 0 0 595.2756 841.8898 ] /Parent 7 0 R /Resources << +/Font 1 0 R /ProcSet [ /PDF /Text /ImageB /ImageC /ImageI ] +>> /Rotate 0 /Trans << + +>> + /Type /Page +>> +endobj +5 0 obj +<< +/PageMode /UseNone /Pages 7 0 R /Type /Catalog +>> +endobj +6 0 obj +<< +/Author (\(anonymous\)) /CreationDate (D:20261102090414+07'00') /Creator (\(unspecified\)) /Keywords () /ModDate (D:20261102090414+07'00') /Producer (ReportLab PDF Library - \(opensource\)) + /Subject (\(unspecified\)) /Title (\(anonymous\)) /Trapped /False +>> +endobj +7 0 obj +<< +/Count 1 /Kids [ 4 0 R ] /Type /Pages +>> +endobj +8 0 obj +<< +/Filter [ /ASCII85Decode /FlateDecode ] /Length 566 +>> +stream +Gat=fbAQ&g&4Q?mMHRLkU5H*ae&sq<9cln,rP0gljcMsbTh#=bq[R=CZ%Kta%0;,IEpas>\H6gN6s:ZA^m>Blh?sl&W;_;qZ3%$JE*(;UAn&E`P-?E(-KSEO"Wugi^bmpN'pBUR)O=QWOATbtLdH-MQ0V]GEM[(BJ5ui\n@:o_%<_.R2`T1RN$"^-Tt5g0P6,X^2h.a-LiR7le^79\s3YD?*\:ffo<6!ZeCC7Z\(m>3AIC5=0[r41,SK_5Xe9Wg*fRN:[\71PO3o!Z:j1KTD4jD:=a0+WHR\WiHB095'1>H6.3W/HlK=YeXIWeAL/eOj0a`&q6(/hZ&Aj&d-\k7NT3G\ZkT]c)fcVMZTQFm]+H\\>oW<@`+(pqRU7*&U^c3@\I(>q*aqiV7(^dW+sp>8FYkF(+m3faerOToA6s>kUY:Cm311AZrJP;+(@1!S_X&AN=&G^~>endstream +endobj +xref +0 9 +0000000000 65535 f +0000000061 00000 n +0000000102 00000 n +0000000209 00000 n +0000000321 00000 n +0000000524 00000 n +0000000592 00000 n +0000000872 00000 n +0000000931 00000 n +trailer +<< +/ID +[<430fe01d3101a78d4a66e001f226174a><430fe01d3101a78d4a66e001f226174a>] +% ReportLab generated PDF document -- digest (opensource) + +/Info 6 0 R +/Root 5 0 R +/Size 9 +>> +startxref +1587 +%%EOF diff --git a/dokumen/kemahasiswaan.pdf b/dokumen/kemahasiswaan.pdf new file mode 100644 index 0000000..f7865d8 --- /dev/null +++ b/dokumen/kemahasiswaan.pdf @@ -0,0 +1,74 @@ +%PDF-1.4 +%東京 ReportLab Generated PDF document (opensource) +1 0 obj +<< +/F1 2 0 R /F2 3 0 R +>> +endobj +2 0 obj +<< +/BaseFont /Helvetica /Encoding /WinAnsiEncoding /Name /F1 /Subtype /Type1 /Type /Font +>> +endobj +3 0 obj +<< +/BaseFont /Helvetica-Bold /Encoding /WinAnsiEncoding /Name /F2 /Subtype /Type1 /Type /Font +>> +endobj +4 0 obj +<< +/Contents 8 0 R /MediaBox [ 0 0 595.2756 841.8898 ] /Parent 7 0 R /Resources << +/Font 1 0 R /ProcSet [ /PDF /Text /ImageB /ImageC /ImageI ] +>> /Rotate 0 /Trans << + +>> + /Type /Page +>> +endobj +5 0 obj +<< +/PageMode /UseNone /Pages 7 0 R /Type /Catalog +>> +endobj +6 0 obj +<< +/Author (\(anonymous\)) /CreationDate (D:20261102090414+07'00') /Creator (\(unspecified\)) /Keywords () /ModDate (D:20261102090414+07'00') /Producer (ReportLab PDF Library - \(opensource\)) + /Subject (\(unspecified\)) /Title (\(anonymous\)) /Trapped /False +>> +endobj +7 0 obj +<< +/Count 1 /Kids [ 4 0 R ] /Type /Pages +>> +endobj +8 0 obj +<< +/Filter [ /ASCII85Decode /FlateDecode ] /Length 516 +>> +stream +Gatn"d8%PD&4PLPMKqT'Z&:1bO-8]7(cCOg%!3rID7A0R9)O%6.o\3#+u)gGA7t&mSWd7Y!C+H9QNb/]L>,3!@L2K26oYGqT#3qNHg?Mok?,S\'E]d3OsdaNpd18>GZM1l4BSi;&;4kqL;QJo*"2ld8hS-joO#rj2&_kB#9*Te<.ShlA@IBW$K;KRCUcBn@4/8V*4le[lfL]O,bmR@%K4SX1"r8"0-bf_^KisZcDuko4DU:\C9SuuTRDM;X/'XL@&f9jk_+%Gu""SJ@L`-q,OQQ)!<$.[?cBj.uJ[G#(ZMZ`78r1_T\3(A+Y`c5#t>N`.DJ%meekooi2A1giX^G"JU1+B=\Yf3+p0P.J>b"^rEJof/?C9lNGendstream +endobj +xref +0 9 +0000000000 65535 f +0000000061 00000 n +0000000102 00000 n +0000000209 00000 n +0000000321 00000 n +0000000524 00000 n +0000000592 00000 n +0000000872 00000 n +0000000931 00000 n +trailer +<< +/ID +[] +% ReportLab generated PDF document -- digest (opensource) + +/Info 6 0 R +/Root 5 0 R +/Size 9 +>> +startxref +1537 +%%EOF diff --git a/dokumen/keuangan.pdf b/dokumen/keuangan.pdf new file mode 100644 index 0000000..bbb93d2 --- /dev/null +++ b/dokumen/keuangan.pdf @@ -0,0 +1,74 @@ +%PDF-1.4 +%東京 ReportLab Generated PDF document (opensource) +1 0 obj +<< +/F1 2 0 R /F2 3 0 R +>> +endobj +2 0 obj +<< +/BaseFont /Helvetica /Encoding /WinAnsiEncoding /Name /F1 /Subtype /Type1 /Type /Font +>> +endobj +3 0 obj +<< +/BaseFont /Helvetica-Bold /Encoding /WinAnsiEncoding /Name /F2 /Subtype /Type1 /Type /Font +>> +endobj +4 0 obj +<< +/Contents 8 0 R /MediaBox [ 0 0 595.2756 841.8898 ] /Parent 7 0 R /Resources << +/Font 1 0 R /ProcSet [ /PDF /Text /ImageB /ImageC /ImageI ] +>> /Rotate 0 /Trans << + +>> + /Type /Page +>> +endobj +5 0 obj +<< +/PageMode /UseNone /Pages 7 0 R /Type /Catalog +>> +endobj +6 0 obj +<< +/Author (\(anonymous\)) /CreationDate (D:20261102090414+07'00') /Creator (\(unspecified\)) /Keywords () /ModDate (D:20261102090414+07'00') /Producer (ReportLab PDF Library - \(opensource\)) + /Subject (\(unspecified\)) /Title (\(anonymous\)) /Trapped /False +>> +endobj +7 0 obj +<< +/Count 1 /Kids [ 4 0 R ] /Type /Pages +>> +endobj +8 0 obj +<< +/Filter [ /ASCII85Decode /FlateDecode ] /Length 539 +>> +stream +Gat=fb>,r/&4Q?lMHL]?8fX#F/4"k^5lrK"0HmS\`-+cnKDP=9dPQBN/Y]Nb7@r,%j!u83,MMUA"aJ8Lp/up%+e+$R7LdrV9rR7p'KD0h!ERqP'9+eC.-dV3=(UUq@B8k]hrm(t@%@3Z7W`^=D:Hjf&*N#l5>\f;THJku./A1GL7AI#S6,jq"/_o;!3^ESJq^&$ejZ*6O:;C#X>4GjD+"nUeAU=OK+#NC\#MR@kXT8E9;7Vd7endstream +endobj +xref +0 9 +0000000000 65535 f +0000000061 00000 n +0000000102 00000 n +0000000209 00000 n +0000000321 00000 n +0000000524 00000 n +0000000592 00000 n +0000000872 00000 n +0000000931 00000 n +trailer +<< +/ID +[] +% ReportLab generated PDF document -- digest (opensource) + +/Info 6 0 R +/Root 5 0 R +/Size 9 +>> +startxref +1560 +%%EOF diff --git a/lab_p10.py b/lab_p10.py new file mode 100644 index 0000000..0f85f89 --- /dev/null +++ b/lab_p10.py @@ -0,0 +1,187 @@ +""" +Lab Terbimbing P-10: RAG Part 1 (Chunking, ChromaDB, Hit@k) + +Persiapan: + pip install chromadb sentence-transformers pypdf + Taruh 2-3 PDF berbasis teks di folder dokumen/ + +Jalankan bertahap: + python lab_p10.py lab1 + python lab_p10.py lab2 + python lab_p10.py lab3 +""" +import random +import sys +from datetime import datetime +from pathlib import Path + +import chromadb +from chromadb.utils import embedding_functions +from pypdf import PdfReader + +BASE = Path(__file__).resolve().parent # folder tempat lab_p10.py berada +FOLDER = BASE / "dokumen" +# Setiap kali script dijalankan -> folder indeks BARU (tidak bentrok dengan run lain) +RUN_ID = datetime.now().strftime("%Y%m%d_%H%M%S") +DB_PATH = str(BASE / "chroma_db" / f"run_{RUN_ID}") +MODEL = "paraphrase-multilingual-MiniLM-L12-v2" + + +# ---------- fungsi dasar ---------- +def baca_pdf(path): + reader = PdfReader(path) + return "\n".join((p.extract_text() or "") for p in reader.pages) + + +def potong(teks, ukuran=800, tumpang=100): + hasil, mulai = [], 0 + while mulai < len(teks): + hasil.append(teks[mulai:mulai + ukuran]) + mulai += ukuran - tumpang + return [h for h in hasil if h.strip()] + + +def daftar_pdf(): + pdfs = sorted(FOLDER.glob("*.pdf")) + if not pdfs: + sys.exit(f"Tidak ada PDF di {FOLDER}. Letakkan 2-3 PDF dulu.") + return pdfs + + +def buat_koleksi(nama, ukuran, tumpang): + print(f"Indeks run ini disimpan di: {DB_PATH}") + emb = embedding_functions.SentenceTransformerEmbeddingFunction(model_name=MODEL) + client = chromadb.PersistentClient(path=DB_PATH) + koleksi = client.get_or_create_collection( + name=nama, embedding_function=emb, metadata={"hnsw:space": "cosine"} + ) + for pdf in daftar_pdf(): + chunks = potong(baca_pdf(pdf), ukuran, tumpang) + if not chunks: + print(f"PERINGATAN: {pdf.name} kosong (mungkin PDF scan), dilewati.") + continue + koleksi.upsert( + ids=[f"{pdf.stem}-{i}" for i in range(len(chunks))], + documents=chunks, + metadatas=[{"sumber": pdf.name, "chunk": i} for i in range(len(chunks))], + ) + print(f"[{nama}] {pdf.name} -> {len(chunks)} chunk") + return koleksi + + +# ---------- LAB 1: eksperimen chunking ---------- +def lab1(): + pdf = daftar_pdf()[0] + teks = baca_pdf(pdf) + print(f"File: {pdf.name} | total {len(teks)} karakter") + print("=== 500 karakter pertama ===") + print(teks[:500]) + print("\n(Jika kosong/aneh: PDF hasil scan, butuh OCR.)\n") + + for ukuran in (500, 1000, 1500): + tumpang = int(ukuran * 0.15) # overlap 15% + chunks = potong(teks, ukuran, tumpang) + print(f"\n##### ukuran={ukuran}, overlap={tumpang} -> {len(chunks)} chunk #####") + for c in random.sample(chunks, min(3, len(chunks))): + print("-" * 50) + print(c) + print("-" * 50) + print("\nCatat: jumlah chunk tiap ukuran, dan apakah ada chunk " + "yang terpotong di tengah kalimat/tabel.") + + +# ---------- LAB 2: bangun indeks & cari ---------- +PERTANYAAN_LAB2 = [ + "Berapa jumlah gelas sampel untuk setiap merek air mineral?", + "Apa saja ukuran pemusatan data yang dihitung?", + "Apa tujuan dari praktikum statistik deskriptif ini?", + "Merek air mineral mana yang beratnya paling konsisten?", + "Data apa saja yang termasuk skala pengukuran rasio?", +] +PARAFRASE_LAB2 = [ + "Seberapa lebar sebaran tinggi badan cowok dibanding cewek?", + "Pakai aplikasi apa data hasil timbangan diolah?", +] + + +def tampil(koleksi, daftar): + for q in daftar: + hasil = koleksi.query(query_texts=[q], n_results=3) + print(f"\nQ: {q}") + for doc, meta, jarak in zip(hasil["documents"][0], + hasil["metadatas"][0], + hasil["distances"][0]): + print(f" [{meta['sumber']} ツキ chunk {meta['chunk']}] jarak={jarak:.3f}") + print(" ", doc[:200].replace("\n", " "), "...") + + +def lab2(): + koleksi = buat_koleksi("pedoman", 800, 100) + print("\n===== 5 PERTANYAAN BIASA =====") + tampil(koleksi, PERTANYAAN_LAB2) + print("\n===== 2 PERTANYAAN PARAFRASE =====") + tampil(koleksi, PARAFRASE_LAB2) + print("\nCatat: apakah chunk teratas relevan? Apakah parafrase tetap ketemu?") + + +# ---------- LAB 3: ukur Hit@k (+ MRR) ---------- +UJI = [ + ("Berapa mean berat air mineral Alfa pada data tunggal?", "225,3"), + ("Berapa standar deviasi tinggi badan laki-laki?", "6,65"), + ("Berapa varians tinggi badan perempuan?", "8,97"), + ("Software apa yang dipakai untuk mengolah data?", "Minitab"), + ("Berapa gelas sampel yang ditimbang untuk tiap merek?", "40 gelas"), + ("Merek air mineral apa saja yang diteliti?", "Aqua, Alfamart, dan Vit"), + ("Apa kelebihan boxplot dibanding mean?", "tahan terhadap nilai ekstrim"), + ("Data apa yang termasuk skala nominal?", "NRP, jenis kelamin"), + ("Berapa skewness data kelompok merek Alfa?", "-0,1826"), + ("Berapa IQR tinggi badan laki-laki?", "11,25"), + ("Berapa mean berat air mineral Vit?", "201,75"), + ("Apa itu presisi dalam pengukuran?", "konsistensi hasil pengukuran"), + ("Berapa rata-rata jumlah SKS responden?", "20,765"), + ("Untuk apa statistika inferensial digunakan?", "statistika inferensial digunakan"), + ("Berapa range tinggi badan perempuan?", "8,20"), +] + + +def hit_at_k(koleksi, uji, k): + benar = 0 + for q, kunci in uji: + docs = koleksi.query(query_texts=[q], n_results=k)["documents"][0] + if any(kunci.lower() in d.lower() for d in docs): + benar += 1 + return benar / len(uji) + + +def mrr(koleksi, uji, k=5): + total = 0.0 + for q, kunci in uji: + docs = koleksi.query(query_texts=[q], n_results=k)["documents"][0] + for rank, d in enumerate(docs, 1): + if kunci.lower() in d.lower(): + total += 1 / rank + break + return total / len(uji) + + +def lab3(): + if len(UJI) < 15: + print(f"PERINGATAN: baru {len(UJI)} pertanyaan uji; tugas meminta 15.\n") + pengaturan = {"chunk500": (500, 75), "chunk1000": (1000, 150)} + ringkasan = {} + for nama, (ukuran, tumpang) in pengaturan.items(): + koleksi = buat_koleksi(nama, ukuran, tumpang) + ringkasan[nama] = {f"Hit@{k}": hit_at_k(koleksi, UJI, k) for k in (1, 3, 5)} + ringkasan[nama]["MRR"] = mrr(koleksi, UJI) + + print("\n===== HASIL =====") + for nama, skor in ringkasan.items(): + print(nama, " | ".join(f"{m}={v:.2f}" for m, v in skor.items())) + print("\nTulis kesimpulan 3-4 kalimat: ukuran terbaik, pertanyaan yang gagal, dugaan penyebab.") + + +if __name__ == "__main__": + perintah = sys.argv[1] if len(sys.argv) > 1 else "" + {"lab1": lab1, "lab2": lab2, "lab3": lab3}.get( + perintah, lambda: print(__doc__) + )() \ No newline at end of file