Spaces:
Sleeping
Sleeping
import gradio as gr | |
from transformers import AutoTokenizer, AutoModelForSeq2SeqLM | |
# Load the model and tokenizer | |
model_name = "HafijulHoquenabid2/T5_flanlarge_phase_1" # Replace with your model if needed | |
tokenizer = AutoTokenizer.from_pretrained(model_name) | |
model = AutoModelForSeq2SeqLM.from_pretrained(model_name) | |
# Define the function to generate answers | |
def generate_response(question, context): | |
# Combine question and context | |
input_text = f"question: {question} context: {context}" | |
# Tokenize the input with attention mask | |
inputs = tokenizer( | |
input_text, | |
max_length=512, | |
padding="max_length", | |
truncation=True, | |
return_tensors="pt" | |
) | |
# Generate response | |
outputs = model.generate( | |
input_ids=inputs["input_ids"], | |
attention_mask=inputs["attention_mask"], | |
max_length=150, | |
num_beams=4, | |
early_stopping=True | |
) | |
# Decode and return the response | |
answer = tokenizer.decode(outputs[0], skip_special_tokens=True) | |
return answer | |
# Define Gradio interface | |
interface = gr.Interface( | |
fn=generate_response, | |
inputs=[ | |
gr.Textbox(label="Question", placeholder="Enter your question here..."), | |
gr.Textbox(label="Context", placeholder="Provide the context for the question...") | |
], | |
outputs="text", | |
title="T5 Smart Door Lock QA", | |
description="Ask domain-specific questions related to smart door locks and receive precise answers." | |
) | |
# Launch the app | |
if __name__ == "__main__": | |
interface.launch() | |