File size: 1,264 Bytes
8d84024
cfe1a3c
8d84024
 
d794995
cfe1a3c
6288b1a
8d84024
cfe1a3c
 
6288b1a
8d84024
cfe1a3c
8d84024
cfe1a3c
8d84024
cfe1a3c
 
8d84024
 
 
cfe1a3c
 
8d84024
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
cfe1a3c
 
fe0aec3
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
40
41
42
43
44
45
from fastapi import FastAPI
from pydantic import BaseModel
#from preprocess import preprocess_text  # 假设您已经在 preprocess.py 中定义了此函数
import gradio as gr

app = FastAPI()

# 定义请求模型
class TextRequest(BaseModel):
    text: str

# 定义 API 路由
@app.post("/api/preprocess")
async def preprocess_endpoint(request: TextRequest):
    """
    接收文本并返回预处理后的结果
    """
    if not request.text.strip():
        return {"error": "Text cannot be empty."}
    
    result = request.text + " (preprocessed)"
    return result

# 使用 Gradio 创建 Web 界面
def gradio_interface(text):
    return text + " (preprocessed)"

# Gradio Interface 配置
iface = gr.Interface(
    fn=gradio_interface,
    inputs="textbox",   # 使用新版 Gradio 直接定义输入类型
    outputs="json",     # 使用新版 Gradio 直接定义输出类型
    title="文本预处理 API",
    description="发送文本到 /api/preprocess 进行预处理并获取 JSON 格式的响应"
)

# 将 Gradio 的 Web 界面挂载到 FastAPI 应用的 /gradio 路径下
app = gr.mount_gradio_app(app, iface, path="/gradio")


# 启动应用
if __name__ == "__main__":
    import uvicorn
    uvicorn.run(app, host="0.0.0.0", port=63468)