streamlit+ollama实现一个简单模型对话

streamlit+ollama实现一个简单模型对话

起男 29 2025-05-12

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})