neuralworm commited on
Commit
f302f4f
·
verified ·
1 Parent(s): d487a98

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +30 -6
app.py CHANGED
@@ -347,23 +347,43 @@ async def export_state():
347
 
348
  @app.post("/api/session/import")
349
  async def import_state(request: Request):
350
- """Empfängt ein JSON und überschreibt den laufenden Zustand."""
351
  try:
352
  data = await request.json()
353
 
354
- # 1. State im RAM überschreiben
 
 
 
 
 
355
  system.vocab = exp1014ecaa4.VocabularyLearner(data.get('vocab', {}))
356
  system.learner = exp1014ecaa4.SynchronizationLearner(data.get('sync', {}))
357
 
358
- # Physics Restore
359
- if 'physics' in data:
 
 
 
 
 
360
  system.holo.restore_full_state(data['physics'])
 
 
 
 
 
361
 
362
- # History Restore
363
  if 'history' in data:
 
364
  system.text_comm.messages = exp1014ecaa4.deque(data['history'], maxlen=50)
365
 
366
- # 2. Speichern, damit es persistent bleibt
 
 
 
 
367
  system.mgr.save_global_state(
368
  system.vocab.get_state(),
369
  system.learner.get_state(),
@@ -374,8 +394,12 @@ async def import_state(request: Request):
374
  return {"status": "ok", "message": "Session imported successfully"}
375
  except Exception as e:
376
  print(f"Import Error: {e}")
 
 
 
377
  return {"status": "error", "message": str(e)}
378
 
 
379
  if __name__ == "__main__":
380
  import uvicorn
381
  uvicorn.run(app, host="0.0.0.0", port=8000)
 
347
 
348
  @app.post("/api/session/import")
349
  async def import_state(request: Request):
350
+ """Empfängt ein JSON, initialisiert das System und überschreibt den Zustand."""
351
  try:
352
  data = await request.json()
353
 
354
+ # 0. Session Manager vorbereiten (falls noch keine ID existiert)
355
+ if not system.mgr.session_id:
356
+ system.mgr.start_new_session()
357
+
358
+ # 1. Komponenten INITIALISIEREN (Wichtig: Auch wenn sie noch nicht existieren)
359
+ # Wir erstellen alles neu, um sicherzugehen, dass keine alten Datenreste stören.
360
  system.vocab = exp1014ecaa4.VocabularyLearner(data.get('vocab', {}))
361
  system.learner = exp1014ecaa4.SynchronizationLearner(data.get('sync', {}))
362
 
363
+ system.decoder = exp1014ecaa4.SemanticAdaptiveDecoder(system.vocab)
364
+
365
+ # Physics Engine neu erstellen
366
+ system.holo = exp1014ecaa4.SciMindCommunicator(N=40)
367
+
368
+ # 2. Physics State wiederherstellen
369
+ if 'physics' in data and data['physics']:
370
  system.holo.restore_full_state(data['physics'])
371
+
372
+ # 3. Text Communicator verbinden
373
+ system.text_comm = exp1014ecaa4.AdaptiveLoggingCommunicator(
374
+ system.decoder, system.holo, system.vocab, system.mgr
375
+ )
376
 
377
+ # 4. Chat History wiederherstellen
378
  if 'history' in data:
379
+ # Konvertieren der Liste zurück in eine Deque
380
  system.text_comm.messages = exp1014ecaa4.deque(data['history'], maxlen=50)
381
 
382
+ # 5. System "Scharfschalten"
383
+ system.sync_config = system.learner.best_config
384
+ system.ready = True
385
+
386
+ # 6. Sofort speichern (Auto-Save)
387
  system.mgr.save_global_state(
388
  system.vocab.get_state(),
389
  system.learner.get_state(),
 
394
  return {"status": "ok", "message": "Session imported successfully"}
395
  except Exception as e:
396
  print(f"Import Error: {e}")
397
+ # traceback für besseres Debugging in den Logs ausgeben
398
+ import traceback
399
+ traceback.print_exc()
400
  return {"status": "error", "message": str(e)}
401
 
402
+
403
  if __name__ == "__main__":
404
  import uvicorn
405
  uvicorn.run(app, host="0.0.0.0", port=8000)