Загрузка данных


import requests
import streamlit as st

API_URL = "https://api.timeweb.ai/v1/chat/completions"
API_KEY = "sk-EkM-8C2VR6Ukafl99Dae_g"
MODEL = "dashscope/qwen3.6-flash"

def get_ai_response(messages):
    try:
        response = requests.post(
            API_URL,
            headers={
                "Authorization": f"Bearer {API_KEY}",
                "Content-Type": "application/json",
            },
            json={
                "model": MODEL,
                "messages": messages,
                "temperature": 0.7,
            },
            timeout=60,
        )
        response.raise_for_status()
        data = response.json()
        return data["choices"][0]["message"]["content"]
    except (requests.RequestException, KeyError, IndexError, ValueError):
        return "Не удалось получить ответ. Проверьте подключение, ключ и название модели."

st.title("Чат-бот")

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

for message in st.session_state.messages:
    with st.chat_message(message["role"]):
        st.markdown(message["content"])

prompt = st.chat_input("Напишите сообщение...")

if prompt:
    st.session_state.messages.append({"role": "user", "content": prompt})
    with st.chat_message("user"):
        st.markdown(prompt)

    with st.chat_message("assistant"):
        answer = get_ai_response(st.session_state.messages)
        st.markdown(answer)
        st.session_state.messages.append({"role": "assistant", "content": answer})