Files
hpme/04.py

32 lines
1.3 KiB
Python
Raw Normal View History

2026-03-21 14:21:09 +08:00
import streamlit as st
from deepseek import get_response
# 会话管理状态:在程序执行过程中,无论代码重新运行多少次,会话状态里面的变量都会保存
st.title("黑马智聊机器人")
# st.session_state 对象本质就是json对象字典
if "messages" not in st.session_state:
st.session_state["messages"] = [{"role": "assistant", "content": "你好,我是黑马智聊机器人,有什么可以帮助你的么?"}]
for message in st.session_state.messages:
with st.chat_message(message["role"]):
st.write(message["content"])
# 聊天输入
user_input = st.chat_input() #你好
if user_input:
#1 把用户的输入添加到会话状态里面messages中
st.session_state.messages.append({"role": "user", "content": user_input})
#2 在网页上渲染用户输入
with st.chat_message("user"):
st.write(user_input)
#3 调用deepseek.py中的get_response方法获取大模型的回复
with st.spinner("正在思考中..."):
response = get_response(st.session_state.messages)
#4 把大模型的回复添加到会话状态里面messages中
st.session_state.messages.append({"role": "assistant", "content": response})
#5 在网页上渲染大模型的回复
with st.chat_message("assistant"):
st.write(response)