|
from fastapi import FastAPI, Request |
|
from fastapi.middleware.cors import CORSMiddleware |
|
from sentence_transformers import SentenceTransformer |
|
import uvicorn |
|
|
|
|
|
app = FastAPI(root_path="/proxy") |
|
|
|
|
|
app.add_middleware( |
|
CORSMiddleware, |
|
allow_origins=["*"], |
|
allow_methods=["*"], |
|
allow_headers=["*"], |
|
) |
|
|
|
|
|
model = SentenceTransformer('BAAI/bge-small-zh') |
|
|
|
@app.get("/") |
|
def home(): |
|
return { |
|
"message": "API is working!", |
|
"endpoints": { |
|
"embed": "POST /embed", |
|
"docs": "/docs" |
|
} |
|
} |
|
|
|
@app.post("/embed") |
|
async def embed_text(request: Request): |
|
data = await request.json() |
|
return { |
|
"embedding": model.encode(data['text']).tolist() |
|
} |
|
|
|
if __name__ == "__main__": |
|
uvicorn.run( |
|
app, |
|
host="0.0.0.0", |
|
port=7860, |
|
reload=False |
|
) |