File size: 932 Bytes
16320e6
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
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
37
38
39
from fastapi import FastAPI, Request
from pydantic import BaseModel
from sentence_transformers import SentenceTransformer
import numpy as np

app = FastAPI()

# Load the Sentence Transformer model
model = SentenceTransformer("BAAI/bge-large-zh-v1.5")

class EmbeddingRequest(BaseModel):
    input: str

@app.post("/embeddings")
async def embeddings(request: EmbeddingRequest):
    input_text = request.input

    # Calculate embeddings
    embeddings = model.encode(input_text)

    # Format the embeddings in OpenAI compatible format
    data = {
        "object": "list",
        "data": [
            {
                "object": "embedding",
                "embedding": embeddings.tolist(),
                "index": 0
            }
        ],
        "model": "BAAI/bge-large-zh-v1.5",
        "usage": {
            "prompt_tokens": len(input_text),
            "total_tokens": len(input_text)
        }
    }

    return data