AndrewOficial commited on
Commit
275f473
1 Parent(s): a5ec982

Upload 6 files

Browse files
Files changed (1) hide show
  1. chat.py +42 -0
chat.py ADDED
@@ -0,0 +1,42 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ from transformers import T5Tokenizer, AutoModelForSeq2SeqLM
2
+
3
+ # Загрузка токенизатора и модели
4
+ tokenizer = T5Tokenizer.from_pretrained("D:/MyAI/IGM/googleflan-t5-large/")
5
+ model = AutoModelForSeq2SeqLM.from_pretrained("D:/MyAI/IGM/googleflan-t5-large/")
6
+
7
+ def generate_answer(input_text):
8
+ # Формируем запрос к модели с явным указанием задачи
9
+ prompt = f"{input_text}"
10
+
11
+ # Подготовка текста для модели
12
+ inputs = tokenizer.encode(prompt, return_tensors="pt", max_length=512, truncation=True)
13
+
14
+ # Генерация ответа
15
+ outputs = model.generate(
16
+ inputs,
17
+ max_length=400, # Увеличим максимальную длину вывода
18
+ num_beams=30, # Используем beam search с 5 путями
19
+ early_stopping=True,
20
+ repetition_penalty=0.9, # Добавим штраф за повторения
21
+ no_repeat_ngram_size=15 # Предотвращаем повторение трехграмм
22
+ )
23
+
24
+ # Декодирование и вывод текста
25
+ answer = tokenizer.decode(outputs[0], skip_special_tokens=True)
26
+ return answer
27
+
28
+ print("Запуск чата с моделью T5. Введите 'exit' для выхода.")
29
+
30
+ while True:
31
+ input_text = input()
32
+ if input_text.lower() == "exit":
33
+ break
34
+
35
+ # Вывод запроса
36
+ print(f"Вы: {input_text}")
37
+
38
+ # Генерация ответа
39
+ answer = generate_answer(input_text)
40
+
41
+ # Вывод ответа
42
+ print(f"AI: {answer}")