Spaces:
Paused
Paused
File size: 1,535 Bytes
5e2af49 2e266db 3fe99f4 5e2af49 76a7205 e54d2b2 5e2af49 |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 |
import gradio
import torch
from transformers import GPT2Tokenizer, GPT2LMHeadModel
# Load model
hub_path = 'guptavishal79/aimlops'
loaded_model = GPT2LMHeadModel.from_pretrained(hub_path)
loaded_tokenizer = GPT2Tokenizer.from_pretrained(hub_path)
def generate_response(model, tokenizer, prompt, max_length=200):
input_ids = tokenizer.encode(prompt, return_tensors="pt")
# Create the attention mask and pad token id
attention_mask = torch.ones_like(input_ids)
pad_token_id = tokenizer.eos_token_id
output = model.generate(
input_ids,
max_length=max_length,
num_return_sequences=1,
attention_mask=attention_mask,
pad_token_id=pad_token_id
)
return tokenizer.decode(output[0], skip_special_tokens=True)
# Function for response generation
def generate_query_response(prompt, max_length=200):
model = loaded_model
tokenizer = loaded_tokenizer
prompt = f"<question>{prompt}<answer>"
response = generate_response(model, tokenizer, prompt, max_length)
return response
# Gradio elements
# Input from user
in_prompt = gradio.Textbox(lines=2, placeholder=None, value="", label='Enter Medical Question')
in_max_length = gradio.Number(value=200, label='Answer Length')
# Output response
out_response = gradio.Textbox(type="text", label='Answer')
# Gradio interface to generate UI link
iface = gradio.Interface(fn = generate_query_response,
inputs = [in_prompt, in_max_length],
outputs = [out_response])
iface.launch(share = True) |