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)