streamlit+ollama实现一个简单模型对话
import streamlit as st
import ollama
#消息记录
if "message" not in st.session_state: #初始化
st.session_state["message"] = []
# ollama客户端
client = ollama.Client(host="http://localhost:11434")
#标题
st.title("聊天机器人")
#分割线
st.divider()
#消息输入框
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"])
#ai回答
with st.spinner("思考中..."):
#访问ollama大模型
resp = client.chat(
model="deepseek-r1:1.5b",
messages=[{"role":"user","content":prompt}]
)
content = resp["message"]["content"]
# ai回答渲染
st.chat_message("assistant").markdown(content)
#记录历史
st.session_state["message"].append({"role":"assistant","content":content})