File size: 1,195 Bytes
7430631 5c5054d be4dd45 5c5054d be4dd45 5c5054d be4dd45 60a8bbf 91bd2a8 5c5054d 108f832 5c5054d 108f832 5c5054d 108f832 |
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 36 |
from fastapi import FastAPI, HTTPException
from pydantic import BaseModel, root_validator
from transformers import AutoModel
from typing import List
import os, platform, time
from fastapi.middleware.cors import CORSMiddleware # Import CORSMiddleware
# Your model loading and app initialization code
model = AutoModel.from_pretrained('jinaai/jina-embeddings-v2-base-en', trust_remote_code=True)
app = FastAPI()
# Set up CORS middleware configuration
app.add_middleware(
CORSMiddleware,
allow_origins=["*"], # Allows all origins
allow_credentials=True,
allow_methods=["*"], # Allows all methods
allow_headers=["*"], # Allows all headers
)
# Your Validation model and endpoint definitions remain the same
class Validation(BaseModel):
prompt: List[str]
@app.post("/jina_embedding")
async def generate_embeddings(item: Validation):
start_time = time.time()
embeddings = model.encode(item.prompt).tolist()
end_time = time.time()
time_taken = end_time - start_time # Calculate the time taken
return {
"embeddings": embeddings,
"time_taken": f"{time_taken:.2f} seconds",
"Number_of_sentence_processed": len(item.prompt)
} |