File size: 1,590 Bytes
ff38b3b
77b15dd
 
ff38b3b
77b15dd
 
 
ff38b3b
77b15dd
 
 
 
 
 
 
 
 
 
ff38b3b
 
 
8efe9c3
ff38b3b
 
 
 
 
8efe9c3
ff38b3b
 
 
5b92fa1
 
 
 
 
 
77b15dd
5b92fa1
 
 
 
 
ff38b3b
5b92fa1
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
44
45
46
import streamlit as st
from transformers import AutoTokenizer, AutoModelForCausalLM
# from transformers import pipeline

model_name = "ai-forever/mGPT"
tokenizer = AutoTokenizer.from_pretrained(model_name)
model = AutoModelForCausalLM.from_pretrained(model_name)


# Декоратор @st.cache говорит Streamlit, что модель нужно загрузить только один раз, чтобы избежать утечек памяти
# @st.cache_resource
# загружает модель
# def load_model():
    # return pipeline("text-generation", model=model, tokenizer=tokenizer)


# Загружаем предварительно обученную модель
# answer = load_model()

# Выводим заголовок страницы
st.title("Помощник студента")
st.write("Приложение поможет найти ответы на ваши вопросы")

# Получаем текст для анализа
text = st.text_area("Введите запрос")

# Создаем кнопку
button = st.button('Получить ответ')

# Выводим результат по нажатию кнопки
if button:
    input_ids = tokenizer.encode(text, return_tensors="pt")
    out = model.generate(
        input_ids, 
        min_length=100, 
        max_length=100, 
        eos_token_id=5, 
        #pad_token=1,
        top_k=10,
        top_p=0.0,
        no_repeat_ngram_size=5
    )
    generated_text = list(map(tokenizer.decode, out))[0]
    st.subheader("Вот мой ответ:")
    st.write(generated_text)