import gradio as gr from intent_processor import IntentProcessor def generate_plan(role_text): try: print(f"[INPUT] Role: {role_text}") ip = IntentProcessor(role_text) plan, meta = ip.generate_plan(return_metadata=True) print(f"[OUTPUT] Plan: {plan}") return f"📜 План: {plan}\n\n🧠 Метаданные:\n{meta}" except Exception as e: print(f"[ERROR] {e}") return f"❌ Ошибка: {str(e)}" demo = gr.Interface( fn=generate_plan, inputs=gr.Textbox(lines=4, placeholder="Describe a role...", label="Role Description"), outputs="text", title="🧠 SAGE Plan Generator", description="Semantic extractor of behavioral plan from role prompt.", allow_flagging="never" ) if __name__ == "__main__": print("[STARTUP] Launching Gradio...") demo.launch(server_name="0.0.0.0", server_port=7860)