一. 背景
二. 安裝ollama
三. 下載deepseek-r1模型文件
四. 安裝vscode插件Continue
五. 安裝瀏覽器插件Page Assist
六. 使用chatboxai
七. 參考ollama官方文檔使用ai
八. 安裝open-webui遠程使用
一. 背景
deepseek問世后把gpu的硬件依賴減弱,進而有機會在我弱雞電腦上,部署并運行本地的大模型。特此寫下學習筆記。前面幾個步驟都是在自己電腦本地使用本地模型的情況,后面open-webui是為了讓其他遠程電腦,可以使用部署了本地模式的ai功能而搭建的一個網頁服務器。
二. 安裝ollama
Ollama官網下載。
下載好OllamaSetup.exe后,先不急著安裝,先修改大模型存儲位置,否則會存儲到c盤。
-
添加環(huán)境變量
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下添加環(huán)境變量,通過《我的電腦》右鍵屬性,找到《高級系統(tǒng)設置》,再找到《環(huán)境變量》之后進行環(huán)境變量的設置
ollama_models - linux下添加環(huán)境變量,通過修改
vi /etc/bash.bashrc
或者vi /etc/profile
,實現(xiàn)所有用戶的環(huán)境變量修改,如果需要限制當前用戶,可以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
。確保設置的環(huán)境變量是正確的
ollama serve - linux下配置ollama開機自啟動
- 創(chuàng)建systemd的ollama服務文件,其中ExecStart是對應需要執(zhí)行的ollama目錄,Environment是需要帶入的環(huán)境變量,如果定義了系統(tǒng)環(huán)境變量,可以不用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狀態(tài) - 通過命令
ollama serve
,直接運行ollama - 通過命令
sudo journalctl -u ollama.service -f
,查看ollama運行日志
三. 下載deepseek-r1模型文件
- Ollama模型搜索可以搜索到各種不同的模型,這里我們找到deepseek-r1。
- 根據(jù)電腦性能選擇合適的模式,參數(shù)越多模型越精準,對應的存儲和運存空間也會相應的變大。具體情況可以參考deepseek-r1的1.5b、7b、8b、14b、32b、70b和671b有啥區(qū)別? ,這里對于日常辦公寫代碼的環(huán)境,1.5b-7b基本夠用。而且對性能要求也沒有那么高。
- 使用cmd命令
ollama run deepseek-r1:1.5b
獲取1.5b參數(shù)模型,并且直接啟動。也可以通過ollama pull deepseek-r1:1.5b
只是拉去模型鏡像到本地,用法有點類似docker。 - 等待下載完成,這個過程有點慢,目前暫時加速方案,可以通過模型庫首頁 · 魔搭社區(qū)進行加速,需要注意的是,必須拉去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插件點擊安裝,安裝完成之后,左側會出現(xiàn)continue的圖標。
continue -
點擊左側continue插件圖標,配置對應的ollama 和 deepseek-r1模型選擇如圖。
config -
配置成功之后,還需要查看自動識別是否正常,并且選擇需要的模型
automode -
選擇對應的模型之后,就可以開始相關的ai功能,比如問問題。
question - 集成到vscode,最直接的功能,肯定是寫代碼了。新建一個文件,或者對已有文件
Ctrl + I
會跳到自動寫代碼的功能。
code1 - 把要寫的需求描述出來,比如
幫忙寫個python讀excel,并且畫折線圖的代碼
,確定后回車,會自動輸出相關代碼。
自動寫代碼.gif - 通過選擇對應的代碼,并且使用
Ctrl + L
,可以進行代碼優(yōu)化。不過感覺這個功能有點拉胯,不知道是插件的問題,還是模型參數(shù)太小。 - continue插件有個
"apiBase": "http://192.168.1.116:11434"
參數(shù)可以配置url,但是目前遠端調用沒有成功,帶后續(xù)排查
五. 安裝瀏覽器插件Page Assist
- 下載Page Assist - 本地 AI 模型的 Web UI | Chrome擴展 - Crx搜搜
- 安裝插件到瀏覽器,某些瀏覽器不支持,比如我用edge,可以把crx文件先解壓,然后再瀏覽器設置開發(fā)者模式,再加載插件進來。具體參考新版Edge瀏覽器安裝外部擴展(.crx)的方法_edge crx插件怎么安裝-CSDN博客。
-
安裝好插件后,可以點擊插件圖標并且打開插件??梢栽趥冗吺褂胊i聊天功能。
crxchat
六. 使用chatboxai
- chatboxai可以進行本地安裝或者直接使用web進行ai體驗,方法大同小異,下面以web使用進行說明。
- 點擊webchatboxai進入web頁面,在web頁面左側找到setting進行相關的設置。
- 把model頁面對應設置如下,選擇ollama以及對應的host和模型。
-
把display頁面對應設置,改為中午,最后點擊保存save。
webchatbox -
發(fā)送測試命令進行測試,如果沒有異常就會正?;卮鹉愕膯栴}。
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 - 通過代碼實現(xiàn)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"請求失敗,狀態(tài)碼:{response.status_code}\n錯誤信息:{response.text}")
except Exception as e:
print(f"發(fā)生異常:{str(e)}")
八. 安裝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