Spaces:
Sleeping
Sleeping
import gradio as gr | |
import fastapi | |
# 1. 定义 FastAPI 应用 | |
api_app = fastapi.FastAPI( | |
# 我们需要在文档中看到正确的URL,所以要在这里配置服务器信息 | |
servers=[{"url": "/api", "description": "API server"}] | |
) | |
def read_api_root(): | |
return {"message": "FastAPI API root."} | |
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() |