Spaces:
Sleeping
Sleeping
Update app.py
Browse files
app.py
CHANGED
@@ -7,16 +7,12 @@ tokenizer = AutoTokenizer.from_pretrained("cointegrated/rut5-base-multitask")
|
|
7 |
model = T5ForConditionalGeneration.from_pretrained("cointegrated/rut5-base-multitask")
|
8 |
|
9 |
# Функция генерации мета-тегов
|
10 |
-
|
11 |
-
# Очищаем описание
|
12 |
-
description = description.strip()
|
13 |
-
|
14 |
-
# Формируем промт
|
15 |
prompt = """
|
16 |
Описание товара:
|
17 |
{description}
|
18 |
|
19 |
-
Задача:
|
20 |
Формат вывода:
|
21 |
{"title": "SEO заголовок до 60 символов", "description": "SEO описание до 160 символов"}
|
22 |
""".format(description=description)
|
@@ -31,18 +27,22 @@ def generate_meta_tags(description):
|
|
31 |
do_sample=True,
|
32 |
temperature=0.7
|
33 |
)
|
34 |
-
|
35 |
-
|
36 |
-
|
37 |
-
|
38 |
-
|
39 |
-
|
40 |
-
generated_text
|
41 |
-
|
42 |
-
|
43 |
-
|
44 |
-
|
45 |
-
|
|
|
|
|
|
|
|
|
46 |
|
47 |
|
48 |
# Интерфейс Gradio
|
|
|
7 |
model = T5ForConditionalGeneration.from_pretrained("cointegrated/rut5-base-multitask")
|
8 |
|
9 |
# Функция генерации мета-тегов
|
10 |
+
# Формируем чёткий и понятный промт
|
|
|
|
|
|
|
|
|
11 |
prompt = """
|
12 |
Описание товара:
|
13 |
{description}
|
14 |
|
15 |
+
Задача: создать SEO мета-теги для этого товара.
|
16 |
Формат вывода:
|
17 |
{"title": "SEO заголовок до 60 символов", "description": "SEO описание до 160 символов"}
|
18 |
""".format(description=description)
|
|
|
27 |
do_sample=True,
|
28 |
temperature=0.7
|
29 |
)
|
30 |
+
|
31 |
+
generated_text = tokenizer.decode(outputs[0], skip_special_tokens=True).strip()
|
32 |
+
|
33 |
+
# Проверяем, является ли вывод JSON
|
34 |
+
if generated_text.startswith("{") and generated_text.endswith("}"):
|
35 |
+
# Если JSON валидный — возвращаем как есть
|
36 |
+
return generated_text.replace('\n', ' ').replace('“', '"').replace('”', '"')
|
37 |
+
else:
|
38 |
+
# Если не получилось — формируем безопасный вариант
|
39 |
+
title = description[:60] # Берём начало описания как title
|
40 |
+
description_short = description[:160]
|
41 |
+
|
42 |
+
return '{"title": "%s", "description": "%s"}' % (
|
43 |
+
title.replace('"', "").replace("\\", ""),
|
44 |
+
description_short.replace('"', "").replace("\\", "")
|
45 |
+
)
|
46 |
|
47 |
|
48 |
# Интерфейс Gradio
|