| |
|
| | import asyncio
|
| | import json
|
| | import os
|
| | from mnemocore.core.engine import HAIMEngine
|
| | from mnemocore.core.config import get_config
|
| | from mnemocore.core.container import build_container
|
| | from mnemocore.core.tier_manager import TierManager
|
| |
|
| | async def sync_qdrant():
|
| | config = get_config()
|
| | container = build_container(config)
|
| |
|
| |
|
| | tier_manager = TierManager(config=config, qdrant_store=container.qdrant_store)
|
| |
|
| | engine = HAIMEngine(
|
| | config=config,
|
| | tier_manager=tier_manager,
|
| | working_memory=container.working_memory,
|
| | episodic_store=container.episodic_store,
|
| | semantic_store=container.semantic_store
|
| | )
|
| | await engine.initialize()
|
| |
|
| | print(f"Engine initialized. Memories in HOT: {len(engine.tier_manager.hot)}")
|
| |
|
| |
|
| | if len(engine.tier_manager.hot) == 0:
|
| | print("HOT is empty, reloading from legacy log...")
|
| | await engine._load_legacy_if_needed()
|
| | print(f"Memories after reload: {len(engine.tier_manager.hot)}")
|
| |
|
| |
|
| |
|
| | print("Syncing nodes to Qdrant...")
|
| | count = 0
|
| | for node_id, node in list(engine.tier_manager.hot.items()):
|
| | await engine.tier_manager._save_to_warm(node)
|
| | count += 1
|
| | if count % 100 == 0:
|
| | print(f"Synced {count} nodes...")
|
| |
|
| | print(f"Total synced: {count}")
|
| | await engine.close()
|
| |
|
| | if __name__ == "__main__":
|
| | import sys
|
| | sys.path.append(os.path.join(os.getcwd(), "src"))
|
| | asyncio.run(sync_qdrant())
|
| |
|