wjm55 commited on
Commit
79fe766
·
1 Parent(s): 67ad3cd

Implement initial project structure and setup

Browse files
Files changed (3) hide show
  1. Dockerfile +18 -0
  2. app.py +15 -0
  3. requirements.txt +4 -0
Dockerfile ADDED
@@ -0,0 +1,18 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ # Read the doc: https://huggingface.co/docs/hub/spaces-sdks-docker
2
+ # you will also find guides on how best to write your Dockerfile
3
+
4
+ FROM python:3.10
5
+ RUN useradd -m -u 1000 user
6
+ USER user
7
+ ENV PATH="/home/user/.local/bin:$PATH"
8
+
9
+ WORKDIR /app
10
+
11
+ # Copy requirements first to leverage Docker cache
12
+ COPY --chown=user requirements.txt /app/
13
+ RUN pip install --no-cache-dir --upgrade -r requirements.txt
14
+
15
+ # Copy the rest of the application
16
+ COPY --chown=user . /app
17
+
18
+ CMD ["uvicorn", "app:app", "--host", "0.0.0.0", "--port", "7860"]
app.py ADDED
@@ -0,0 +1,15 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ from fastapi import FastAPI
2
+ from pydantic import BaseModel
3
+ from sentence_transformers import SentenceTransformer
4
+
5
+ app = FastAPI()
6
+
7
+ model = SentenceTransformer('sentence-transformers/LaBSE')
8
+
9
+ class EmbedRequest(BaseModel):
10
+ text: str
11
+
12
+ @app.post("/vectorize")
13
+ async def embed_text(request: EmbedRequest):
14
+ return model.encode(request.text)
15
+
requirements.txt ADDED
@@ -0,0 +1,4 @@
 
 
 
 
 
1
+ fastapi
2
+ uvicorn[standard]
3
+ pydantic
4
+ sentence-transformers