BuckLakeAI / app.py
parkerjj's picture
Change to Gradio
2ae9fb3
raw
history blame
1.03 kB
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)