|
from fastapi import FastAPI |
|
from pydantic import BaseModel |
|
from transformers import pipeline |
|
|
|
|
|
app = FastAPI() |
|
|
|
|
|
sentiment_model = pipeline("text-classification", model="shahxeebhassan/bert_base_ai_content_detector") |
|
|
|
|
|
class TextRequest(BaseModel): |
|
text: str |
|
|
|
|
|
@app.post("/predict") |
|
async def predict(request: TextRequest): |
|
result = sentiment_model(request.text) |
|
print("处理前的 result:", result) |
|
|
|
|
|
original = result[0] |
|
|
|
|
|
ai_probability = original["score"] if original["label"] == "LABEL_1" else 1 - original["score"] |
|
|
|
processed_result = [{ |
|
"label": "AI" if ai_probability > 0.5 else "Human", |
|
"score": ai_probability |
|
}] |
|
|
|
print("处理后的 result:", processed_result) |
|
return {"result": processed_result} |
|
|
|
if __name__ == "__main__": |
|
import uvicorn |
|
uvicorn.run(app, host="0.0.0.0", port=7860) |