Leo8613 commited on
Commit
e2873ba
·
verified ·
1 Parent(s): a0d99a3

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +9 -9
app.py CHANGED
@@ -8,15 +8,15 @@ model = AutoModelForCausalLM.from_pretrained("unsloth/Llama-3.2-1B")
8
  # Use a pipeline for text generation
9
  text_gen_pipeline = pipeline("text-generation", model=model, tokenizer=tokenizer)
10
 
11
- # Text generation function with stronger penalties and no_repeat_ngram_size
12
- def generate_text(prompt, max_length=40, temperature=0.8, top_p=0.9, top_k=40, repetition_penalty=1.5, no_repeat_ngram_size=4):
13
  generated_text = text_gen_pipeline(prompt,
14
  max_length=max_length,
15
  temperature=temperature,
16
  top_p=top_p,
17
  top_k=top_k,
18
- repetition_penalty=repetition_penalty, # Stronger repetition penalty
19
- no_repeat_ngram_size=no_repeat_ngram_size, # Higher n-gram size to reduce repetition
20
  num_return_sequences=1)
21
  return generated_text[0]['generated_text']
22
 
@@ -28,22 +28,22 @@ with gr.Blocks() as demo:
28
  prompt_input = gr.Textbox(label="Input (Prompt)", placeholder="Enter your prompt here...")
29
 
30
  # Slider for maximum text length
31
- max_length_input = gr.Slider(minimum=10, maximum=200, value=40, step=10, label="Maximum Length")
32
 
33
  # Slider for temperature (controls creativity)
34
- temperature_input = gr.Slider(minimum=0.1, maximum=1.0, value=0.8, step=0.1, label="Temperature (creativity)")
35
 
36
  # Slider for top_p (nucleus sampling)
37
  top_p_input = gr.Slider(minimum=0.1, maximum=1.0, value=0.9, step=0.1, label="Top-p (nucleus sampling)")
38
 
39
  # Slider for top_k (controls diversity)
40
- top_k_input = gr.Slider(minimum=1, maximum=100, value=40, step=1, label="Top-k (sampling diversity)")
41
 
42
  # Slider for repetition penalty
43
- repetition_penalty_input = gr.Slider(minimum=1.0, maximum=2.0, value=1.5, step=0.1, label="Repetition Penalty")
44
 
45
  # Slider for no_repeat_ngram_size
46
- no_repeat_ngram_size_input = gr.Slider(minimum=1, maximum=10, value=4, step=1, label="No Repeat N-Gram Size")
47
 
48
  # Output box for the generated text
49
  output_text = gr.Textbox(label="Generated Text")
 
8
  # Use a pipeline for text generation
9
  text_gen_pipeline = pipeline("text-generation", model=model, tokenizer=tokenizer)
10
 
11
+ # Text generation function with repetition penalty and no_repeat_ngram_size
12
+ def generate_text(prompt, max_length=50, temperature=0.7, top_p=0.9, top_k=50, repetition_penalty=1.2, no_repeat_ngram_size=3):
13
  generated_text = text_gen_pipeline(prompt,
14
  max_length=max_length,
15
  temperature=temperature,
16
  top_p=top_p,
17
  top_k=top_k,
18
+ repetition_penalty=repetition_penalty, # Penalty to avoid repetitions
19
+ no_repeat_ngram_size=no_repeat_ngram_size, # Avoid repeating n-grams
20
  num_return_sequences=1)
21
  return generated_text[0]['generated_text']
22
 
 
28
  prompt_input = gr.Textbox(label="Input (Prompt)", placeholder="Enter your prompt here...")
29
 
30
  # Slider for maximum text length
31
+ max_length_input = gr.Slider(minimum=10, maximum=200, value=50, step=10, label="Maximum Length")
32
 
33
  # Slider for temperature (controls creativity)
34
+ temperature_input = gr.Slider(minimum=0.1, maximum=1.0, value=0.7, step=0.1, label="Temperature (creativity)")
35
 
36
  # Slider for top_p (nucleus sampling)
37
  top_p_input = gr.Slider(minimum=0.1, maximum=1.0, value=0.9, step=0.1, label="Top-p (nucleus sampling)")
38
 
39
  # Slider for top_k (controls diversity)
40
+ top_k_input = gr.Slider(minimum=1, maximum=100, value=50, step=1, label="Top-k (sampling diversity)")
41
 
42
  # Slider for repetition penalty
43
+ repetition_penalty_input = gr.Slider(minimum=1.0, maximum=2.0, value=1.2, step=0.1, label="Repetition Penalty")
44
 
45
  # Slider for no_repeat_ngram_size
46
+ no_repeat_ngram_size_input = gr.Slider(minimum=1, maximum=10, value=3, step=1, label="No Repeat N-Gram Size")
47
 
48
  # Output box for the generated text
49
  output_text = gr.Textbox(label="Generated Text")