Spaces:
Running
Running
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 路由 | |
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) | |