import gc, sys, lancedb import config, lib.ragroleplay as ragroleplay def memories_check(question, search_limit): db = lancedb.connect(config.ragroleplay_db_path) table = db.open_table("knowledge_memories") query_vector = ragroleplay.embed_text(config.ragroleplay_model_url, config.ragroleplay_model_name, question) results = table.search(query_vector, vector_column_name="vector_context").limit(search_limit).to_list() print("") print(f"Pertanyaan: {question}") print("") if not results: print("Tidak ada memori yang ditemukan.") else: print(f"Ditemukan {len(results)} memori yang relevan berdasarkan KONTEKS:\n") for i, row in enumerate(results, 1): print(f"Memori #{i}") print(f"Kapan: {row['relative_time']}") print(f"Kejadian: {row['event']}") print(f"Detail: {row['detail']}") print(f"Kondisi Fisik: {row['physical']}") print(f"Emosi: {row['emotional']}") print(f"Kategori: {row['category']}") print(f"Skor Jarak: {row.get('_distance', 'N/A')}") print("") del table del db gc.collect() if __name__ == "__main__": memories_check(sys.argv[1], 3)