Files

27 lines
1.1 KiB
Python

import chromadb
from chromadb.utils import embedding_functions
# Panggil model dan database yang sama
emb = embedding_functions.SentenceTransformerEmbeddingFunction(
model_name="paraphrase-multilingual-MiniLM-L12-v2")
client = chromadb.PersistentClient(path="./chroma_db")
koleksi = client.get_or_create_collection("pedoman", embedding_function=emb)
# Daftar pertanyaan uji
daftar_pertanyaan = [
"Apa syarat cuti akademik?",
"Berapa batas kehadiran untuk ujian?",
"Bolehkah berhenti kuliah sementara?", # Pertanyaan parafrase (tanpa kata 'cuti')
"Apa sanksi jika telat bayar kuliah?" # Pertanyaan parafrase (tanpa kata 'keuangan')
]
for q in daftar_pertanyaan:
print("=" * 60)
print("PERTANYAAN:", q)
# Ambil 2 hasil terdekat
hasil = koleksi.query(query_texts=[q], n_results=2)
for doc, meta, jarak in zip(hasil["documents"][0], hasil["metadatas"][0], hasil["distances"][0]):
# Jarak (distance) semakin kecil berarti semakin mirip
print(f" [Sumber: {meta['sumber']} | Jarak: {jarak:.3f}]")
print(" Teks:", doc[:120].replace("\n", " "), "...")