import gc, sys, lancedb import config, embedding def main(): db = lancedb.connect(config.memories_db_path) table = db.open_table(config.memories_table) question = sys.argv[1] query_vector = embedding.embed_text(config.model_url, config.model_name, question) results = ( table.search(query_vector, vector_column_name="vector_context") .limit(3) .to_list() ) print("\n" + "=" * 60) print(f"Pertanyaan: {question}") print("=" * 60) 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("-" * 30) print("=" * 60) del table del db gc.collect() if __name__ == "__main__": main()