mirror of
https://github.com/Cinnamon/kotaemon.git
synced 2025-06-26 23:19:56 +00:00
52 lines
1.2 KiB
Python
52 lines
1.2 KiB
Python
![]() |
import os
|
||
|
|
||
|
import gradiologin as grlogin
|
||
|
from decouple import config
|
||
|
from fastapi import FastAPI
|
||
|
from fastapi.responses import FileResponse
|
||
|
from theflow.settings import settings as flowsettings
|
||
|
|
||
|
KH_APP_DATA_DIR = getattr(flowsettings, "KH_APP_DATA_DIR", ".")
|
||
|
GRADIO_TEMP_DIR = os.getenv("GRADIO_TEMP_DIR", None)
|
||
|
# override GRADIO_TEMP_DIR if it's not set
|
||
|
if GRADIO_TEMP_DIR is None:
|
||
|
GRADIO_TEMP_DIR = os.path.join(KH_APP_DATA_DIR, "gradio_tmp")
|
||
|
os.environ["GRADIO_TEMP_DIR"] = GRADIO_TEMP_DIR
|
||
|
|
||
|
|
||
|
GOOGLE_CLIENT_ID = config("GOOGLE_CLIENT_ID", default="")
|
||
|
GOOGLE_CLIENT_SECRET = config("GOOGLE_CLIENT_SECRET", default="")
|
||
|
|
||
|
|
||
|
from ktem.main import App # noqa
|
||
|
|
||
|
gradio_app = App()
|
||
|
demo = gradio_app.make()
|
||
|
|
||
|
app = FastAPI()
|
||
|
grlogin.register(
|
||
|
name="google",
|
||
|
server_metadata_url="https://accounts.google.com/.well-known/openid-configuration",
|
||
|
client_id=GOOGLE_CLIENT_ID,
|
||
|
client_secret=GOOGLE_CLIENT_SECRET,
|
||
|
client_kwargs={
|
||
|
"scope": "openid email profile",
|
||
|
},
|
||
|
)
|
||
|
|
||
|
|
||
|
@app.get("/favicon.ico", include_in_schema=False)
|
||
|
async def favicon():
|
||
|
return FileResponse(gradio_app._favicon)
|
||
|
|
||
|
|
||
|
grlogin.mount_gradio_app(
|
||
|
app,
|
||
|
demo,
|
||
|
"/app",
|
||
|
allowed_paths=[
|
||
|
"libs/ktem/ktem/assets",
|
||
|
GRADIO_TEMP_DIR,
|
||
|
],
|
||
|
)
|