Spaces:
Running
Running
import os | |
from fastapi import FastAPI | |
from pydantic import BaseModel | |
import gradio as gr | |
app = FastAPI() | |
# 定义请求数据模型 | |
class TextRequest(BaseModel): | |
text: str | |
# 定义 Gradio 处理函数 | |
def process_aaa(text): | |
return text + 'aaa' | |
def process_bbb(text): | |
return text + 'bbb' | |
# 使用 Gradio 的接口函数,但不启动 Web 界面 | |
iface_aaa = gr.Interface(fn=process_aaa, inputs="text", outputs="text") | |
iface_bbb = gr.Interface(fn=process_bbb, inputs="text", outputs="text") | |
# FastAPI 路由,用于接收和处理请求 | |
async def api_aaa(request: TextRequest): | |
result = iface_aaa(request.text) | |
return {"result": result} | |
async def api_bbb(request: TextRequest): | |
result = iface_bbb(request.text) | |
return {"result": result} | |
# 启动应用,使用环境变量指定的端口 | |
if __name__ == "__main__": | |
import uvicorn | |
port = int(os.getenv("PORT", 7860)) # 获取 PORT 环境变量 | |
uvicorn.run(app, host="0.0.0.0", port=port) | |