Skip to content

Commit 9a9de77

Browse files
Aryankbimbajin
andauthored
fix(llm): enable fastapi auto reload function (#164)
--------- Co-authored-by: imbajin <[email protected]>
1 parent e00d6e7 commit 9a9de77

File tree

1 file changed

+15
-12
lines changed
  • hugegraph-llm/src/hugegraph_llm/demo/rag_demo

1 file changed

+15
-12
lines changed

hugegraph-llm/src/hugegraph_llm/demo/rag_demo/app.py

Lines changed: 15 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -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

Comments
 (0)