diff options
author | Lain Soykaf <lain@lain.com> | 2024-05-18 11:55:17 +0400 |
---|---|---|
committer | Lain Soykaf <lain@lain.com> | 2024-05-18 11:55:17 +0400 |
commit | 069ce4448c556af90293cde9b9872c3d53eb894b (patch) | |
tree | 708ff1f81e9f8b12dde62fa40d70e6a0edbc6e5f /python/fastembed-server.py | |
parent | a9be4907c0d7b34e5564584d2d040632c32f2aa3 (diff) | |
download | pleroma-069ce4448c556af90293cde9b9872c3d53eb894b.tar.gz pleroma-069ce4448c556af90293cde9b9872c3d53eb894b.zip |
Add basic fastembed server
Diffstat (limited to 'python/fastembed-server.py')
-rw-r--r-- | python/fastembed-server.py | 21 |
1 files changed, 21 insertions, 0 deletions
diff --git a/python/fastembed-server.py b/python/fastembed-server.py new file mode 100644 index 000000000..fa3f7c82b --- /dev/null +++ b/python/fastembed-server.py @@ -0,0 +1,21 @@ +from fastembed import TextEmbedding +from fastapi import FastAPI +from pydantic import BaseModel + +model = TextEmbedding("snowflake/snowflake-arctic-embed-xs") + +app = FastAPI() + +class EmbeddingRequest(BaseModel): + model: str + prompt: str + +@app.post("/api/embeddings") +def embeddings(request: EmbeddingRequest): + embeddings = next(model.embed(request.prompt)).tolist() + return {"embedding": embeddings} + +if __name__ == "__main__": + import uvicorn + + uvicorn.run(app, host="0.0.0.0", port=11345) |