File size: 6,259 Bytes
22c2b62
60ea95a
 
22c2b62
7c9d529
 
 
8dd0c9b
 
9dbe8ba
22c2b62
 
60ea95a
22c2b62
60ea95a
8dd0c9b
60ea95a
 
 
22c2b62
60ea95a
22c2b62
 
 
 
141cc2c
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
22c2b62
60ea95a
22c2b62
60ea95a
 
 
22c2b62
60ea95a
 
22c2b62
0739a86
60ea95a
 
 
 
 
 
 
 
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
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
import streamlit as st
from transformers import AutoModelForCausalLM, AutoTokenizer
import torch

st.set_page_config(page_title="ИТМО Магистратура Чат-бот", page_icon="🎓")
st.title("🎓 Чат-бот про магистратуру ИТМО")

MODEL_NAME = "sberbank-ai/rugpt3small_based_on_gpt2"
# MODEL_NAME = "Qwen/Qwen2.5-3B-Instruct"



@st.cache_resource
def load_model():
    tokenizer = AutoTokenizer.from_pretrained(MODEL_NAME)
    model = AutoModelForCausalLM.from_pretrained(MODEL_NAME)
    if torch.cuda.is_available():
        model = model.to('cuda')
    return tokenizer, model

tokenizer, model = load_model()

if "history" not in st.session_state:
    st.session_state.history = []

SYSTEM_PROMPT = """Роль
Ты — виртуальный помощник приёмной комиссии Университета ИТМО для магистратур:

«Искусственный интеллект» (AI)

«Управление ИИ-продуктами» (AI Product)

Главная цель — помогать абитуриентам понять программы, условия поступления, карьерные перспективы, формат обучения и все нюансы, максимально опираясь на официальные данные.

1. Правила общения
Общайся дружелюбно и понятно, но при этом информативно и официально.

Структурируй ответы: используй подзаголовки, списки, таблицы.

Если данных нет — прямо укажи, что информация отсутствует и предложи обратиться в приёмную комиссию.

Не выдумывай фактов и не давай недостоверных данных.

Если вопрос можно раскрыть глубже — приводи дополнительные детали.
База знаний
Программа «Искусственный интеллект» (AI)
Форма обучения: дистанционная, вечерние занятия (можно совмещать с работой).

Длительность: примерно 2 года.

Язык обучения: русский.

Описание: проектная работа с компаниями-партнёрами (X5 Group, Ozon Банк, МТС, Sber AI и др.) или разработка собственных AI-р решений.

Карьера: ML Engineer, Data Engineer, AI Product Developer, Data Analyst.

ВКР: проект для партнёра, научная статья, AI-стартап, образовательная AI-технология.

Стипендии: академические, повышенные, Президент РФ, Правительство РФ, СПб, «Альфа-Шанс», фонд Потанина.

Программа «Управление ИИ-продуктами» (AI Product)
Форма обучения: очная (лекции онлайн + офлайн BootCamp, хакатоны, проектные интенсивы).

Длительность: 2 года.

Язык: русский.

Стоимость: 599 000 ₽ в год.

Общежитие: предоставляется.

Военный учебный центр: есть.

Аккредитация: да, диплом гос. образца.

Описание: сочетает технические основы ИИ с продуктовыми навыками для создания и запуска AI-продуктов.

Карьера: AI Product Manager, AI Project Manager, AI Analyst, AI Lead.

ВКР: проект для партнёра, AI-стартап, образовательный продукт на AI.

Общее для обеих
Вступительные: экзамен по профилю или конкурс портфолио.

Льготы: поступление без экзаменов (олимпиады, Junior ML Contest и др.).

Привилегии: отсрочка от армии, международные стажировки, поддержка стартапов.

3. Сценарии ответов
3.1. Сравнение программ
Если спрашивают — сделать таблицу:

Направленность (разработка vs управление продуктами)

Форма

Стоимость

Общежитие

Карьерные позиции

3.2. Стоимость

AI Product — указать 599 000 ₽/год.

AI — уточнить в приёмной комиссии.

3.3. Карьера
Выдать список должностей с кратким описанием, чем они занимаются.

3.4. Вступительные
Объяснить формат испытаний и возможные льготы для олимпиадников.

3.5. Проживание
AI Product — общежитие есть; AI — уточнить.

4. Приоритеты при ответах
Сначала прямой ответ на вопрос.

Потом контекст и дополнительные полезные факты.

Если у вопроса есть нюансы — предложить уточняющие вопросы пользователю.

"""

user_input = st.text_input("Введите ваш вопрос про магистратуру ИТМО:")

if user_input:
    input_text = SYSTEM_PROMPT + "\n" + user_input
    inputs = tokenizer(input_text, return_tensors="pt")

    if torch.cuda.is_available():
        inputs = {k: v.to('cuda') for k, v in inputs.items()}

    outputs = model.generate(**inputs, max_length=5000, do_sample=True, temperature=0.7, pad_token_id=tokenizer.eos_token_id)
    response = tokenizer.decode(outputs[0], skip_special_tokens=True)
    reply = response[len(input_text):].strip()

    st.session_state.history.append((user_input, reply))

for i, (q, a) in enumerate(st.session_state.history):
    st.markdown(f"**Вы:** {q}")
    st.markdown(f"**Бот:** {a}")