ollama + deepseek-r1 + vscode + continue + pageassist + openwebuilite 搭建本地和公用的ai功能

一. 背景

二. 安裝ollama

三. 下載deepseek-r1模型文件

四. 安裝vscode插件Continue

五. 安裝瀏覽器插件Page Assist

六. 使用chatboxai

七. 參考ollama官方文檔使用ai

八. 安裝open-webui遠程使用





一. 背景

deepseek問世后把gpu的硬件依賴減弱,進而有機會在我弱雞電腦上,部署并運行本地的大模型。特此寫下學習筆記。前面幾個步驟都是在自己電腦本地使用本地模型的情況,后面open-webui是為了讓其他遠程電腦,可以使用部署了本地模式的ai功能而搭建的一個網頁服務器。

二. 安裝ollama

  1. Ollama官網下載。

  2. github下載(由于網絡原因,建議使用github加速下載win、linux。

  3. 下載好OllamaSetup.exe后,先不急著安裝,先修改大模型存儲位置,否則會存儲到c盤。

  4. 添加環(huán)境變量 OLLAMA_MODELS、OLLAMA_HOSTOLLAMA_ORIGINS 。具體可以通過命令ollama serve -h進行查看。
    OLLAMA_MODELS = 模型路徑 設置 ollama下載模型的存儲路徑
    OLLAMA_HOST = 0.0.0.0:11434 設置運行所有ip訪問
    OLLAMA_ORIGINS = * 設置運行所有站點訪問

    serve-h

    1. win下添加環(huán)境變量,通過《我的電腦》右鍵屬性,找到《高級系統(tǒng)設置》,再找到《環(huán)境變量》之后進行環(huán)境變量的設置


      ollama_models
    2. 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=*  
  1. 點擊OllamaSetup.exe進行安裝,一直next到安裝結束就行。
  2. 安裝好之后,先運行命令ollama serve。確保設置的環(huán)境變量是正確的
    ollama serve
  3. linux下配置ollama開機自啟動
    1. 創(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
  1. 通過命令 systemctl daemon-reload 重新加載 systemd
  2. 通過命令 systemctl enable ollama ,使能ollama開機自啟動, systemctl disable ollama,關閉開機自啟動
  3. 通過命令 systemctl status ollama,查看ollama狀態(tài)
  4. 通過命令 ollama serve,直接運行ollama
  5. 通過命令 sudo journalctl -u ollama.service -f,查看ollama運行日志

三. 下載deepseek-r1模型文件

  1. Ollama模型搜索可以搜索到各種不同的模型,這里我們找到deepseek-r1。
  2. 根據(jù)電腦性能選擇合適的模式,參數(shù)越多模型越精準,對應的存儲和運存空間也會相應的變大。具體情況可以參考deepseek-r1的1.5b、7b、8b、14b、32b、70b和671b有啥區(qū)別? ,這里對于日常辦公寫代碼的環(huán)境,1.5b-7b基本夠用。而且對性能要求也沒有那么高。
  3. 使用cmd命令 ollama run deepseek-r1:1.5b 獲取1.5b參數(shù)模型,并且直接啟動。也可以通過 ollama pull deepseek-r1:1.5b 只是拉去模型鏡像到本地,用法有點類似docker。
  4. 等待下載完成,這個過程有點慢,目前暫時加速方案,可以通過模型庫首頁 · 魔搭社區(qū)進行加速,需要注意的是,必須拉去gguf格式的模式,如下在.net/之后是對應的模型,比如DeepSeek-R1-Distill-Qwen-1.5B-GGUF
    ollama run modelscope2ollama-registry.azurewebsites.net/unsloth/DeepSeek-R1-Distill-Qwen-1.5B-GGUF
  5. 修改模式名稱(不是必須步驟,只是為了加速下載的模型名稱變短)。
    1. 通過命令ollama cp oldname newname把oldname模型復制到newname。
    2. 通過命令ollama rm oldname把oldname模型刪除。

四. 安裝vscode插件Continue

  1. 打開vscode,點擊左邊插件圖標,或者按Ctrl + Shfit +x,打開插件搜索框。
  2. 在搜素框輸入continue,找到continue插件點擊安裝,安裝完成之后,左側會出現(xiàn)continue的圖標。


    continue
  3. 點擊左側continue插件圖標,配置對應的ollama 和 deepseek-r1模型選擇如圖。


    config
  4. 配置成功之后,還需要查看自動識別是否正常,并且選擇需要的模型


    automode
  5. 選擇對應的模型之后,就可以開始相關的ai功能,比如問問題。


    question
  6. 集成到vscode,最直接的功能,肯定是寫代碼了。新建一個文件,或者對已有文件Ctrl + I會跳到自動寫代碼的功能。
    code1
  7. 把要寫的需求描述出來,比如 幫忙寫個python讀excel,并且畫折線圖的代碼,確定后回車,會自動輸出相關代碼。
    自動寫代碼.gif
  8. 通過選擇對應的代碼,并且使用Ctrl + L,可以進行代碼優(yōu)化。不過感覺這個功能有點拉胯,不知道是插件的問題,還是模型參數(shù)太小。
  9. continue插件有個"apiBase": "http://192.168.1.116:11434"參數(shù)可以配置url,但是目前遠端調用沒有成功,帶后續(xù)排查

五. 安裝瀏覽器插件Page Assist

  1. 下載Page Assist - 本地 AI 模型的 Web UI | Chrome擴展 - Crx搜搜
  2. 安裝插件到瀏覽器,某些瀏覽器不支持,比如我用edge,可以把crx文件先解壓,然后再瀏覽器設置開發(fā)者模式,再加載插件進來。具體參考新版Edge瀏覽器安裝外部擴展(.crx)的方法_edge crx插件怎么安裝-CSDN博客
  3. 安裝好插件后,可以點擊插件圖標并且打開插件??梢栽趥冗吺褂胊i聊天功能。


    crxchat

六. 使用chatboxai

  1. chatboxai可以進行本地安裝或者直接使用web進行ai體驗,方法大同小異,下面以web使用進行說明。
  2. 點擊webchatboxai進入web頁面,在web頁面左側找到setting進行相關的設置。
  3. 把model頁面對應設置如下,選擇ollama以及對應的host和模型。
  4. 把display頁面對應設置,改為中午,最后點擊保存save。


    webchatbox
  5. 發(fā)送測試命令進行測試,如果沒有異常就會正?;卮鹉愕膯栴}。


    testchatbox

七. 參考ollama官方文檔使用ai

  1. 參考ollama官方文檔通過http接口進行ai訪問,這個主要是做成集成接口使用,下面僅做事例
  2. 通過curl命令行進行提問:curl -X POST http://36qbbc765118.vicp.fun:33018/api/chat -d '{"model": "deepseek-r1:1.5b", "messages": [{"role": "user", "content": "天空之所以藍"}], "stream": false}
    curlhttp
  3. 通過代碼實現(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)}")
