不适用模型的简易ai交互页面
不适用模型的简易ai交互页面
一.形式

import streamlit as st
st.title("测试标题")
st.divider()
prompt=st.chat_input("请输入你的问题")
if prompt:#如果问题不为空才输出答案
st.chat_message("user").markdown(prompt)
st.chat_message("assistant").markdown("我不会")
二.增加思考等待功能

import streamlit as st
import time
st.title("测试标题")
st.divider()
prompt=st.chat_input("请输入你的问题")
if prompt:#如果问题不为空才输出答案
st.chat_message("user").markdown(prompt)
#增加思考功能
with st.spinner("思考中"):
time.sleep(3)
st.chat_message("assistant").markdown("我不会")
三.历史记录保存
问题:利用普通变量他不会保存如count,每次刷新会重新赋值=1
import streamlit as st
import time
st.title("测试标题")
st.divider()
prompt=st.chat_input("请输入你的问题")
count=1
if prompt:#如果问题不为空才输出答案
st.chat_message("user").markdown(prompt)
#增加思考功能
with st.spinner("思考中"):
time.sleep(3)
st.chat_message("assistant").markdown(f"我不会{count}")
count+=1
办法:用session_state

import streamlit as st
import time
st.title("测试标题")
st.divider()
prompt=st.chat_input("请输入你的问题")
if "count" not in st.session_state:
st.session_state["count"]=1
if prompt:#如果问题不为空才输出答案
st.chat_message("user").markdown(prompt)
#增加思考功能
with st.spinner("思考中"):
time.sleep(3)
st.chat_message("assistant").markdown(f"我不会{st.session_state['count']}")
st.session_state["count"]+=1
四.保存历史的聊天记录(简易聊天机器人完整版)-->不用大模型回答,固定答复

import streamlit as st
import time
st.title("简单的聊天机器人")
st.divider()
if "count" not in st.session_state:
st.session_state["count"] = 1
#st.session_state["message"]是形如[{"role":"user/assistant","content":内容},"role":"user/assistant","content":内容}... ]列表嵌套字典
if "message" not in st.session_state:
st.session_state["message"]=[]
prompt=st.chat_input("请输入问题")
if prompt:
st.session_state["message"].append({"role":"user","content":prompt})
#输出历史记录(包含问题和答复
for message in st.session_state["message"]:
st.chat_message(message["role"]).markdown(message["content"])
#答复等待
with st.spinner("思考中"):
time.sleep(2)
st.chat_message("assistant").markdown(f"我不会{st.session_state["count"]}")
st.session_state["message"].append({"role":"assistant","content":f"我不会{st.session_state["count"]}"})
st.session_state["count"]+=1

浙公网安备 33010602011771号