moslem commited on
Commit
dcefc95
·
verified ·
1 Parent(s): 426fa2a

Upload 3 files

Browse files
Files changed (3) hide show
  1. Dockerfile +30 -0
  2. app.py +23 -0
  3. requirements.txt +6 -0
Dockerfile ADDED
@@ -0,0 +1,30 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ # Use the official Python 3.9 image
2
+ FROM python:3.9
3
+
4
+ # set the working directory to /code
5
+ WORKDIR /code
6
+
7
+ # Copy the current directory contents in the container at /code
8
+ COPY ./requirements.txt /code/requirements.txt
9
+
10
+ ## Install the requirements.txt
11
+ RUN pip install --no-cache-dir --upgrade -r /code/requirements.txt
12
+
13
+ # Set up a new user named "user"
14
+ RUN useradd user
15
+
16
+ # Switch to the "user" user
17
+ USER user
18
+
19
+ # Set home to the user's home directory
20
+ ENV HOME=/home/user \
21
+ PATH=/home/user/.local/bin:$PATH
22
+
23
+ # Set the working directory to the user's home directory
24
+ WORKDIR $HOME/app
25
+
26
+ # Copy the current directory contents into the container at $HOME/app setting the owner to
27
+ COPY --chown=user . $HOME/app
28
+
29
+ ## Start the FASTAPI App on port 7860
30
+ CMD ["uvicorn", "app:app", --host", "0.0.0.0", "--port", "7860"]
app.py ADDED
@@ -0,0 +1,23 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ from fastapi import FastAPI
2
+ from transformers import pipeline
3
+ ### Create a new FastAPI instance
4
+ app = FastAPI()
5
+
6
+ ### Initial the text generation pipline
7
+ pipe = pipeline(
8
+ task="text2text-generation",
9
+ model="google-t5/t5-base"
10
+ )
11
+
12
+ @app.get("/")
13
+ def home():
14
+ return {"message" : "Hello world"}
15
+
16
+ ### Define a function to handle GET request at 'generate'
17
+ @app.get("generate")
18
+ def generate(text:str):
19
+ output = pipe(text)
20
+ return {"Output" : output[0]['generated_text']}
21
+
22
+
23
+
requirements.txt ADDED
@@ -0,0 +1,6 @@
 
 
 
 
 
 
 
1
+ fastapi
2
+ requests
3
+ uvicorn[standard]
4
+ sentencepiece
5
+ torch
6
+ transformers