summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLain Soykaf <lain@lain.com>2024-05-18 11:55:17 +0400
committerLain Soykaf <lain@lain.com>2024-05-18 11:55:17 +0400
commit069ce4448c556af90293cde9b9872c3d53eb894b (patch)
tree708ff1f81e9f8b12dde62fa40d70e6a0edbc6e5f
parenta9be4907c0d7b34e5564584d2d040632c32f2aa3 (diff)
downloadpleroma-069ce4448c556af90293cde9b9872c3d53eb894b.tar.gz
pleroma-069ce4448c556af90293cde9b9872c3d53eb894b.zip
Add basic fastembed server
-rw-r--r--python/fastembed-server.py21
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)