RihemXX commited on
Commit
47c9baa
·
verified ·
1 Parent(s): 913bd3a

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +17 -30
app.py CHANGED
@@ -641,11 +641,12 @@ def build_demo():
641
  return demo
642
  # --- API endpoint: /chat ---
643
  # --- API endpoint: /chat ---
 
 
 
644
 
 
645
  def http_api_infer(question: str):
646
- # NOTE: No request here – Gradio will not inject it automatically
647
- # So remove token checking (or add later via FastAPI if needed)
648
-
649
  dummy_state = init_state()
650
  dummy_state.set_system_message("You are a helpful assistant.")
651
  dummy_state.append_message(Conversation.USER, question)
@@ -678,8 +679,7 @@ def http_api_infer(question: str):
678
  except Exception as e:
679
  return f"❌ Error: {str(e)}"
680
 
681
-
682
- # ✅ Define the API Interface after the function is declared
683
  api_interface = gr.Interface(
684
  fn=http_api_infer,
685
  inputs=[gr.Textbox(label="Question")],
@@ -687,33 +687,20 @@ api_interface = gr.Interface(
687
  api_name="/chat"
688
  )
689
 
 
 
690
 
691
- if __name__ == "__main__":
692
- parser = argparse.ArgumentParser()
693
- parser.add_argument("--host", type=str, default="0.0.0.0")
694
- parser.add_argument("--port", type=int, default=7860)
695
- parser.add_argument("--concurrency-count", type=int, default=10)
696
- parser.add_argument("--share", action="store_true")
697
- parser.add_argument("--moderate", action="store_true")
698
- args = parser.parse_args()
699
- logger.info(f"args: {args}")
700
-
701
- # UI block
702
- ui_demo = build_demo()
703
-
704
- # Combine UI + API endpoint
705
- demo = gr.TabbedInterface(
706
- interface_list=[ui_demo, api_interface],
707
- tab_names=["UI", "API"]
708
- )
709
 
710
- # Launch with API access
711
- demo.queue(api_open=True).launch(
712
- server_name=args.host,
713
- server_port=args.port,
714
- share=args.share,
715
- max_threads=args.concurrency_count,
716
- )
717
 
 
 
 
 
 
 
718
 
719
 
 
641
  return demo
642
  # --- API endpoint: /chat ---
643
  # --- API endpoint: /chat ---
644
+ from fastapi import FastAPI
645
+ import gradio as gr
646
+ import uvicorn
647
 
648
+ # --- API function ---
649
  def http_api_infer(question: str):
 
 
 
650
  dummy_state = init_state()
651
  dummy_state.set_system_message("You are a helpful assistant.")
652
  dummy_state.append_message(Conversation.USER, question)
 
679
  except Exception as e:
680
  return f"❌ Error: {str(e)}"
681
 
682
+ # Gradio API Interface
 
683
  api_interface = gr.Interface(
684
  fn=http_api_infer,
685
  inputs=[gr.Textbox(label="Question")],
 
687
  api_name="/chat"
688
  )
689
 
690
+ # UI block
691
+ ui_demo = build_demo()
692
 
693
+ # Setup FastAPI app
694
+ app = FastAPI()
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
695
 
696
+ # Mount UI
697
+ app = gr.mount_gradio_app(app, ui_demo, path="/")
 
 
 
 
 
698
 
699
+ # Mount API
700
+ app = gr.mount_gradio_app(app, api_interface, path="/api")
701
+
702
+ # Run
703
+ if __name__ == "__main__":
704
+ uvicorn.run(app, host="0.0.0.0", port=7860)
705
 
706