File size: 1,682 Bytes
275f473
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
from transformers import T5Tokenizer, AutoModelForSeq2SeqLM

# Загрузка токенизатора и модели
tokenizer = T5Tokenizer.from_pretrained("D:/MyAI/IGM/googleflan-t5-large/")
model = AutoModelForSeq2SeqLM.from_pretrained("D:/MyAI/IGM/googleflan-t5-large/")

def generate_answer(input_text):
    # Формируем запрос к модели с явным указанием задачи
    prompt = f"{input_text}"
    
    # Подготовка текста для модели
    inputs = tokenizer.encode(prompt, return_tensors="pt", max_length=512, truncation=True)
    
    # Генерация ответа
    outputs = model.generate(
        inputs, 
        max_length=400,  # Увеличим максимальную длину вывода
        num_beams=30,     # Используем beam search с 5 путями
        early_stopping=True, 
        repetition_penalty=0.9,  # Добавим штраф за повторения
        no_repeat_ngram_size=15   # Предотвращаем повторение трехграмм
    )
    
    # Декодирование и вывод текста
    answer = tokenizer.decode(outputs[0], skip_special_tokens=True)
    return answer

print("Запуск чата с моделью T5. Введите 'exit' для выхода.")

while True:
    input_text = input()
    if input_text.lower() == "exit":
        break
    
    # Вывод запроса
    print(f"Вы: {input_text}")
    
    # Генерация ответа
    answer = generate_answer(input_text)
    
    # Вывод ответа
    print(f"AI: {answer}")