gradiofast / app.py
peter288's picture
Upload 3 files
cce56fb verified
import gradio as gr
import fastapi
# 1. 定义 FastAPI 应用
api_app = fastapi.FastAPI(
# 我们需要在文档中看到正确的URL,所以要在这里配置服务器信息
servers=[{"url": "/api", "description": "API server"}]
)
@api_app.get("/")
def read_api_root():
return {"message": "FastAPI API root."}
@api_app.get("/calculate")
def calculate_sum(a: float, b: float):
return {"result": a + b}
# 2. 定义 Gradio 界面
with gr.Blocks() as demo:
gr.Markdown(
"""
# API 启动成功!
这是一个由 Gradio 驱动的界面。你的 FastAPI 应用已被成功挂载。
- **API 文档 (Swagger UI) 位于**: [./api/docs](./api/docs)
"""
)
# 3. 将 FastAPI 挂载到 Gradio 的根 FastAPI 实例上
# demo.app 是 Gradio 底层的 FastAPI 实例
demo.app.mount("/api", api_app)
# 4. 启动 Gradio 应用
if __name__ == "__main__":
demo.launch()