使用streamlit+ollama实现聊天小助手
·
一、ollama本地部署
- 下载地址:https://ollama.com/download

- 检验是否安装成功
ollama -v
出现ollama的版本则安装成功 ollama version is 0.24.0
- 下载并运行模型
ollama run deepseek-r1:7b
运行成功界面:
这里以下载deepseek-r1:7b模型举例,第一次执行,会直接下载
下载命令及可用模型可从该链接进行查询:https://ollama.com/library
此时我们就部署好了本地大模型
二、ollama API的使用
我们现在要使用python代码来调用模型
首先,我们要安装依赖 pip install ollama
- 导入依赖
import ollama - 创建客户端
client = ollama.Client(host='localhost:11431') - 列出可用模型
client.list() - 显示模型详细信息
client.show('deepseek-r1:7b') - 显示正在运行的模型
client.ps() - 进行对话
response = client.chat(model='deepseek-r1:7b', messages=[{'role': 'user', 'content': '内容'}]) - 输出内容获取
response['message']['content']
import ollama
client = ollama.Client(host='localhost:11434')
print(client.list())
print(client.show('deepseek-r1:7b'))
print(client.ps())
while True:
question = input('请输入问题:')
response = client.chat(model='deepseek-r1:7b',
messages=[{'role': 'user', 'content': question}])
print(response['message']['content'])

三、streamlit API使用
ollama接口测试完毕后,我们要开始测试前端页面接口
要使用streamlit我们首先要安装依赖 pip install streamlit
- 导入依赖
import streamlit as st - 标题
st.title('标题') - 段落
st.write('段落') - 分割线
st.divider() - 输入框
prompt = st.char_input('发消息...') - 等待提示
st.spinner('思考中...') - 消息容器
st.chat_message('user').markdown('hello')
四、综合案例
学习完ollama及streamlit的API后,我们要开始实现聊天小助手了
"""
使用stream+ollama开发智能聊天小助手
"""
import ollama
import streamlit as st
# 创建ollama客户端
client = ollama.Client(host='localhost:11434')
# 创建标题
st.title('智能聊天小助手')
# 分割线
st.divider()
# 聊天输入框
prompt = st.chat_input('发消息...')
# 进行消息初始化,初始化为一个空list,保存历史消息
if 'message' not in st.session_state:
st.session_state['message'] = []
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('思考中...'):
# 调用模型,发送消息
response = client.chat(model='deepseek-r1:7b',
messages=st.session_state['message'])
response_message = response['message']['content']
# 将回复消息保存到历史中
st.session_state['message'].append({'role': 'assistant', 'content': response_message})
# 将回复消息进行回显
st.chat_message('assistant').markdown(response_message)
实现效果:
AtomGit 是由开放原子开源基金会联合 CSDN 等生态伙伴共同推出的新一代开源与人工智能协作平台。平台坚持“开放、中立、公益”的理念,把代码托管、模型共享、数据集托管、智能体开发体验和算力服务整合在一起,为开发者提供从开发、训练到部署的一站式体验。
更多推荐
所有评论(0)