derek0890 commited on
Commit
d169e6c
·
verified ·
1 Parent(s): 864edbd

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +12 -12
app.py CHANGED
@@ -1,14 +1,13 @@
1
  import gradio as gr
2
  from transformers import pipeline
3
 
4
- # Load the powerful open-source model
5
  generator = pipeline(
6
  "text-generation",
7
- model="mistralai/Mistral-7B-Instruct-v0.1",
8
- device_map="auto" # If running locally with GPU; otherwise remove
9
  )
10
 
11
- # Define max length recommendations
12
  max_lengths = {
13
  "social media post": 280,
14
  "email newsletter": 800,
@@ -18,15 +17,15 @@ max_lengths = {
18
 
19
  def generate_marketing_text(prompt, content_type, _, temperature=0.7):
20
  """
21
- Generate marketing text using Mistral 7B based on topic and content type.
22
  """
23
- # Clean and enhance prompt
24
- enhanced_prompt = f"Write a {content_type} for this product: {prompt}\nMake it engaging, professional, and persuasive."
25
 
26
- # Determine proper max_length for the type
27
  max_length = max_lengths.get(content_type, 400)
28
 
29
- # Generate the text
30
  result = generator(
31
  enhanced_prompt,
32
  max_length=max_length,
@@ -37,7 +36,7 @@ def generate_marketing_text(prompt, content_type, _, temperature=0.7):
37
 
38
  return result[0]['generated_text']
39
 
40
- # Gradio UI
41
  demo = gr.Interface(
42
  fn=generate_marketing_text,
43
  inputs=[
@@ -47,12 +46,13 @@ demo = gr.Interface(
47
  label="Content Type",
48
  value="social media post"
49
  ),
50
- gr.Slider(minimum=50, maximum=800, value=280, step=10, label="(Disabled) Max Length", interactive=False),
51
  gr.Slider(minimum=0.1, maximum=1.0, value=0.7, step=0.1, label="Creativity (Temperature)")
52
  ],
53
  outputs=gr.Textbox(lines=10, label="Generated Marketing Content"),
54
  title="AdGenAI - Marketing Content Generator",
55
- description="Enter a topic and select a content type to generate persuasive, high-quality marketing content using Mistral 7B."
56
  )
57
 
 
58
  demo.launch()
 
1
  import gradio as gr
2
  from transformers import pipeline
3
 
4
+ # Load GPT-Neo model, optimized for CPU usage
5
  generator = pipeline(
6
  "text-generation",
7
+ model="EleutherAI/gpt-neo-1.3B" # Runs fine on CPU Basic tier
 
8
  )
9
 
10
+ # Recommended length per content type
11
  max_lengths = {
12
  "social media post": 280,
13
  "email newsletter": 800,
 
17
 
18
  def generate_marketing_text(prompt, content_type, _, temperature=0.7):
19
  """
20
+ Generate marketing text using GPT-Neo based on topic and content type.
21
  """
22
+ # Smart prompt engineering for better output
23
+ enhanced_prompt = f"Write a {content_type} for the following product: {prompt}\nMake it persuasive, professional, and engaging."
24
 
25
+ # Choose max_length based on content type
26
  max_length = max_lengths.get(content_type, 400)
27
 
28
+ # Generate text using the model
29
  result = generator(
30
  enhanced_prompt,
31
  max_length=max_length,
 
36
 
37
  return result[0]['generated_text']
38
 
39
+ # Gradio UI definition
40
  demo = gr.Interface(
41
  fn=generate_marketing_text,
42
  inputs=[
 
46
  label="Content Type",
47
  value="social media post"
48
  ),
49
+ gr.Slider(minimum=50, maximum=800, value=280, step=10, label="(Auto-set) Max Length", interactive=False),
50
  gr.Slider(minimum=0.1, maximum=1.0, value=0.7, step=0.1, label="Creativity (Temperature)")
51
  ],
52
  outputs=gr.Textbox(lines=10, label="Generated Marketing Content"),
53
  title="AdGenAI - Marketing Content Generator",
54
+ description="Free-tier friendly version using GPT-Neo 1.3B. Enter a topic and select the type of content you want to generate."
55
  )
56
 
57
+ # Launch the app
58
  demo.launch()