pythonhttp

八. 安裝open-webui遠程使用

  1. 通過github獲取open-webui的安裝信息
  2. 可以分別通過python和docker進行安裝,win電腦不喜歡用docker(用虛擬機),用docker,可以自行參考github中的安裝信息,python比較容易點,所以選擇用python進行安裝,不過這里比較坑的是,指定用python 3.11的版本,其他版本需要自己模型
  3. 確定安裝python 3.11版本之后,用 pip install open-webui 下載open-webui模塊
  4. 通過命令 open-webui serve 在8080端口啟動webui
最后編輯于
?著作權歸作者所有,轉載或內容合作請聯(lián)系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發(fā)布,文章內容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌,老刑警劉巖,帶你破解...
    沈念sama閱讀 228,412評論 6 532
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異,居然都是意外死亡,警方通過查閱死者的電腦和手機,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 98,514評論 3 416
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人,你說我怎么就攤上這事?!?“怎么了?”我有些...
    開封第一講書人閱讀 176,373評論 0 374
  • 文/不壞的土叔 我叫張陵,是天一觀的道長。 經常有香客問我,道長,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 62,975評論 1 312
  • 正文 為了忘掉前任,我火速辦了婚禮,結果婚禮上,老公的妹妹穿的比我還像新娘。我一直安慰自己,他們只是感情好,可當我...
    茶點故事閱讀 71,743評論 6 410
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著,像睡著了一般。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 55,199評論 1 324
  • 那天,我揣著相機與錄音,去河邊找鬼。 笑死,一個胖子當著我的面吹牛,可吹牛的內容都是我干的。 我是一名探鬼主播,決...
    沈念sama閱讀 43,262評論 3 441
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了?” 一聲冷哼從身側響起,我...
    開封第一講書人閱讀 42,414評論 0 288
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經...
    沈念sama閱讀 48,951評論 1 336
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內容為張勛視角 年9月15日...
    茶點故事閱讀 40,780評論 3 354
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 42,983評論 1 369
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖,靈堂內的尸體忽然破棺而出,到底是詐尸還是另有隱情,我是刑警寧澤,帶...
    沈念sama閱讀 38,527評論 5 359
  • 正文 年R本政府宣布,位于F島的核電站,受9級特大地震影響,放射性物質發(fā)生泄漏。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 44,218評論 3 347
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧,春花似錦、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 34,649評論 0 26
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 35,889評論 1 286
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人。 一個月前我還...
    沈念sama閱讀 51,673評論 3 391
  • 正文 我出身青樓,卻偏偏與公主長得像,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當晚...
    茶點故事閱讀 47,967評論 2 374

推薦閱讀更多精彩內容