Files
hpme/04.py
2026-03-21 14:21:09 +08:00

32 lines
1.3 KiB
Python
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
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)