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

35 lines
1.4 KiB
Python
Raw Permalink 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 gitdb.pack import write_stream_to_pack
from deepseek import get_response_stream
# 会话管理状态:在程序执行过程中,无论代码重新运行多少次,会话状态里面的变量都会保存
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方法获取大模型的回复
# 调用get_response_stream方法,流式获取大模型的回复
response = get_response_stream(st.session_state.messages)
with st.chat_message("assistant"):
st.write_stream(response)
#4 把大模型的回复添加到会话状态里面messages中
st.session_state.messages.append({"role": "assistant", "content": response})