alessandro trinca tornidor
feat: move the gradio_app block within a function
a09b191
raw
history blame
1.36 kB
import logging
import gradio as gr
import uvicorn
from fastapi import FastAPI
import routes
from helpers import formatters, session_logger
session_logger.change_logging()
app = FastAPI(title="fastapi_with_gradio...", version="1.0")
logging.info("FastAPI app created, including routes...")
app.include_router(routes.router)
logging.info("routes included, creating gradio app")
CUSTOM_GRADIO_PATH = "/"
def get_gradio_app():
with gr.Blocks() as gradio_app:
gr.Markdown(
"""
# Hello World!
Start typing below to _see_ the *output*.
Here a [link](https://huggingface.co/spaces/aletrn/gradio_with_fastapi).
""")
btn = gr.Button(value="Divide et Impera")
btn.click(
formatters.request_formatter,
inputs=[
gr.Textbox(lines=1, placeholder="10", label="write an integer to divide 100; 0 will raise ZeroDivisionError")
],
outputs=[
gr.Textbox(lines=1, placeholder=None, label="Text Output")
]
)
return gradio_app
logging.info("mounting gradio app within FastAPI...")
gradio_app_md = get_gradio_app()
app = gr.mount_gradio_app(app, gradio_app_md, path=CUSTOM_GRADIO_PATH)
logging.info("gradio app mounted")
if __name__ == '__main__':
uvicorn.run(app, host="0.0.0.0", port=7860)