DemahAlmutairi commited on
Commit
06a2ca5
·
verified ·
1 Parent(s): 27ff250

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +25 -19
app.py CHANGED
@@ -1,8 +1,12 @@
 
1
  import gradio as gr
2
  from transformers import AutoModelForCausalLM, AutoTokenizer, pipeline
3
  import torch
4
  import spaces
5
 
 
 
 
6
  def get_model_name(language):
7
  """Map language choice to the corresponding model."""
8
  model_mapping = {
@@ -26,50 +30,52 @@ def load_model(model_name):
26
  tokenizer=tokenizer,
27
  return_full_text=False,
28
  max_new_tokens=500,
29
- do_sample=False
 
 
30
  )
31
  return generator
 
32
  @spaces.GPU
33
- def generate_plant_info(plant_name, language):
34
  model_name = get_model_name(language)
35
  generator = load_model(model_name)
36
 
37
  # Define prompt for the AI model
38
  if language == "English":
39
- prompt = (f"Provide detailed information about {plant_name}. "
40
- f"Include its scientific name, growing conditions (light, water, soil type), "
41
- f"common uses, and care tips.")
42
  else:
43
- prompt = (f"قدم معلومات مفصلة عن {plant_name}. "
44
- f"اذكر اسمه العلمي، وظروف نموه (الضوء، الماء، نوع التربة)، "
45
- f"استخداماته الشائعة، ونصائح العناية به.")
46
 
47
  messages = [{"role": "user", "content": prompt}]
48
  output = generator(messages)
49
  return output[0]["generated_text"]
50
 
51
-
52
  # Create Gradio interface
53
  demo = gr.Interface(
54
- fn=generate_plant_info,
55
  inputs=[
56
- gr.Textbox(placeholder="Enter plant name (e.g., Lavender, Aloe Vera)...", label="Plant Name"),
 
57
  gr.Dropdown(
58
- choices=["English", "Arabic"], # Users choose the language, not the model name
59
  label="Choose Language",
60
  value="English" # Default to English
61
  )
62
  ],
63
- outputs=gr.Textbox(label="Plant Information"),
64
- title="🌿 AI Plant Guide - English & Arabic 🌿",
65
- description="Enter a plant name, and AI will provide detailed information about it in English or Arabic.",
66
  examples=[
67
- ["Lavender", "English"],
68
- ["اللافندر", "Arabic"],
69
- ["Tulip", "English"],
70
- ["الصبار", "Arabic"]
71
  ],
72
  theme="default",
73
  )
74
 
 
75
  demo.launch()
 
1
+ import os
2
  import gradio as gr
3
  from transformers import AutoModelForCausalLM, AutoTokenizer, pipeline
4
  import torch
5
  import spaces
6
 
7
+ # Create the necessary directories
8
+ os.makedirs('.gradio/cached_examples/17', exist_ok=True)
9
+
10
  def get_model_name(language):
11
  """Map language choice to the corresponding model."""
12
  model_mapping = {
 
30
  tokenizer=tokenizer,
31
  return_full_text=False,
32
  max_new_tokens=500,
33
+ do_sample=True, # Enable sampling for more creative outputs
34
+ top_k=50, # Control diversity
35
+ top_p=0.95 # Control diversity
36
  )
37
  return generator
38
+
39
  @spaces.GPU
40
+ def generate_kids_story(character, setting, language):
41
  model_name = get_model_name(language)
42
  generator = load_model(model_name)
43
 
44
  # Define prompt for the AI model
45
  if language == "English":
46
+ prompt = (f"Write a short story for kids about a character named {character} who goes on an adventure in {setting}. "
47
+ "Make it fun, engaging, and suitable for children.")
 
48
  else:
49
+ prompt = (f"اكتب قصة قصيرة للأطفال عن شخصية اسمها {character} التي تذهب في مغامرة في {setting}. "
50
+ "اجعلها ممتعة وجذابة ومناسبة للأطفال.")
 
51
 
52
  messages = [{"role": "user", "content": prompt}]
53
  output = generator(messages)
54
  return output[0]["generated_text"]
55
 
 
56
  # Create Gradio interface
57
  demo = gr.Interface(
58
+ fn=generate_kids_story,
59
  inputs=[
60
+ gr.Textbox(placeholder="Enter a character name (e.g., Benny the Bunny)...", label="Character Name"),
61
+ gr.Textbox(placeholder="Enter a setting (e.g., a magical forest)...", label="Setting"),
62
  gr.Dropdown(
63
+ choices=["English", "Arabic"],
64
  label="Choose Language",
65
  value="English" # Default to English
66
  )
67
  ],
68
+ outputs=gr.Textbox(label="Kids' Story"),
69
+ title="📖 AI Kids' Story Generator - English & Arabic 📖",
70
+ description="Enter a character name and a setting, and AI will generate a fun short story for kids in English or Arabic.",
71
  examples=[
72
+ ["Benny the Bunny", "a magical forest", "English"],
73
+ ["علي البطل", "غابة سحرية", "Arabic"],
74
+ ["Lila the Ladybug", "a garden full of flowers", "English"],
75
+ ["ليلى الجنية", "حديقة مليئة بالأزهار", "Arabic"]
76
  ],
77
  theme="default",
78
  )
79
 
80
+ # Launch the Gradio app
81
  demo.launch()