chuunibyou / app.py
prabinpanta0's picture
Update app.py
6a01360 verified
raw
history blame
1.89 kB
import os
import gradio as gr
from transformers import AutoModelForSeq2SeqLM, AutoTokenizer
from huggingface_hub import login
# Get the Hugging Face token from environment variables
HF_TOKEN = os.getenv('HF')
if not HF_TOKEN:
raise ValueError("The HF environment variable is not set. Please set it to your Hugging Face token.")
# Authenticate with Hugging Face and save the token to the Git credentials helper
login(HF_TOKEN, add_to_git_credential=True)
# Load the model and tokenizer using the Hugging Face token
model_name = "google/gemma-7b-it"
tokenizer = AutoTokenizer.from_pretrained(model_name, token=HF_TOKEN)
model = AutoModelForSeq2SeqLM.from_pretrained(model_name, token=HF_TOKEN)
def generate(text):
try:
# Tokenize the input text
inputs = tokenizer(text, return_tensors="pt", max_length=512, truncation=True)
# Generate the response
outputs = model.generate(
inputs["input_ids"],
max_length=1024,
num_beams=5,
early_stopping=True,
)
# Decode the output tokens to text
response_text = tokenizer.decode(outputs[0], skip_special_tokens=True)
return response_text if response_text else "No valid response generated."
except Exception as e:
return str(e)
iface = gr.Interface(
fn=generate,
inputs=gr.Textbox(lines=2, placeholder="Enter text here..."),
outputs="text",
title="Chuunibyou Text Generator",
description="Transform text into an elaborate and formal style with a nobleman tone.",
live=False
)
def launch_custom_interface():
iface.launch()
with gr.TabbedInterface(fn=generate, inputs=gr.Textbox(lines=2, placeholder="Enter text here..."), outputs=gr.HTML(label="Output")) as ti:
ti.add(custom_html)
if __name__ == "__main__":
launch_custom_interface()