GeorgeDe commited on
Commit
9807ec9
·
verified ·
1 Parent(s): 80043b2

Create app.py

Browse files
Files changed (1) hide show
  1. app.py +42 -0
app.py ADDED
@@ -0,0 +1,42 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ import streamlit as st
2
+ from transformers import AutoModelForCausalLM, AutoTokenizer
3
+ import torch
4
+
5
+ # Загрузка модели и токенизатора
6
+ model_name = "FractalGPT/RuQwen2.5-3B-Instruct-AWQ"
7
+ tokenizer = AutoTokenizer.from_pretrained(model_name)
8
+ model = AutoModelForCausalLM.from_pretrained(model_name, torch_dtype=torch.float16, device_map="auto")
9
+
10
+ # Функция для генерации ответа
11
+ def generate_response(prompt):
12
+ inputs = tokenizer(prompt, return_tensors="pt").to(model.device)
13
+ outputs = model.generate(inputs.input_ids, max_length=512, do_sample=True, top_p=0.95, top_k=60)
14
+ response = tokenizer.decode(outputs[0], skip_special_tokens=True)
15
+ return response
16
+
17
+ # Настройка интерфейса Streamlit
18
+ st.title("Чатбот с FractalGPT/RuQwen2.5-3B-Instruct-AWQ")
19
+
20
+ # Инициализация истории чата
21
+ if "messages" not in st.session_state:
22
+ st.session_state.messages = []
23
+
24
+ # Отображение истории чата
25
+ for message in st.session_state.messages:
26
+ with st.chat_message(message["role"]):
27
+ st.markdown(message["content"])
28
+
29
+ # Обработка ввода пользователя
30
+ if prompt := st.chat_input("Введите ваше сообщение..."):
31
+ # Добавление сообщения пользователя в историю
32
+ st.session_state.messages.append({"role": "user", "content": prompt})
33
+ with st.chat_message("user"):
34
+ st.markdown(prompt)
35
+
36
+ # Генерация ответа модели
37
+ with st.chat_message("assistant"):
38
+ response = generate_response(prompt)
39
+ st.markdown(response)
40
+
41
+ # Добавление ответа модели в историю
42
+ st.session_state.messages.append({"role": "assistant", "content": response})