Spaces:
Sleeping
Sleeping
Nikolay Ponomarev
commited on
Commit
·
bdae50a
1
Parent(s):
e521542
Item Search
Browse files
app.py
CHANGED
|
@@ -11,7 +11,7 @@ from transformers import pipeline
|
|
| 11 |
DEFAULT_INTENT_MODEL = os.getenv("INTENT_MODEL", "joeddav/xlm-roberta-large-xnli")
|
| 12 |
|
| 13 |
# 2) Checklist generator
|
| 14 |
-
DEFAULT_GEN_MODEL = os.getenv("GEN_MODEL", "
|
| 15 |
|
| 16 |
# 3) QA over checklist
|
| 17 |
DEFAULT_QA_MODEL = os.getenv("QA_MODEL", "deepset/xlm-roberta-base-squad2")
|
|
@@ -161,8 +161,40 @@ def generate_checklist(user_goal: str, category: str, style: str, constraints: s
|
|
| 161 |
prompt,
|
| 162 |
max_new_tokens=450,
|
| 163 |
do_sample=False,
|
|
|
|
| 164 |
)
|
| 165 |
-
text = out[0]
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 166 |
|
| 167 |
# Store in state: checklist text + theme + original goal
|
| 168 |
meta = {
|
|
@@ -271,7 +303,7 @@ with gr.Blocks(title="Умный чек-лист (3 Transformers)") as demo:
|
|
| 271 |
gen_btn = gr.Button("Сгенерировать чек-лист", variant="primary")
|
| 272 |
|
| 273 |
with gr.Column(scale=3):
|
| 274 |
-
checklist_out = gr.
|
| 275 |
intent_debug = gr.Textbox(label="Диагностика распознавания намерения", lines=10)
|
| 276 |
|
| 277 |
theme_out = gr.Textbox(label="Выбранная/распознанная тема (если определилась)", interactive=False)
|
|
|
|
| 11 |
DEFAULT_INTENT_MODEL = os.getenv("INTENT_MODEL", "joeddav/xlm-roberta-large-xnli")
|
| 12 |
|
| 13 |
# 2) Checklist generator
|
| 14 |
+
DEFAULT_GEN_MODEL = os.getenv("GEN_MODEL", "cointegrated/rut5-base")
|
| 15 |
|
| 16 |
# 3) QA over checklist
|
| 17 |
DEFAULT_QA_MODEL = os.getenv("QA_MODEL", "deepset/xlm-roberta-base-squad2")
|
|
|
|
| 161 |
prompt,
|
| 162 |
max_new_tokens=450,
|
| 163 |
do_sample=False,
|
| 164 |
+
num_beams=4,
|
| 165 |
)
|
| 166 |
+
text = (out[0].get("generated_text") or "").strip()
|
| 167 |
+
|
| 168 |
+
# Если модель вернула пусто/слишком коротко — повторим с более "толкающими" параметрами
|
| 169 |
+
if len(text) < 80:
|
| 170 |
+
short_prompt = (
|
| 171 |
+
"Сделай практичный чек-лист на русском.\n"
|
| 172 |
+
"Формат строго:\n"
|
| 173 |
+
"- [ ] пункт\n"
|
| 174 |
+
"Подпункты: ' - ...'\n"
|
| 175 |
+
"В конце: 'Проверка готовности' (3–5 вопросов) и 'Риски и как снизить'.\n\n"
|
| 176 |
+
f"Цель: {user_goal}\n"
|
| 177 |
+
f"Контекст: {constraints}\n"
|
| 178 |
+
f"Тема: {chosen_theme}\n\n"
|
| 179 |
+
"Чек-лист:\n"
|
| 180 |
+
)
|
| 181 |
+
out2 = gen_pipe(
|
| 182 |
+
short_prompt,
|
| 183 |
+
max_new_tokens=500,
|
| 184 |
+
do_sample=True,
|
| 185 |
+
temperature=0.9,
|
| 186 |
+
top_p=0.9,
|
| 187 |
+
)
|
| 188 |
+
text2 = (out2[0].get("generated_text") or "").strip()
|
| 189 |
+
if len(text2) > len(text):
|
| 190 |
+
text = text2
|
| 191 |
+
|
| 192 |
+
# Если всё равно пусто — покажем явное сообщение (а не “как будто ничего нет”)
|
| 193 |
+
if len(text) < 20:
|
| 194 |
+
text = (
|
| 195 |
+
"- [ ] Не удалось сгенерировать чек-лист этой моделью.\n"
|
| 196 |
+
"- [ ] Попробуйте сменить GEN_MODEL (см. ниже) или сократить описание цели.\n"
|
| 197 |
+
)
|
| 198 |
|
| 199 |
# Store in state: checklist text + theme + original goal
|
| 200 |
meta = {
|
|
|
|
| 303 |
gen_btn = gr.Button("Сгенерировать чек-лист", variant="primary")
|
| 304 |
|
| 305 |
with gr.Column(scale=3):
|
| 306 |
+
checklist_out = gr.Code(label="Чек-лист", language="markdown")
|
| 307 |
intent_debug = gr.Textbox(label="Диагностика распознавания намерения", lines=10)
|
| 308 |
|
| 309 |
theme_out = gr.Textbox(label="Выбранная/распознанная тема (если определилась)", interactive=False)
|