43 lines
1.2 KiB
Python
43 lines
1.2 KiB
Python
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()
|