Run SimpleStructMemReader with sample data.
()
| 22 | |
| 23 | |
| 24 | def run_simple_reader(): |
| 25 | """Run SimpleStructMemReader with sample data.""" |
| 26 | print("🚀 Initializing SimpleStructMemReader from JSON config...") |
| 27 | |
| 28 | # Use settings config instead of hardcoded JSON |
| 29 | reader_config = SimpleStructMemReaderConfig(**get_reader_config()) |
| 30 | reader = SimpleStructMemReader(reader_config) |
| 31 | print("✅ Initialization complete.") |
| 32 | |
| 33 | info = {"user_id": "simple_user", "session_id": "simple_session"} |
| 34 | |
| 35 | print("\n📝 Processing Simple Chat Scene...") |
| 36 | # SIMPLE_CHAT_SCENE: list[list[dict]] (multiple conversations) |
| 37 | |
| 38 | try: |
| 39 | # 1) FINE |
| 40 | print("\n🔄 Testing FINE mode (with LLM)...") |
| 41 | t0 = time.time() |
| 42 | fine_memory = reader.get_memory( |
| 43 | SIMPLE_CHAT_SCENE, |
| 44 | type="chat", |
| 45 | info=info, |
| 46 | mode="fine", |
| 47 | ) |
| 48 | fine_time = time.time() - t0 |
| 49 | print(f"⏱️ Fine mode time: {fine_time:.2f}s") |
| 50 | _print_memory_sets("=== FINE Mode Results ===", fine_memory) |
| 51 | |
| 52 | # 2) FAST |
| 53 | print("\n⚡ Testing FAST mode (no LLM)...") |
| 54 | t0 = time.time() |
| 55 | fast_memory = reader.get_memory( |
| 56 | SIMPLE_CHAT_SCENE, |
| 57 | type="chat", |
| 58 | info=info, |
| 59 | mode="fast", |
| 60 | ) |
| 61 | fast_time = time.time() - t0 |
| 62 | print(f"⏱️ Fast mode time: {fast_time:.2f}s") |
| 63 | _print_memory_sets("=== FAST Mode Results ===", fast_memory) |
| 64 | |
| 65 | # 3) Transfer: FAST -> FINE |
| 66 | # fine_transfer_simple_mem expects a flat list[TextualMemoryItem] |
| 67 | print("\n🔁 Transfer FAST memories -> FINE...") |
| 68 | flat_fast_items = [item for mem_list in fast_memory for item in mem_list] |
| 69 | |
| 70 | t0 = time.time() |
| 71 | transferred = reader.fine_transfer_simple_mem(flat_fast_items, type="chat") |
| 72 | transfer_time = time.time() - t0 |
| 73 | |
| 74 | print(f"⏱️ Transfer time: {transfer_time:.2f}s") |
| 75 | _print_memory_sets("=== TRANSFER Results (FAST -> FINE) ===", transferred) |
| 76 | |
| 77 | # 4) Documents (Fine only) |
| 78 | print("\n📄 Processing Documents (Fine Mode Only)...") |
| 79 | doc_paths = [ |
| 80 | "text1.txt", |
| 81 | "text2.txt", |
no test coverage detected