Skip to content

Commit

Permalink
fix(llm): enable fastapi auto reload function (apache#164)
Browse files Browse the repository at this point in the history
---------

Co-authored-by: imbajin <[email protected]>
  • Loading branch information
Aryankb and imbajin authored Feb 20, 2025
1 parent e00d6e7 commit 9a9de77
Showing 1 changed file with 15 additions and 12 deletions.
27 changes: 15 additions & 12 deletions hugegraph-llm/src/hugegraph_llm/demo/rag_demo/app.py
Original file line number Diff line number Diff line change
Expand Up @@ -155,17 +155,11 @@ def refresh_ui_config_prompt() -> tuple:
return hugegraph_llm_ui


if __name__ == "__main__":
parser = argparse.ArgumentParser()
parser.add_argument("--host", type=str, default="0.0.0.0", help="host")
parser.add_argument("--port", type=int, default=8001, help="port")
args = parser.parse_args()
def create_app():
app = FastAPI(lifespan=lifespan)

# we don't need to manually check the env now
# settings.check_env()
prompt.update_yaml_file()

auth_enabled = admin_settings.enable_login.lower() == "true"
log.info("(Status) Authentication is %s now.", "enabled" if auth_enabled else "disabled")
api_auth = APIRouter(dependencies=[Depends(authenticate)] if auth_enabled else [])
Expand All @@ -184,13 +178,22 @@ def refresh_ui_config_prompt() -> tuple:
admin_http_api(api_auth, log_stream)

app.include_router(api_auth)

# Mount Gradio inside FastAPI
# TODO: support multi-user login when need
app = gr.mount_gradio_app(
app, hugegraph_llm, path="/", auth=("rag", admin_settings.user_token) if auth_enabled else None
)

# TODO: we can't use reload now due to the config 'app' of uvicorn.run
# ❎:f'{__name__}:app' / rag_web_demo:app / hugegraph_llm.demo.rag_web_demo:app
# TODO: merge unicorn log to avoid duplicate log output (should be unified/fixed later)
uvicorn.run(app, host=args.host, port=args.port, reload=False)
return app


if __name__ == "__main__":
parser = argparse.ArgumentParser()
parser.add_argument("--host", type=str, default="0.0.0.0", help="host")
parser.add_argument("--port", type=int, default=8001, help="port")
args = parser.parse_args()

import logging
logging.getLogger("uvicorn.access").propagate = False

uvicorn.run("hugegraph_llm.demo.rag_demo.app:create_app", host=args.host, port=args.port, reload=True)

0 comments on commit 9a9de77

Please sign in to comment.