File size: 1,866 Bytes
67219c7
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
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
import streamlit as st
from openai import OpenAI

# Инициализация клиента DeepSeek
client = OpenAI(
    api_key="sk-a02694cf3c8640c9ae60428ee2c5a62e",  # Замените ключ на свой
    base_url="https://api.deepseek.com"
)

st.title("Чат с deepseek-reasoner")

# Храним историю переписки в Session State, чтобы она сохранялась между ререндами
if "messages" not in st.session_state:
    st.session_state["messages"] = []

# Поле ввода для пользователя
user_input = st.text_input("Ваш вопрос:", "")

# По клику на кнопку отправляем запрос к модели
if st.button("Отправить"):
    if user_input.strip():
        # Добавляем сообщение пользователя в историю
        st.session_state["messages"].append({"role": "user", "content": user_input})

        try:
            # Отправляем весь контекст (историю) модели deepseek-reasoner
            response = client.chat.completions.create(
                model="deepseek-reasoner",
                messages=st.session_state["messages"]
            )
            assistant_message = response.choices[0].message["content"]

            # Сохраняем ответ ассистента в историю
            st.session_state["messages"].append(
                {"role": "assistant", "content": assistant_message}
            )
        except Exception as e:
            st.error(f"Ошибка при обращении к API: {e}")

# Выводим чат в формате "Роль: Текст"
st.write("---")
for msg in st.session_state["messages"]:
    role = "Вы" if msg["role"] == "user" else "Модель"
    st.markdown(f"**{role}:** {msg['content']}")