makdadTaleb's picture
Update app.py
26485e3 verified
from fastapi import FastAPI, HTTPException
from pydantic import BaseModel
from sentence_transformers import SentenceTransformer
import gradio as gr
# تحميل الموديل
model = SentenceTransformer("paraphrase-multilingual-MiniLM-L12-v2")
# -------- FastAPI (الخدمة التي تهمك) --------
api = FastAPI()
class EmbedRequest(BaseModel):
texts: list[str]
@api.post("/embed")
def embed(req: EmbedRequest):
if not req.texts:
return {"embeddings": []}
# تحويل النصوص إلى Vector
embeddings = model.encode(
req.texts,
convert_to_numpy=True,
normalize_embeddings=True
)
return {"embeddings": embeddings.tolist()}
# -------- Gradio (مجرد غطاء لإرضاء المنصة) --------
# سننشئ واجهة فارغة تقريباً لا تستهلك أي موارد
with gr.Blocks() as demo:
gr.Markdown("### Embedding API Service is Running")
# ربط FastAPI بـ Gradio ليعمل على نفس المنفذ
app = gr.mount_gradio_app(api, demo, path="/")