Spaces:
Running
Running
File size: 1,029 Bytes
2ae9fb3 8d84024 d794995 2ae9fb3 834b75c 8d84024 834b75c 2ae9fb3 8d84024 2ae9fb3 cfe1a3c 2ae9fb3 |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 |
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 路由,用于接收和处理请求
@app.post("/api/aaa")
async def api_aaa(request: TextRequest):
result = iface_aaa(request.text)
return {"result": result}
@app.post("/api/bbb")
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)
|