|
import gradio as gr |
|
from transformers import pipeline |
|
import torch |
|
|
|
|
|
device = 0 if torch.cuda.is_available() else -1 |
|
|
|
|
|
model = pipeline( |
|
"text-generation", |
|
model="rish13/polymers", |
|
device=device |
|
) |
|
|
|
def remove_duplicate_sentences(text): |
|
|
|
sentences = text.split('. ') |
|
unique_sentences = list(dict.fromkeys(sentences)) |
|
return '. '.join(unique_sentences) |
|
|
|
def generate_response(prompt): |
|
|
|
response = model( |
|
prompt, |
|
max_length=130, |
|
num_return_sequences=1, |
|
temperature=0.7, |
|
top_k=130, |
|
top_p=0.95 |
|
) |
|
|
|
|
|
generated_text = response[0]['generated_text'] |
|
|
|
|
|
processed_text = remove_duplicate_sentences(generated_text) |
|
|
|
return processed_text |
|
|
|
|
|
interface = gr.Interface( |
|
fn=generate_response, |
|
inputs=gr.Textbox(lines=2, placeholder="Enter your prompt here...", label="Prompt"), |
|
outputs="text", |
|
title="Polymer Knowledge Model", |
|
description="A model fine-tuned for generating text related to polymers." |
|
) |
|
|
|
|
|
interface.launch() |
|
|