import gradio as gr from transformers import AutoTokenizer, AutoModelForCausalLM # Load pre-trained model (or fine-tuned model) model_name = "Manasa1/GPT_Finetuned_tweets" # Replace with the fine-tuned model name tokenizer = AutoTokenizer.from_pretrained(model_name) model = AutoModelForCausalLM.from_pretrained(model_name) # Function to generate tweets def generate_tweet(input_text): prompt = ("You are a tech-savvy, forward-thinking individual with a deep understanding of technology, innovation, and cultural trends. " "Craft a tweet that reflects insightful commentary, wit, or actionable advice based on the following idea: \"{}\". " "Ensure the response is concise, engaging, and suitable for a diverse audience on social media. " "Incorporate elements of thought leadership, futuristic perspectives, and practical wisdom where appropriate.").format(input_text) inputs = tokenizer(prompt, return_tensors="pt", max_length=512, truncation=True) outputs = model.generate(inputs['input_ids'], max_length=280, num_return_sequences=1, top_p=0.95, top_k=50) generated_text = tokenizer.decode(outputs[0], skip_special_tokens=True) # Extract the tweet text (exclude prompt if included) return generated_text.replace(prompt, "").strip() # Gradio interface def main(): with gr.Blocks() as interface: gr.Markdown(""" # Tweet Generator Enter a topic or idea, and the AI will craft a tweet inspired by innovative, philosophical, and tech-savvy thought leadership. """) with gr.Row(): input_text = gr.Textbox(label="Enter your idea or topic:") output_tweet = gr.Textbox(label="Generated Tweet:", interactive=False) generate_button = gr.Button("Generate Tweet") generate_button.click(generate_tweet, inputs=[input_text], outputs=[output_tweet]) return interface # Run Gradio app if __name__ == "__main__": app = main() app.launch()