covenants commited on
Commit
e8205eb
·
1 Parent(s): c055750

Create app.py

Browse files
Files changed (1) hide show
  1. app.py +35 -0
app.py ADDED
@@ -0,0 +1,35 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ """
2
+ Project: Build your own ChatGPT using FastAPI
3
+ Author: Kaiss Bouali
4
+ Tutorial:
5
+ """
6
+
7
+ import uvicorn
8
+ from fastapi import FastAPI, Request, Form
9
+ from transformers import GPT2Tokenizer, GPT2LMHeadModel
10
+ from pydantic import BaseModel
11
+
12
+ model = GPT2LMHeadModel.from_pretrained("gpt2")
13
+ tokenizer = GPT2Tokenizer.from_pretrained("gpt2")
14
+
15
+
16
+ class GenerateRequest(BaseModel):
17
+ prompt: str
18
+
19
+
20
+ app = FastAPI()
21
+
22
+
23
+ @app.post("/generate")
24
+ def generate(request: Request, data: GenerateRequest):
25
+ model = GPT2LMHeadModel.from_pretrained("gpt2")
26
+ tokenizer = GPT2Tokenizer.from_pretrained("gpt2")
27
+ input_ids = tokenizer.encode(data.prompt, return_tensors="pt")
28
+ generated = model.generate(
29
+ input_ids, max_length=1024, do_sample=True, top_p=0.95, top_k=60
30
+ )
31
+ return tokenizer.decode(generated.tolist()[0], skip_special_tokens=True)
32
+
33
+
34
+ if __name__ == "__main__":
35
+ uvicorn.run(app, host="0.0.0.0", port=8000)