Spaces:
Running
Running
| from fastapi import FastAPI, Request | |
| from pydantic import BaseModel | |
| from transformers import AutoTokenizer, AutoModel | |
| import torch | |
| app = FastAPI() | |
| # Load model | |
| model_name = "AITeamVN/Vietnamese_Embedding_v2" | |
| tokenizer = AutoTokenizer.from_pretrained(model_name) | |
| model = AutoModel.from_pretrained(model_name) | |
| class InputText(BaseModel): | |
| text: str | |
| def root(): | |
| return {"message": "AITeamVN/Vietnamese_Embedding_v2 embedding API is running."} | |
| def get_embedding(data: InputText): | |
| inputs = tokenizer(data.text, return_tensors="pt", padding=True, truncation=True) | |
| with torch.no_grad(): | |
| outputs = model(**inputs) | |
| # Get CLS token or use pooling method | |
| embedding = outputs.last_hidden_state[:, 0, :].squeeze().tolist() | |
| return {"embedding": embedding} | |