adfnet-C / app.py
showme's picture
Update app.py
9d14c24 verified
raw
history blame
1.07 kB
from fastapi import FastAPI
from pydantic import BaseModel
from transformers import pipeline, DistilBertForSequenceClassification, AutoTokenizer
import os
import uvicorn
# 设置环境变量
os.environ['TF_ENABLE_ONEDNN_OPTS'] = '0'
# 创建 FastAPI 实例
app = FastAPI()
# 异步加载预训练模型
@app.on_event("startup")
async def load_model():
global sentiment_model
model = DistilBertForSequenceClassification.from_pretrained("tommyliphys/ai-detector-distilbert", from_tf=True)
tokenizer = AutoTokenizer.from_pretrained("tommyliphys/ai-detector-distilbert")
sentiment_model = pipeline("text-classification", model=model, tokenizer=tokenizer)
# 定义请求体的格式
class TextRequest(BaseModel):
text: str
# 定义一个 POST 请求处理函数
@app.post("/predict")
async def predict(request: TextRequest):
try:
result = sentiment_model(request.text)
return {"result": result}
except Exception as e:
return {"error": str(e)}
if __name__ == "__main__":
uvicorn.run(app, host="0.0.0.0", port=7860)