一、ollama本地部署

  1. 下载地址:https://ollama.com/download
    ollama下载页面
  2. 检验是否安装成功
ollama -v

出现ollama的版本则安装成功 ollama version is 0.24.0
在这里插入图片描述

  1. 下载并运行模型
ollama run deepseek-r1:7b

运行成功界面:
在这里插入图片描述

这里以下载deepseek-r1:7b模型举例,第一次执行,会直接下载
下载命令及可用模型可从该链接进行查询:https://ollama.com/library
在这里插入图片描述
此时我们就部署好了本地大模型

二、ollama API的使用

我们现在要使用python代码来调用模型
首先,我们要安装依赖 pip install ollama

  1. 导入依赖 import ollama
  2. 创建客户端 client = ollama.Client(host='localhost:11431')
  3. 列出可用模型 client.list()
  4. 显示模型详细信息 client.show('deepseek-r1:7b')
  5. 显示正在运行的模型 client.ps()
  6. 进行对话 response = client.chat(model='deepseek-r1:7b', messages=[{'role': 'user', 'content': '内容'}])
  7. 输出内容获取 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

  1. 导入依赖 import streamlit as st
  2. 标题 st.title('标题')
  3. 段落 st.write('段落')
  4. 分割线 st.divider()
  5. 输入框 prompt = st.char_input('发消息...')
  6. 等待提示 st.spinner('思考中...')
  7. 消息容器 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)

实现效果:
在这里插入图片描述

Logo

AtomGit 是由开放原子开源基金会联合 CSDN 等生态伙伴共同推出的新一代开源与人工智能协作平台。平台坚持“开放、中立、公益”的理念,把代码托管、模型共享、数据集托管、智能体开发体验和算力服务整合在一起,为开发者提供从开发、训练到部署的一站式体验。

更多推荐