votanthanh32004's picture
Add application file
ece0cc5
Raw
History Blame
1.37 kB
import uvicorn
from fastapi import FastAPI, Body
from sentence_transformers import SentenceTransformer
# ==========================================
# PHẦN 1: KHỞI TẠO AI ENGINE
# ==========================================
print("⏳ Đang tải Model AI (All-MiniLM-L6-v2)...")
# Tải model 1 lần duy nhất khi Server khởi động
model = SentenceTransformer('all-MiniLM-L6-v2')
print("✅ Model đã sẵn sàng!")
app = FastAPI()
@app.get("/")
def home():
return {"status": "AI Server is RUNNING on Hugging Face", "model": "all-MiniLM-L6-v2"}
@app.post("/vectorize")
def vectorize_products(payload: dict = Body(...)):
"""
API nhận vào JSON: { "products": ["Tên SP 1", "Tên SP 2"] }
Trả về: { "vectors": [[0.1, ...], [0.2, ...]] }
"""
products_text = payload.get("products", [])
# Kiểm tra đầu vào
if not products_text:
return {"vectors": []}
print(f"⚡ Đang xử lý {len(products_text)} sản phẩm...")
# Tính toán Vector
vectors = model.encode(products_text).tolist()
return {"vectors": vectors}
# ==========================================
# PHẦN 2: KHỞI ĐỘNG SERVER
# ==========================================
if __name__ == "__main__":
# Hugging Face yêu cầu bắt buộc chạy ở port 7860
uvicorn.run(app, host="0.0.0.0", port=7860)