Spaces:
Sleeping
Sleeping
Update app.py
Browse files
app.py
CHANGED
@@ -8,20 +8,24 @@ model = T5ForConditionalGeneration.from_pretrained("cointegrated/rut5-base-multi
|
|
8 |
|
9 |
# Функция генерации мета-тегов
|
10 |
def generate_meta_tags(description):
|
|
|
|
|
|
|
|
|
11 |
prompt = """
|
12 |
Описание товара:
|
13 |
-
{description
|
14 |
|
15 |
Задача: Создай SEO-оптимизированные мета-теги из описания товара.
|
16 |
Формат вывода:
|
17 |
-
{
|
18 |
-
|
19 |
|
20 |
inputs = tokenizer(prompt, return_tensors="pt")
|
21 |
with torch.no_grad():
|
22 |
outputs = model.generate(
|
23 |
**inputs,
|
24 |
-
max_new_tokens=
|
25 |
pad_token_id=tokenizer.eos_token_id,
|
26 |
eos_token_id=tokenizer.eos_token_id,
|
27 |
do_sample=True,
|
@@ -29,6 +33,15 @@ def generate_meta_tags(description):
|
|
29 |
)
|
30 |
generated_text = tokenizer.decode(outputs[0], skip_special_tokens=True)
|
31 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
32 |
return generated_text
|
33 |
|
34 |
|
|
|
8 |
|
9 |
# Функция генерации мета-тегов
|
10 |
def generate_meta_tags(description):
|
11 |
+
# Очищаем описание
|
12 |
+
description = description.strip()
|
13 |
+
|
14 |
+
# Формируем промт
|
15 |
prompt = """
|
16 |
Описание товара:
|
17 |
+
{description}
|
18 |
|
19 |
Задача: Создай SEO-оптимизированные мета-теги из описания товара.
|
20 |
Формат вывода:
|
21 |
+
{"title": "SEO заголовок до 60 символов", "description": "SEO описание до 160 символов"}
|
22 |
+
""".format(description=description)
|
23 |
|
24 |
inputs = tokenizer(prompt, return_tensors="pt")
|
25 |
with torch.no_grad():
|
26 |
outputs = model.generate(
|
27 |
**inputs,
|
28 |
+
max_new_tokens=200,
|
29 |
pad_token_id=tokenizer.eos_token_id,
|
30 |
eos_token_id=tokenizer.eos_token_id,
|
31 |
do_sample=True,
|
|
|
33 |
)
|
34 |
generated_text = tokenizer.decode(outputs[0], skip_special_tokens=True)
|
35 |
|
36 |
+
# Принудительно исправляем JSON, если он сломан
|
37 |
+
import re
|
38 |
+
match = re.search(r'\{.*\}', generated_text, re.DOTALL)
|
39 |
+
if match:
|
40 |
+
generated_text = match.group(0)
|
41 |
+
|
42 |
+
generated_text = generated_text.replace('\n', ' ').replace('“','"').replace('”','"')
|
43 |
+
print("Prompt:", prompt)
|
44 |
+
print("Generated text:", generated_text)
|
45 |
return generated_text
|
46 |
|
47 |
|