Spaces:
Build error
Build error
| import gradio as gr | |
| import numpy as np | |
| import time | |
| from system import DrMoagiArchitecture | |
| from graph_cluster import GraphMoagiCluster | |
| from trainer import SelfTrainer | |
| from policy import PolicyController | |
| from visualization import plot_knowledge | |
| system = DrMoagiArchitecture(dim=16) | |
| cluster = GraphMoagiCluster(nodes=6, dim=16) | |
| trainer = SelfTrainer(system) | |
| policy_controller = PolicyController(system) | |
| def step_system(steps): | |
| for _ in range(int(steps)): | |
| Psi = np.random.randn(system.n) | |
| system.bounded_update(Psi) | |
| return diagnostics() | |
| def diagnostics(): | |
| return { | |
| "Xi_norm": float(np.linalg.norm(system.Xi)), | |
| "Omega_norm": float(np.linalg.norm(system.Omega)), | |
| "Knowledge_Field_K": float(system.archive[-1]) if system.archive else 0.0, | |
| "Lyapunov_Energy": float(system.lyapunov_energy()), | |
| "Entropy": float(system.entropy()), | |
| "Stability_Zone": system.stability_zone(), | |
| "Ticks": system.tick_counter, | |
| } | |
| def reset_system(seed): | |
| global system, trainer, policy_controller | |
| system = DrMoagiArchitecture(dim=16, seed=int(seed)) | |
| trainer = SelfTrainer(system) | |
| policy_controller = PolicyController(system) | |
| return {"status": "reset complete"} | |
| def autonomous_loop(): | |
| while system.running: | |
| Psi = np.random.randn(system.n) | |
| system.bounded_update(Psi) | |
| time.sleep(0.1) | |
| with gr.Blocks(title="Dr Moagi Research Engine") as demo: | |
| gr.Markdown("## Dr Moagi Distributed Research Engine") | |
| steps_input = gr.Number(value=5, label="Steps") | |
| seed_input = gr.Number(value=42, label="Seed") | |
| run_btn = gr.Button("Run") | |
| reset_btn = gr.Button("Reset") | |
| start_btn = gr.Button("Start Autonomous") | |
| stop_btn = gr.Button("Stop Autonomous") | |
| cluster_btn = gr.Button("Cluster Step") | |
| train_btn = gr.Button("Self-Train") | |
| policy_btn = gr.Button("Policy Step") | |
| plot_btn = gr.Button("Plot Knowledge") | |
| output_json = gr.JSON() | |
| plot_output = gr.Plot() | |
| run_btn.click(step_system, inputs=steps_input, outputs=output_json) | |
| reset_btn.click(reset_system, inputs=seed_input, outputs=output_json) | |
| start_btn.click(lambda: system.start(), outputs=[]) | |
| stop_btn.click(lambda: system.stop(), outputs=[]) | |
| cluster_btn.click(lambda: cluster.graph_step(), outputs=[]) | |
| train_btn.click(lambda: trainer.train_step(), outputs=[]) | |
| policy_btn.click(lambda: policy_controller.policy_step(), outputs=[]) | |
| plot_btn.click(lambda: plot_knowledge(system.archive), outputs=plot_output) | |
| if __name__ == "__main__": | |
| demo.launch() |