nicholasKluge commited on
Commit
cebeefc
1 Parent(s): 1440678

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +5 -3
app.py CHANGED
@@ -68,16 +68,18 @@ with gr.Blocks(theme='freddyaboulton/dracula_revamped') as demo:
68
  top_k = gr.Slider(minimum=10, maximum=100, value=50, step=5, interactive=True, label="Top-k", info="Controla o número de tokens de maior probabilidade a considerar em cada passo.")
69
  top_p = gr.Slider(minimum=0.1, maximum=1.0, value=0.50, step=0.05, interactive=True, label="Top-p", info="Controla a probabilidade cumulativa dos tokens gerados.")
70
  temperature = gr.Slider(minimum=0.1, maximum=2.0, value=0.1, step=0.1, interactive=True, label="Temperatura", info="Controla a aleatoriedade dos tokens gerados.")
 
71
  max_length = gr.Slider(minimum=10, maximum=500, value=100, step=10, interactive=True, label="Comprimento Máximo", info="Controla o comprimento máximo do texto gerado.")
72
  smaple_from = gr.Slider(minimum=2, maximum=10, value=2, step=1, interactive=True, label="Amostragem por Rejeição", info="Controla o número de gerações a partir das quais o modelo de recompensa irá selecionar.")
73
 
 
74
  clear = gr.Button("Limpar Conversa 🧹")
75
  gr.Markdown(disclaimer)
76
 
77
  def user(user_message, chat_history):
78
  return gr.update(value=user_message, interactive=True), chat_history + [["👤 " + user_message, None]]
79
 
80
- def generate_response(user_msg, top_p, temperature, top_k, max_length, smaple_from, safety, chat_history):
81
 
82
  inputs = tokenizer(tokenizer.bos_token + user_msg + tokenizer.eos_token, return_tensors="pt").to(model.device)
83
 
@@ -85,7 +87,7 @@ with gr.Blocks(theme='freddyaboulton/dracula_revamped') as demo:
85
  bos_token_id=tokenizer.bos_token_id,
86
  pad_token_id=tokenizer.pad_token_id,
87
  eos_token_id=tokenizer.eos_token_id,
88
- repetition_penalty=1.8,
89
  do_sample=True,
90
  early_stopping=True,
91
  top_k=top_k,
@@ -145,7 +147,7 @@ with gr.Blocks(theme='freddyaboulton/dracula_revamped') as demo:
145
  yield chat_history
146
 
147
  response = msg.submit(user, [msg, chatbot], [msg, chatbot], queue=False).then(
148
- generate_response, [msg, top_p, temperature, top_k, max_length, smaple_from, safety, chatbot], chatbot
149
  )
150
  response.then(lambda: gr.update(interactive=True), None, [msg], queue=False)
151
  msg.submit(lambda x: gr.update(value=''), None,[msg])
 
68
  top_k = gr.Slider(minimum=10, maximum=100, value=50, step=5, interactive=True, label="Top-k", info="Controla o número de tokens de maior probabilidade a considerar em cada passo.")
69
  top_p = gr.Slider(minimum=0.1, maximum=1.0, value=0.50, step=0.05, interactive=True, label="Top-p", info="Controla a probabilidade cumulativa dos tokens gerados.")
70
  temperature = gr.Slider(minimum=0.1, maximum=2.0, value=0.1, step=0.1, interactive=True, label="Temperatura", info="Controla a aleatoriedade dos tokens gerados.")
71
+ repetition_penalty = gr.Slider(minimum=1, maximum=2, value=1.5, step=0.1, interactive=True, label="Penalidade de Repetição", info="Valores mais altos auxiliam o modelo a evitar repetições na geração de texto.")
72
  max_length = gr.Slider(minimum=10, maximum=500, value=100, step=10, interactive=True, label="Comprimento Máximo", info="Controla o comprimento máximo do texto gerado.")
73
  smaple_from = gr.Slider(minimum=2, maximum=10, value=2, step=1, interactive=True, label="Amostragem por Rejeição", info="Controla o número de gerações a partir das quais o modelo de recompensa irá selecionar.")
74
 
75
+
76
  clear = gr.Button("Limpar Conversa 🧹")
77
  gr.Markdown(disclaimer)
78
 
79
  def user(user_message, chat_history):
80
  return gr.update(value=user_message, interactive=True), chat_history + [["👤 " + user_message, None]]
81
 
82
+ def generate_response(user_msg, top_p, temperature, top_k, max_length, smaple_from, repetition_penalty, safety, chat_history):
83
 
84
  inputs = tokenizer(tokenizer.bos_token + user_msg + tokenizer.eos_token, return_tensors="pt").to(model.device)
85
 
 
87
  bos_token_id=tokenizer.bos_token_id,
88
  pad_token_id=tokenizer.pad_token_id,
89
  eos_token_id=tokenizer.eos_token_id,
90
+ repetition_penalty=repetition_penalty,
91
  do_sample=True,
92
  early_stopping=True,
93
  top_k=top_k,
 
147
  yield chat_history
148
 
149
  response = msg.submit(user, [msg, chatbot], [msg, chatbot], queue=False).then(
150
+ generate_response, [msg, top_p, temperature, top_k, max_length, smaple_from, repetition_penalty, safety, chatbot], chatbot
151
  )
152
  response.then(lambda: gr.update(interactive=True), None, [msg], queue=False)
153
  msg.submit(lambda x: gr.update(value=''), None,[msg])