Spaces:
Sleeping
Sleeping
Download app.py from sufya12/model_train: direct link, hf CLI and curl.
- Browser
- Download file 3.98 kB
-
https://huggingface.co/spaces/sufya12/model_train/resolve/main/app.py
- Command line
-
hf download hf://spaces/sufya12/model_train/app.py
-
curl -L -o app.py https://huggingface.co/spaces/sufya12/model_train/resolve/main/app.py
3.98 kB
| import gradio as gr | |
| from transformers import pipeline | |
| import pandas as pd | |
| import logging | |
| # Set up logging | |
| logging.basicConfig(level=logging.INFO) | |
| logger = logging.getLogger(__name__) | |
| class FrenchTitleGenerator: | |
| def __init__(self): | |
| try: | |
| # Load your fine-tuned model from Hugging Face | |
| # Replace with your actual model name after training | |
| self.generator = pipeline( | |
| "translation", | |
| model="sufya12/french-title-model", # Change this to your model | |
| tokenizer="sufya12/french-title-model" | |
| ) | |
| logger.info("✅ Model loaded successfully from Hugging Face") | |
| except Exception as e: | |
| logger.error(f"❌ Error loading model: {e}") | |
| self.generator = None | |
| def generate_title(self, year, city, event_description, temperature=0.8, max_length=60): | |
| if not self.generator: | |
| return "Error: Model not loaded. Please check the logs." | |
| try: | |
| # Create input prompt | |
| input_text = f"Generate French title: Year: {year} City: {city} Event: {event_description}" | |
| # Generate title | |
| result = self.generator( | |
| input_text, | |
| max_length=max_length, | |
| num_beams=3, | |
| temperature=temperature, | |
| do_sample=True, | |
| early_stopping=True | |
| ) | |
| return result[0]['translation_text'] | |
| except Exception as e: | |
| return f"Error generating title: {str(e)}" | |
| # Initialize the generator | |
| title_generator = FrenchTitleGenerator() | |
| # Gradio interface | |
| def generate_french_title(year, city, event_description, temperature, max_length): | |
| return title_generator.generate_title(year, city, event_description, temperature, max_length) | |
| # Create the interface | |
| with gr.Blocks(theme=gr.themes.Soft()) as demo: | |
| gr.Markdown("# 🇫🇷 French Event Title Generator") | |
| gr.Markdown("Generate professional French event titles using AI!") | |
| with gr.Row(): | |
| with gr.Column(): | |
| year_input = gr.Textbox( | |
| label="Year", | |
| placeholder="e.g., 2025", | |
| value="2025" | |
| ) | |
| city_input = gr.Textbox( | |
| label="City", | |
| placeholder="e.g., Paris", | |
| value="Paris" | |
| ) | |
| event_input = gr.Textbox( | |
| label="Event Description", | |
| placeholder="Describe your event in English...", | |
| lines=3 | |
| ) | |
| with gr.Row(): | |
| temperature_slider = gr.Slider( | |
| minimum=0.1, | |
| maximum=1.5, | |
| value=0.8, | |
| step=0.1, | |
| label="Creativity Level" | |
| ) | |
| max_length_slider = gr.Slider( | |
| minimum=20, | |
| maximum=100, | |
| value=60, | |
| step=5, | |
| label="Title Length" | |
| ) | |
| generate_btn = gr.Button("Generate Title 🚀", variant="primary") | |
| with gr.Column(): | |
| output_text = gr.Textbox( | |
| label="Generated French Title", | |
| lines=4, | |
| show_copy_button=True | |
| ) | |
| # Examples | |
| gr.Examples( | |
| examples=[ | |
| ["2025", "Paris", "Summer Jazz Festival in the Park"], | |
| ["2024", "Lyon", "International Food and Wine Exhibition"], | |
| ["2025", "Nice", "Beach Music Concert and Party"] | |
| ], | |
| inputs=[year_input, city_input, event_input] | |
| ) | |
| generate_btn.click( | |
| fn=generate_french_title, | |
| inputs=[year_input, city_input, event_input, temperature_slider, max_length_slider], | |
| outputs=output_text | |
| ) | |
| if __name__ == "__main__": | |
| demo.launch() |