lmnindzja commited on
Commit
c8a7187
·
verified ·
1 Parent(s): 94aa6e6

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +14 -20
app.py CHANGED
@@ -54,10 +54,6 @@ def stream_generate(model, tokenizer, prompt, params, max_length, batch_size):
54
  output_ids = input_ids
55
 
56
  for _ in range(max_length // batch_size):
57
- if st.session_state.get("stop_generation", False):
58
- st.warning("Генерация остановлена!")
59
- break
60
-
61
  with torch.no_grad():
62
  outputs = model.generate(
63
  input_ids=output_ids,
@@ -79,10 +75,6 @@ def stream_generate(model, tokenizer, prompt, params, max_length, batch_size):
79
 
80
  # ================ Основное приложение ================
81
  def main():
82
- # Инициализация состояния для кнопки остановки
83
- if "stop_generation" not in st.session_state:
84
- st.session_state.stop_generation = False
85
-
86
  model, tokenizer = load_model()
87
 
88
  # Основные параметры
@@ -98,21 +90,23 @@ def main():
98
 
99
  # Дополнительные настройки
100
  with st.expander("Дополнительные настройки"):
101
- max_length = st.slider("Максимальная длина", 50, 300, 150)
102
- num_variants = st.number_input("Количество вариантов", 1, 5, 1)
103
- batch_size = st.slider("Размер батча токенов", 1, 20, 5, help="Количество токенов за шаг.")
104
- temperature = st.slider("Температура", 0.01, 2.0, temperature, 0.05)
105
- top_p = st.slider("Top-p", 0.01, 1.0, 0.9, 0.05)
106
- top_k = st.number_input("Top-k", 1, 100, top_k)
107
- no_repeat_ngram_size = st.slider("Размер n-грамм для предотвращения повторов", 1, 10, 3)
108
-
109
- # Кнопка для остановки генерации
110
- if st.button("Остановить генерацию"):
111
- st.session_state.stop_generation = True
 
 
 
112
 
113
  # Генерация текста
114
  if st.button("Сгенерировать"):
115
- st.session_state.stop_generation = False # Сбрасываем состояние остановки
116
  if not key_words:
117
  st.warning("Введите ключевые слова.")
118
  return
 
54
  output_ids = input_ids
55
 
56
  for _ in range(max_length // batch_size):
 
 
 
 
57
  with torch.no_grad():
58
  outputs = model.generate(
59
  input_ids=output_ids,
 
75
 
76
  # ================ Основное приложение ================
77
  def main():
 
 
 
 
78
  model, tokenizer = load_model()
79
 
80
  # Основные параметры
 
90
 
91
  # Дополнительные настройки
92
  with st.expander("Дополнительные настройки"):
93
+ max_length = st.slider("Максимальная длина", 50, 300, 150,
94
+ help="Определяет максимальное количество токенов в тексте. Большее значение увеличивает длину отзыва.")
95
+ num_variants = st.number_input("Количество вариантов", 1, 5, 1,
96
+ help="Сколько вариантов текста будет сгенерировано.")
97
+ batch_size = st.slider("Размер батча токенов", 1, 20, 5,
98
+ help="Количество токенов, генерируемых за один шаг. Больше – быстрее, но менее плавный вывод.")
99
+ temperature = st.slider("Температура", 0.01, 2.0, temperature, 0.05,
100
+ help="Регулирует степень случайности текста. Низкие значения делают текст более предсказуемым.")
101
+ top_p = st.slider("Top-p", 0.01, 1.0, 0.9, 0.05,
102
+ help="Фильтрует токены с низкой вероятностью. Меньшие значения делают текст более логичным.")
103
+ top_k = st.number_input("Top-k", 1, 100, top_k,
104
+ help="Ограничивает количество рассматриваемых токенов на каждом шаге. Меньшие значения делают текст точнее.")
105
+ no_repeat_ngram_size = st.slider("Размер n-грамм для предотвращения повторов", 1, 10, 3,
106
+ help="Предотвращает повторение фраз длиной n-грамм.")
107
 
108
  # Генерация текста
109
  if st.button("Сгенерировать"):
 
110
  if not key_words:
111
  st.warning("Введите ключевые слова.")
112
  return