File size: 1,342 Bytes
0469565 0897526 0469565 0897526 0469565 0897526 0469565 0897526 0469565 | 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 | from fastapi import FastAPI
from transformers import pipeline
from PIL import Image
import requests
from io import BytesIO
app = FastAPI()
# গুগল-এর ভিশন এআই মডেল
classifier = pipeline("image-classification", model="google/vit-base-patch16-224")
@app.get("/")
def read_root():
return {"status": "✦ FFX ✦ AI Server is Running!"}
@app.get("/analyze")
def analyze(url: str):
try:
# ব্রাউজার সেজে রিকোয়েস্ট পাঠানো যেন টিকটক ব্লক না করে
headers = {"User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64 AppleWebKit/537.36)"}
res = requests.get(url, headers=headers, timeout=15)
img = Image.open(BytesIO(res.content)).convert("RGB")
# AI Processing
results = classifier(img)
top_score = results[0]['score']
if top_score >= 0.85:
return {"success": True, "confidence": f"High ({int(top_score*100)}%)", "names": [results[0]['label'].title()]}
else:
top_3 = [r['label'].title() for r in results[:3]]
return {"success": True, "confidence": "Low", "names": top_3}
except Exception as e:
return {"success": False, "error": str(e)} |