|
from fastapi import FastAPI |
|
from backend.api import items, pdfreader, textreader |
|
from fastapi.middleware.cors import CORSMiddleware |
|
import gradio as gr |
|
|
|
app = FastAPI(title="Multi-layered FastAPI Example") |
|
|
|
|
|
origins = ["*"] |
|
app.add_middleware( |
|
CORSMiddleware, |
|
allow_origins=origins, |
|
allow_credentials=True, |
|
allow_methods=["*"], |
|
allow_headers=["*"], |
|
) |
|
|
|
|
|
app.include_router(items.router) |
|
app.include_router(pdfreader.router) |
|
app.include_router(textreader.router) |
|
|
|
|
|
def gradio_func(text): |
|
return f"Gradio received: {text}" |
|
|
|
gradio_app = gr.Interface(fn=gradio_func, inputs="text", outputs="text") |
|
|
|
|
|
from gradio.routes import App as GradioApp |
|
gradio_app.launch(inline=True, prevent_thread_lock=True) |
|
app.mount("/gradio", GradioApp.create_app(gradio_app)) |
|
|
|
|
|
if __name__ == "__main__": |
|
import uvicorn |
|
uvicorn.run("app:app", host="0.0.0.0", port=8000, reload=True) |
|
|