| 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 |
| ) |