一. 背景
二. 安装ollama
三. 下载deepseek-r1模型文件
四. 安装vscode插件Continue
五. 安装浏览器插件Page Assist
六. 使用chatboxai
七. 参考ollama官方文档使用ai
八. 安装open-webui远程使用
一. 背景
deepseek问世后把gpu的硬件依赖减弱,进而有机会在我弱鸡电脑上,部署并运行本地的大模型。特此写下学习笔记。前面几个步骤都是在自己电脑本地使用本地模型的情况,后面open-webui是为了让其他远程电脑,可以使用部署了本地模式的ai功能而搭建的一个网页服务器。
二. 安装ollama
Ollama官网下载。
下载好OllamaSetup.exe后,先不急着安装,先修改大模型存储位置,否则会存储到c盘。
-
添加环境变量
OLLAMA_MODELS
、OLLAMA_HOST
、OLLAMA_ORIGINS
。具体可以通过命令ollama serve -h
进行查看。
OLLAMA_MODELS = 模型路径
设置 ollama下载模型的存储路径
OLLAMA_HOST = 0.0.0.0:11434
设置运行所有ip访问
OLLAMA_ORIGINS = *
设置运行所有站点访问
serve-h-
win下添加环境变量,通过《我的电脑》右键属性,找到《高级系统设置》,再找到《环境变量》之后进行环境变量的设置
ollama_models - linux下添加环境变量,通过修改
vi /etc/bash.bashrc
或者vi /etc/profile
,实现所有用户的环境变量修改,如果需要限制当前用户,可以vi ~/.bashrc
或者~/.bash_profile
,
添加如下内容,其中models是你需要放模型的路径
-
export OLLAMA_MODELS=/home/ai/models
export OLLAMA_HOST=0.0.0.0:11434
export OLLAMA_ORIGINS=*
- 点击OllamaSetup.exe进行安装,一直next到安装结束就行。
- 安装好之后,先运行命令
ollama serve
。确保设置的环境变量是正确的
ollama serve - linux下配置ollama开机自启动
- 创建systemd的ollama服务文件,其中ExecStart是对应需要执行的ollama目录,Environment是需要带入的环境变量,如果定义了系统环境变量,可以不用Environment。
[Unit]
Description=Ollama Service
After=network-online.target
[Service]
Environment="OLLAMA_HOST=0.0.0.0"
Environment="OLLAMA_ORIGINS=*"
Environment="OLLAMA_MODELS=/home/ai/models"
ExecStart=/usr/local/bin/ollama serve
User=root
Group=root
Restart=always
RestartSec=3
[Install]
WantedBy=default.target
- 通过命令
systemctl daemon-reload
重新加载 systemd - 通过命令
systemctl enable ollama
,使能ollama开机自启动,systemctl disable ollama
,关闭开机自启动 - 通过命令
systemctl status ollama
,查看ollama状态 - 通过命令
ollama serve
,直接运行ollama - 通过命令
sudo journalctl -u ollama.service -f
,查看ollama运行日志
三. 下载deepseek-r1模型文件
- Ollama模型搜索可以搜索到各种不同的模型,这里我们找到deepseek-r1。
- 根据电脑性能选择合适的模式,参数越多模型越精准,对应的存储和运存空间也会相应的变大。具体情况可以参考deepseek-r1的1.5b、7b、8b、14b、32b、70b和671b有啥区别? ,这里对于日常办公写代码的环境,1.5b-7b基本够用。而且对性能要求也没有那么高。
- 使用cmd命令
ollama run deepseek-r1:1.5b
获取1.5b参数模型,并且直接启动。也可以通过ollama pull deepseek-r1:1.5b
只是拉去模型镜像到本地,用法有点类似docker。 - 等待下载完成,这个过程有点慢,目前暂时加速方案,可以通过模型库首页 · 魔搭社区进行加速,需要注意的是,必须拉去gguf格式的模式,如下在.net/之后是对应的模型,比如DeepSeek-R1-Distill-Qwen-1.5B-GGUF
ollama run modelscope2ollama-registry.azurewebsites.net/unsloth/DeepSeek-R1-Distill-Qwen-1.5B-GGUF
- 修改模式名称(不是必须步骤,只是为了加速下载的模型名称变短)。
- 通过命令
ollama cp oldname newname
把oldname模型复制到newname。 - 通过命令
ollama rm oldname
把oldname模型删除。
- 通过命令
四. 安装vscode插件Continue
- 打开vscode,点击左边插件图标,或者按
Ctrl + Shfit +x
,打开插件搜索框。 -
在搜素框输入continue,找到continue插件点击安装,安装完成之后,左侧会出现continue的图标。
continue -
点击左侧continue插件图标,配置对应的ollama 和 deepseek-r1模型选择如图。
config -
配置成功之后,还需要查看自动识别是否正常,并且选择需要的模型
automode -
选择对应的模型之后,就可以开始相关的ai功能,比如问问题。
question - 集成到vscode,最直接的功能,肯定是写代码了。新建一个文件,或者对已有文件
Ctrl + I
会跳到自动写代码的功能。
code1 - 把要写的需求描述出来,比如
帮忙写个python读excel,并且画折线图的代码
,确定后回车,会自动输出相关代码。
自动写代码.gif - 通过选择对应的代码,并且使用
Ctrl + L
,可以进行代码优化。不过感觉这个功能有点拉胯,不知道是插件的问题,还是模型参数太小。 - continue插件有个
"apiBase": "http://192.168.1.116:11434"
参数可以配置url,但是目前远端调用没有成功,带后续排查
五. 安装浏览器插件Page Assist
- 下载Page Assist - 本地 AI 模型的 Web UI | Chrome扩展 - Crx搜搜
- 安装插件到浏览器,某些浏览器不支持,比如我用edge,可以把crx文件先解压,然后再浏览器设置开发者模式,再加载插件进来。具体参考新版Edge浏览器安装外部扩展(.crx)的方法_edge crx插件怎么安装-CSDN博客。
-
安装好插件后,可以点击插件图标并且打开插件。可以在侧边使用ai聊天功能。
crxchat
六. 使用chatboxai
- chatboxai可以进行本地安装或者直接使用web进行ai体验,方法大同小异,下面以web使用进行说明。
- 点击webchatboxai进入web页面,在web页面左侧找到setting进行相关的设置。
- 把model页面对应设置如下,选择ollama以及对应的host和模型。
-
把display页面对应设置,改为中午,最后点击保存save。
webchatbox -
发送测试命令进行测试,如果没有异常就会正常回答你的问题。
testchatbox
七. 参考ollama官方文档使用ai
- 参考ollama官方文档通过http接口进行ai访问,这个主要是做成集成接口使用,下面仅做事例
- 通过curl命令行进行提问:
curl -X POST http://36qbbc765118.vicp.fun:33018/api/chat -d '{"model": "deepseek-r1:1.5b", "messages": [{"role": "user", "content": "天空之所以蓝"}], "stream": false}
curlhttp - 通过代码实现http请求,这里以python代码为例:
#!/usr/bin/env python3
# encoding=utf-8
# 使用curl直接测试
# curl -X POST http://36qbbc765118.vicp.fun:33018/api/chat -d '{"model": "deepseek-r1:1.5b", "messages": [{"role": "user", "content": "天空之所以蓝"}], "stream": false}'
import json
import requests
url = 'http://%s/api/chat' % ('36qbbc765118.vicp.fun:33018') # 内网穿透ip
url = 'http://%s/api/chat' % ('localhost:11434') # localhost
# url = 'http://%s/api/chat' % ('192.168.1.116:11434') # 192.168.1.116
data = '{"model": "deepseek-r1:1.5b", "messages": [{"role": "user", "content": "天空之所以蓝"}], "stream": false}'.encode()
headers = {
'Content-Type': 'application/x-www-form-urlencoded',
}
print(url)
try:
response = requests.post(url, headers=headers, data=data)
# print(response.content)
if response.status_code == 200:
result = json.loads(response.content.decode('utf-8'))
print(result["message"]) # 输出模型生成的答案
else:
print(f"请求失败,状态码:{response.status_code}\n错误信息:{response.text}")
except Exception as e:
print(f"发生异常:{str(e)}")
pythonhttp
八. 安装open-webui远程使用
- 通过github获取open-webui的安装信息
- 可以分别通过python和docker进行安装,win电脑不喜欢用docker(用虚拟机),用docker,可以自行参考github中的安装信息,python比较容易点,所以选择用python进行安装,不过这里比较坑的是,指定用python 3.11的版本,其他版本需要自己模型
- 确定安装python 3.11版本之后,用
pip install open-webui
下载open-webui模块 - 通过命令
open-webui serve
在8080端口启动webui