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()