SimrusDenuvo commited on
Commit
13917a5
·
verified ·
1 Parent(s): 42ccf19

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +10 -9
app.py CHANGED
@@ -2,32 +2,33 @@ from transformers import AutoTokenizer, AutoModelForCausalLM
2
  import torch
3
  import gradio as gr
4
 
5
- # Загрузка модели и токенизатора
6
  model_name = "sberbank-ai/rugpt3medium_based_on_gpt2"
 
 
7
  tokenizer = AutoTokenizer.from_pretrained(model_name)
8
  model = AutoModelForCausalLM.from_pretrained(model_name)
9
 
10
- # Функция генерации ответа
11
  def generate_response(prompt):
12
- instruction = f"Ответь кратко и понятно на вопрос: {prompt.strip()}"
13
  input_ids = tokenizer.encode(instruction, return_tensors="pt")
14
 
15
- # Генерация ответа
16
  output = model.generate(
17
  input_ids,
18
- max_length=150,
19
  do_sample=True,
20
  top_k=50,
21
  top_p=0.95,
22
- temperature=0.8,
23
  pad_token_id=tokenizer.eos_token_id,
24
  eos_token_id=tokenizer.eos_token_id
25
  )
26
 
27
- # Декодирование и удаление излишней части промпта
28
  response = tokenizer.decode(output[0], skip_special_tokens=True)
29
-
30
- # Возвращаем только ответ, без дублирования запроса
31
  return response.replace(instruction, "").strip()
32
 
33
  # Интерфейс Gradio
 
2
  import torch
3
  import gradio as gr
4
 
5
+ # Название модели
6
  model_name = "sberbank-ai/rugpt3medium_based_on_gpt2"
7
+
8
+ # Загрузка модели и токенизатора
9
  tokenizer = AutoTokenizer.from_pretrained(model_name)
10
  model = AutoModelForCausalLM.from_pretrained(model_name)
11
 
12
+ # Функция для генерации ответа
13
  def generate_response(prompt):
14
+ instruction = f"Ответь кратко и по существу на вопрос:\n{prompt.strip()}\nОтвет:"
15
  input_ids = tokenizer.encode(instruction, return_tensors="pt")
16
 
17
+ # Параметры генерации для уменьшения времени отклика
18
  output = model.generate(
19
  input_ids,
20
+ max_new_tokens=50, # Уменьшение числа токенов для более короткого ответа
21
  do_sample=True,
22
  top_k=50,
23
  top_p=0.95,
24
+ temperature=0.7, # Уменьшение случайности
25
  pad_token_id=tokenizer.eos_token_id,
26
  eos_token_id=tokenizer.eos_token_id
27
  )
28
 
 
29
  response = tokenizer.decode(output[0], skip_special_tokens=True)
30
+
31
+ # Убираем часть промпта из начала
32
  return response.replace(instruction, "").strip()
33
 
34
  # Интерфейс Gradio