chipling commited on
Commit
d6a117a
·
verified ·
1 Parent(s): 35adf87

Create app.py

Browse files
Files changed (1) hide show
  1. app.py +29 -0
app.py ADDED
@@ -0,0 +1,29 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ from fastapi import FastAPI, UploadFile, File
2
+ from pydantic import BaseModel
3
+ from sentence_transformers import SentenceTransformer
4
+ from PIL import Image
5
+ import io
6
+
7
+ app = FastAPI()
8
+
9
+ # Load model into memory (do this globally so it only happens once)
10
+ model = SentenceTransformer('google/siglip-so400m-patch14-384')
11
+
12
+ class TextRequest(BaseModel):
13
+ text: str
14
+
15
+ @app.post("/embed-text")
16
+ async def embed_text(request: TextRequest):
17
+ # Convert text to vector
18
+ vector = model.encode(request.text).tolist()
19
+ return {"vector": vector}
20
+
21
+ @app.post("/embed-image")
22
+ async def embed_image(file: UploadFile = File(...)):
23
+ # Read uploaded image
24
+ image_data = await file.read()
25
+ image = Image.open(io.BytesIO(image_data))
26
+
27
+ # Convert image to vector
28
+ vector = model.encode(image).tolist()
29
+ return {"vector": vector}