| import spaces |
| import gradio as gr |
| import torch |
| from transformers import pipeline |
|
|
| |
| model_id = "meta-llama/Llama-3.2-3B" |
| pipe = pipeline( |
| "text-generation", |
| model=model_id, |
| torch_dtype=torch.bfloat16, |
| device_map="cuda" |
| ) |
|
|
| @spaces.GPU |
| def generate_text(prompt): |
| response = pipe(prompt, max_length=100, num_return_sequences=1) |
| return response[0]['generated_text'] |
|
|
| |
| def fill_prompt(selected_prompt): |
| return selected_prompt |
|
|
| |
| css = """ |
| body {background-color: #f0f8ff; font-family: 'Arial', sans-serif;} |
| .gradio-container {max-width: 700px; margin: 0 auto; border-radius: 15px; padding: 20px; background-color: white; box-shadow: 0 4px 8px rgba(0,0,0,0.1);} |
| textarea {border-radius: 10px; padding: 10px; font-size: 16px; border: 2px solid #ddd;} |
| button {background-color: #4caf50; color: #000000; border-radius: 5px; padding: 10px 20px; font-size: 16px; border: none; cursor: pointer;} |
| button:hover {background-color: #45a049;} |
| h1 {color: #333; font-size: 32px; text-align: center;} |
| footer {text-align: center; padding: 10px;} |
| #prompt_box {padding: 10px; background-color: #f9f9f9; border-radius: 10px;} |
| """ |
|
|
| |
| example_entries = [ |
| "Today, I finished a major project that I’ve been working on for weeks. It felt great to finally get it done, and I’m proud of the effort I put in.", |
| "I faced a tough challenge today when I had to give a presentation with very little preparation. Despite feeling nervous, I managed to pull through by staying calm and focused.", |
| "Tomorrow, my goal is to focus on improving my communication skills during team meetings. I want to make sure I’m clear and concise in expressing my ideas.", |
| "I’m grateful for the support I received from my coworkers today. Their encouragement really helped me push through a stressful moment.", |
| "I learned a new approach to managing my time more effectively today. I’m going to apply this to my daily routine to see if it helps me stay more productive." |
| ] |
|
|
| |
| with gr.Blocks(css=css) as journal_app: |
| |
| |
| gr.Markdown("# 📝 Productivity Journal") |
| gr.Markdown("Welcome to your personalized productivity journal. Click an example below or write your thoughts!") |
|
|
| |
| gr.Markdown("### **Click an example to start writing:**") |
| |
| with gr.Row(): |
| for i, entry in enumerate(example_entries): |
| gr.Button(f"Example {i+1}").click(fn=lambda e=entry: fill_prompt(e), inputs=[], outputs="prompt_textbox") |
|
|
| with gr.Row(): |
| with gr.Column(): |
| |
| prompt_textbox = gr.Textbox(label="Write your thoughts here:", placeholder="Start writing or select an example...", elem_id="prompt_box", lines=5) |
| |
| with gr.Column(): |
| |
| output = gr.Textbox(label="Your AI Journal Entry ✨", lines=5) |
| |
| |
| generate_button = gr.Button("Generate Entry ✍️") |
|
|
| |
| generate_button.click(fn=generate_text, inputs=prompt_textbox, outputs=output) |
|
|
| |
| gr.Markdown("🌞 Keep your spirits high and stay productive! 😊") |
| gr.Markdown("Made with ❤️ using Gradio and Llama-3.2") |
|
|
| |
| journal_app.launch() |