pius-code commited on
Commit
d45d6d0
·
1 Parent(s): b9e647d

add initial Dockerfile, main application, and requirements for FastAPI summarization service

Browse files
Files changed (3) hide show
  1. Dockerfile +13 -0
  2. main.py +15 -0
  3. requirements.txt +4 -0
Dockerfile ADDED
@@ -0,0 +1,13 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ FROM python:3.9
2
+
3
+ RUN useradd -m -u 1000 user
4
+ USER user
5
+ ENV PATH="/home/user/.local/bin:$PATH"
6
+
7
+ WORKDIR /app
8
+
9
+ COPY --chown=user ./requirements.txt requirements.txt
10
+ RUN pip install --no-cache-dir --upgrade -r requirements.txt
11
+
12
+ COPY --chown=user . /app
13
+ CMD ["uvicorn", "main:app", "--host", "0.0.0.0", "--port", "7860"]
main.py ADDED
@@ -0,0 +1,15 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ from fastapi import FastAPI
2
+ from pydantic import BaseModel
3
+ from transformers import pipeline
4
+
5
+ app = FastAPI()
6
+ summarizer = pipeline("summarization", model="facebook/bart-large-cnn")
7
+
8
+
9
+ class TextInput(BaseModel):
10
+ text: str
11
+
12
+ @app.post("/summarize")
13
+ async def summarize_text(input: TextInput):
14
+ summary = (summarizer(input.text, max_length=130, min_length=30, do_sample=False))
15
+ return summary
requirements.txt ADDED
@@ -0,0 +1,4 @@
 
 
 
 
 
1
+ fastapi
2
+ transformers
3
+ uvicorn
4
+