dpatel9923 commited on
Commit
0ed03ca
·
verified ·
1 Parent(s): 916b5d1

Create api.py

Browse files
Files changed (1) hide show
  1. api.py +28 -0
api.py ADDED
@@ -0,0 +1,28 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ from fastapi import FastAPI, Request
2
+ from pydantic import BaseModel
3
+ from transformers import GPT2LMHeadModel, GPT2Tokenizer
4
+ import torch
5
+
6
+ app = FastAPI()
7
+
8
+ model_path = './fine-tuned-gpt2'
9
+ model = GPT2LMHeadModel.from_pretrained(model_path)
10
+ tokenizer = GPT2Tokenizer.from_pretrained(model_path)
11
+
12
+ if tokenizer.pad_token is None:
13
+ tokenizer.add_special_tokens({'pad_token':'[PAD]'})
14
+ model.resize_token_embeddings(len(tokenizer))
15
+
16
+ class TextRequest(BaseModel):
17
+ prompt: str
18
+
19
+ def generate_response(prompt, max_length=100):
20
+ input_ids = tokenizer.encode(prompt, return_tensors='pt')
21
+ output = model.generate(input_ids, max_length=max_length,pad_token_id = tokenizer.eos_token_id)
22
+ response = tokenizer.decode(output[0], skip_special_tokens=True)
23
+ return response
24
+
25
+ @app.post("/generate")
26
+ async def generate(request: TextRequest):
27
+ response = generate_response(request.prompt)
28
+ return {"response":response}