mgbam commited on
Commit
0180e60
Β·
verified Β·
1 Parent(s): 634a8f0

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +39 -44
app.py CHANGED
@@ -1,45 +1,40 @@
1
- # voice_to_app.py - Core Creator Logic
2
-
3
- from openai import OpenAI
4
- from core_creator.intent_parser import classify_robot_idea
5
- from core_creator.app_blueprint import generate_app_blueprint
6
- from core_creator.code_generator import generate_app_code
7
- from core_creator.assets_manager import fetch_visual_assets
8
-
9
- class VoiceToAppCreator:
10
- def __init__(self, voice_transcript: str):
11
- self.voice_input = voice_transcript
12
- self.intent = None
13
- self.blueprint = None
14
- self.generated_code = None
15
- self.assets = None
16
-
17
- def run_pipeline(self):
18
- print("\n[πŸ”] Classifying robot intent...")
19
- self.intent = classify_robot_idea(self.voice_input)
20
-
21
- print(f"[🧠] Detected intent: {self.intent}")
22
- self.blueprint = generate_app_blueprint(self.voice_input, self.intent)
23
-
24
- print("[βš™οΈ] Generating code from blueprint...")
25
- self.generated_code = generate_app_code(self.blueprint)
26
-
27
- print("[🎨] Fetching visual/audio assets...")
28
- self.assets = fetch_visual_assets(self.intent)
29
-
30
- print("[βœ…] Robot App creation complete.")
31
- return {
32
- "intent": self.intent,
33
- "blueprint": self.blueprint,
34
- "code": self.generated_code,
35
- "assets": self.assets
36
- }
37
-
38
- # Example usage
39
- if __name__ == "__main__":
40
- user_idea = "Build a robot that teaches kids to brush their teeth with fun animations."
41
- creator = VoiceToAppCreator(user_idea)
42
- app_package = creator.run_pipeline()
43
 
44
- print("\n--- Final App Package ---")
45
- print(app_package["code"][:500]) # preview generated code
 
1
+ # app.py - Entry point to run RoboSage App from voice idea to deployment
2
+
3
+ import gradio as gr
4
+ import asyncio
5
+ from core_creator.voice_to_app import VoiceToAppCreator
6
+ from deployer.gradio_generator import launch_gradio_app
7
+ import os
8
+
9
+ # Optional: configure Gemini/OpenAI keys before launch if needed
10
+ os.environ["GEMINI_API_KEY"] = os.getenv("GEMINI_API_KEY", "")
11
+ os.environ["OPENAI_API_KEY"] = os.getenv("OPENAI_API_KEY", "")
12
+
13
+ async def handle_user_idea(idea: str):
14
+ creator = VoiceToAppCreator(idea)
15
+ app_assets = creator.run_pipeline()
16
+ app_ui = launch_gradio_app(
17
+ title=app_assets["blueprint"].get("title", "RoboApp"),
18
+ description=app_assets["blueprint"].get("description", "AI-powered robot app.")
19
+ )
20
+ app_ui.launch(share=True)
21
+ return "βœ… App Launched"
22
+
23
+ def run_app():
24
+ with gr.Blocks() as demo:
25
+ gr.Markdown("""# πŸš€ RoboSage: Create Your Own Robot App from Voice
26
+ Speak or type your robot idea and we’ll generate, simulate, and deploy it live.
27
+ """)
28
+ user_idea = gr.Textbox(label="Your Robot Idea", placeholder="e.g. A robot that reminds me to hydrate.")
29
+ out = gr.Textbox(label="Status")
30
+ launch_btn = gr.Button("Create & Deploy")
31
+
32
+ def run_async(idea):
33
+ return asyncio.run(handle_user_idea(idea))
34
+
35
+ launch_btn.click(fn=run_async, inputs=user_idea, outputs=out)
36
+
37
+ demo.launch()
 
 
 
 
 
38
 
39
+ if __name__ == "__main__":
40
+ run_app()