@@ -155,17 +155,11 @@ def refresh_ui_config_prompt() -> tuple:
155155 return hugegraph_llm_ui
156156
157157
158- if __name__ == "__main__" :
159- parser = argparse .ArgumentParser ()
160- parser .add_argument ("--host" , type = str , default = "0.0.0.0" , help = "host" )
161- parser .add_argument ("--port" , type = int , default = 8001 , help = "port" )
162- args = parser .parse_args ()
158+ def create_app ():
163159 app = FastAPI (lifespan = lifespan )
164-
165160 # we don't need to manually check the env now
166161 # settings.check_env()
167162 prompt .update_yaml_file ()
168-
169163 auth_enabled = admin_settings .enable_login .lower () == "true"
170164 log .info ("(Status) Authentication is %s now." , "enabled" if auth_enabled else "disabled" )
171165 api_auth = APIRouter (dependencies = [Depends (authenticate )] if auth_enabled else [])
@@ -184,13 +178,22 @@ def refresh_ui_config_prompt() -> tuple:
184178 admin_http_api (api_auth , log_stream )
185179
186180 app .include_router (api_auth )
187-
181+ # Mount Gradio inside FastAPI
188182 # TODO: support multi-user login when need
189183 app = gr .mount_gradio_app (
190184 app , hugegraph_llm , path = "/" , auth = ("rag" , admin_settings .user_token ) if auth_enabled else None
191185 )
192186
193- # TODO: we can't use reload now due to the config 'app' of uvicorn.run
194- # ❎:f'{__name__}:app' / rag_web_demo:app / hugegraph_llm.demo.rag_web_demo:app
195- # TODO: merge unicorn log to avoid duplicate log output (should be unified/fixed later)
196- uvicorn .run (app , host = args .host , port = args .port , reload = False )
187+ return app
188+
189+
190+ if __name__ == "__main__" :
191+ parser = argparse .ArgumentParser ()
192+ parser .add_argument ("--host" , type = str , default = "0.0.0.0" , help = "host" )
193+ parser .add_argument ("--port" , type = int , default = 8001 , help = "port" )
194+ args = parser .parse_args ()
195+
196+ import logging
197+ logging .getLogger ("uvicorn.access" ).propagate = False
198+
199+ uvicorn .run ("hugegraph_llm.demo.rag_demo.app:create_app" , host = args .host , port = args .port , reload = True )
0 commit comments