Serg4451D commited on
Commit
b973e27
·
verified ·
1 Parent(s): d68d19e

Create app.py

Browse files
Files changed (1) hide show
  1. app.py +51 -0
app.py ADDED
@@ -0,0 +1,51 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ import streamlit as st
2
+ from g4f.client import Client
3
+
4
+ # Инициализация клиента
5
+ client = Client()
6
+
7
+ # Функция для получения ответа от GPT
8
+ def get_gpt_response(messages):
9
+ response = client.chat.completions.create(
10
+ model="gpt-3.5-turbo",
11
+ messages=messages
12
+ )
13
+ return response.choices[0].message.content
14
+
15
+ # Заголовок приложения
16
+ st.title("Чат с GPT")
17
+
18
+ # Инициализация состояния для хранения сообщений
19
+ if 'messages' not in st.session_state:
20
+ st.session_state.messages = []
21
+
22
+ # Отображение предыдущих сообщений
23
+ for msg in st.session_state.messages:
24
+ if msg['role'] == 'user':
25
+ st.markdown(f"<div style='text-align: right; color: blue;'>Вы: {msg['content']}</div>", unsafe_allow_html=True)
26
+ else:
27
+ st.markdown(f"<div style='text-align: left; color: green;'>GPT: {msg['content']}</div>", unsafe_allow_html=True)
28
+
29
+ # Поле ввода для нового сообщения
30
+ user_input = st.text_input("Введите ваше сообщение:")
31
+
32
+ # Обработка отправки сообщения
33
+ if st.button("Отправить"):
34
+ if user_input:
35
+ # Сохранение сообщения пользователя
36
+ st.session_state.messages.append({"role": "user", "content": user_input})
37
+
38
+ # Получение ответа от GPT
39
+ gpt_response = get_gpt_response(st.session_state.messages)
40
+
41
+ # Сохранение ответа GPT
42
+ st.session_state.messages.append({"role": "assistant", "content": gpt_response})
43
+
44
+ # Очистка поля ввода
45
+ st.experimental_rerun()
46
+
47
+ # Кнопка для сброса чата
48
+ if st.button("Сбросить чат"):
49
+ st.session_state.messages = []
50
+ st.experimental_rerun()
51
+