| | import os |
| | import gradio as gr |
| | from transformers import AutoTokenizer, AutoModelForCausalLM, pipeline |
| | from huggingface_hub import snapshot_download |
| |
|
| | |
| | |
| | |
| | MODEL_ID = "gokaygokay/prompt-enhancer-gemma-3-270m-it" |
| | print(f"📦 Downloading model {MODEL_ID} ...") |
| | model_path = snapshot_download(repo_id=MODEL_ID) |
| | print(f"✅ Model downloaded to: {model_path}") |
| |
|
| | |
| | |
| | |
| | tokenizer = AutoTokenizer.from_pretrained(model_path) |
| | model = AutoModelForCausalLM.from_pretrained(model_path) |
| | pipe = pipeline("text-generation", model=model, tokenizer=tokenizer) |
| |
|
| | |
| | |
| | |
| | def enhance_prompt(prompt: str): |
| | """Enhance and expand a user prompt with more details and context.""" |
| | if not prompt.strip(): |
| | return "⚠️ Please enter a prompt to enhance." |
| |
|
| | messages = [ |
| | {"role": "system", "content": "Enhance and expand the following prompt with more details and context:"}, |
| | {"role": "user", "content": prompt.strip()}, |
| | ] |
| |
|
| | chat_input = tokenizer.apply_chat_template(messages, tokenize=False, add_generation_prompt=True) |
| | output = pipe(chat_input, max_new_tokens=256, do_sample=True, temperature=0.8) |
| | result = output[0]["generated_text"] |
| | return result.strip() |
| |
|
| | |
| | |
| | |
| | with gr.Blocks(theme=gr.themes.Soft(), title="Prompt Enhancer ✨") as demo: |
| | gr.Markdown( |
| | """ |
| | # ✨ Prompt Enhancer — Gemma 3 270M IT |
| | Give your idea a creative boost! |
| | Enter a simple prompt, and this app will enhance it with vivid detail and context. |
| | """ |
| | ) |
| |
|
| | with gr.Row(): |
| | with gr.Column(scale=1): |
| | input_text = gr.Textbox( |
| | label="Enter your prompt", |
| | placeholder="e.g. a cat sitting on a chair", |
| | lines=4, |
| | ) |
| | enhance_button = gr.Button("🚀 Enhance Prompt", variant="primary") |
| | with gr.Column(scale=1): |
| | output_text = gr.Textbox( |
| | label="Enhanced Prompt", |
| | placeholder="Your enhanced prompt will appear here...", |
| | lines=8, |
| | ) |
| |
|
| | enhance_button.click(enhance_prompt, inputs=input_text, outputs=output_text) |
| |
|
| | gr.Markdown( |
| | """ |
| | --- |
| | 🧠 **Try these examples:** |
| | - “a futuristic city at sunset” |
| | - “a woman reading under a tree” |
| | - “a magical forest with glowing mushrooms” |
| | """ |
| | ) |
| |
|
| | |
| | |
| | |
| | if __name__ == "__main__": |
| | demo.launch() |
| |
|