|
import gradio as gr |
|
from transformers import AutoModelWithLMHead, AutoTokenizer, pipeline |
|
|
|
|
|
|
|
|
|
|
|
prasad_model_path = "PrasadJali/demogpt2" |
|
model = AutoModelWithLMHead.from_pretrained(prasad_model_path) |
|
tokenizer = AutoTokenizer.from_pretrained(prasad_model_path) |
|
|
|
|
|
def generate_query_response(prompt, max_length=200): |
|
""" |
|
Generates a response to a given prompt using the fine-tuned GPT-2 model. |
|
|
|
Args: |
|
prompt (str): The input prompt text. |
|
max_length (int, optional): The maximum length of the generated response. Defaults to 200. |
|
|
|
Returns: |
|
str: The generated response text. |
|
""" |
|
|
|
generator = pipeline('text-generation', model=model, tokenizer=tokenizer) |
|
|
|
|
|
response = generator(prompt, max_length=max_length, num_return_sequences=1) |
|
|
|
|
|
return response[0]['generated_text'] |
|
|
|
|
|
|
|
in_prompt = gr.Textbox(lines=2, placeholder="Enter your medical query here...", label="Medical Query") |
|
in_max_length = gr.Slider(minimum=50, maximum=500, value=200, step=10, label="Max Response Length") |
|
out_response = gr.Textbox(label="Generated Response") |
|
|
|
|
|
iface = gr.Interface( |
|
fn=generate_query_response, |
|
inputs=[in_prompt, in_max_length], |
|
outputs=out_response, |
|
title="Medical Q&A with GPT-2", |
|
description="Ask medical questions and get answers from a fine-tuned GPT-2 model.", |
|
) |
|
|
|
|
|
iface.launch(share=True) |
|
|