提升網(wǎng)站權(quán)重嗎網(wǎng)頁(yè)設(shè)計(jì)圖片
2025/02/18說(shuō)明:2月18日~2月20日是2024年度博客之星投票時(shí)間,走過(guò)路過(guò)可以幫忙點(diǎn)點(diǎn)投票嗎?我想要前一百的實(shí)體證書(shū),經(jīng)過(guò)我嚴(yán)密的計(jì)算只要再拿到60票就穩(wěn)了。一人可能會(huì)有多票,Thanks?(・ω・)ノ傳送門如下:https://www.csdn.net/blogstar2024/detail/151
我本來(lái)以為這個(gè)事情其實(shí)很簡(jiǎn)單的,因?yàn)槲叶挤帕藗€(gè)寒假了,我以為大家應(yīng)該都已經(jīng)部署好了吧,結(jié)果沒(méi)有人發(fā)鏈接給我,遺憾自己部署。原以為網(wǎng)上的文章那么多應(yīng)該已經(jīng)很全面了吧,本來(lái)想直接在社區(qū)里發(fā)點(diǎn)東西結(jié)束,結(jié)果發(fā)現(xiàn)搜索前列的都在偷工減料,各種細(xì)節(jié)少寫(xiě),我在社區(qū)里補(bǔ)充了半天都快補(bǔ)出一篇大博客出來(lái)了……大抵是因?yàn)檫@個(gè)部署過(guò)程比較長(zhǎng)吧,遺憾還得寫(xiě)博客。
2025/02/18補(bǔ)充:這篇文章寫(xiě)于2025/02/15,當(dāng)時(shí)確實(shí)還沒(méi)有人部署,然后我剛這么說(shuō),清華那邊就說(shuō)自己能量化671B用內(nèi)存加速讓單卡4090也能跑,17號(hào)浙大公開(kāi)說(shuō)自己要將滿血R1公開(kāi)給全國(guó)高校使用……趕不上變化了屬于是。
以下是我自己記錄的最簡(jiǎn)單的方式,要是有問(wèn)題請(qǐng)?jiān)u論區(qū)留言,我可能有的東西也會(huì)漏寫(xiě)。
以下分成三部分,先教以下怎么安裝ollama去本地拉模型,然后再推薦一下Page Assist,再介紹一下openwebui 0.5.10的使用方式,補(bǔ)充一下文件上傳、聯(lián)網(wǎng)搜索功能的設(shè)置方式。
我自己的Ubuntu版本是22,如果你的比較低就不要看我的博客了,因?yàn)閜ython版本麻煩事很多。高的可以看。
文章目錄
- 本地部署
- Page Assist(推薦)
- 第一步,用VSCode連接你的服務(wù)器
- 第二步,安裝瀏覽器插件Page Assist
- Openwebui(個(gè)人用戶不推薦使用哈,麻煩死了)
- Open WebUI搭建部署指南
- 修復(fù)文件上傳功能
- 聯(lián)網(wǎng)搜索功能
本地部署
這些步驟都很簡(jiǎn)單哈,就不列小標(biāo)題了,直接用序號(hào)了。
- 安裝ollama:
curl -fsSL https://ollama.com/install.sh | sh
- 啟動(dòng)服務(wù)并設(shè)置開(kāi)機(jī)自啟:
service ollama start systemctl enable ollama
- 拉取DeepSeek:
ollama run deepseek-r1:70b
- 拉取后就有終端交互,隨便打點(diǎn)什么測(cè)試一下,如果發(fā)現(xiàn)沒(méi)有輸出可以參考一下我這篇博客:【BUG】LLM|Ubuntu 用 ollama 部署 DeepSeek 但沒(méi)輸出,llama 有輸出-CSDN博客
要拉多少大小可以參考下表:
跑分結(jié)果:
我自己的環(huán)境是GPU 4090 24G,拉取了70b和7b,70b有點(diǎn)卡卡的,7b還好。
表格來(lái)源:在Linux服務(wù)器中部署Deepseek等大語(yǔ)言模型 | 香菇肥牛的博客
如果想測(cè)試自己的電腦的速度,可以運(yùn)行ollama指令的時(shí)候添加--verbose
參數(shù),例如:
Page Assist(推薦)
參考:國(guó)內(nèi),怎么使用open webui 網(wǎng)絡(luò)搜索功能,有大佬指導(dǎo)一下嘛? · open-webui/open-webui · Discussion #3851
第一步,用VSCode連接你的服務(wù)器
第一步,你只需要用VSCode連接你的服務(wù)器,它就會(huì)自動(dòng)端口映射,把你的127.0.0.1和服務(wù)器的關(guān)聯(lián)起來(lái),你就可以用服務(wù)器上已有的ollama服務(wù)類。
第二步,安裝瀏覽器插件Page Assist
筆者注:我自己只嘗試了Edge的,可以哈。
全平臺(tái)(PC、Mac、安卓、iOS)安裝方案如下(自帶思維鏈顯示支持和無(wú)需設(shè)置API的聯(lián)網(wǎng)搜索,如百度、搜狗等,也支持SearXNG,不同搜索引擎搜索內(nèi)容不同,根據(jù)需求選擇):
1、PC、Mac瀏覽器直接安裝插件即可(默認(rèn)啟用Ollama連接狀態(tài)檢查,可設(shè)置中禁用)
Chrome:
https://chromewebstore.google.com/detail/page-assist-%E6%9C%AC%E5%9C%B0-ai-%E6%A8%A1%E5%9E%8B%E7%9A%84-web/jfgfiigpkhlkbnfnbobbkinehhfdhndo
Edge:
https://microsoftedge.microsoft.com/addons/detail/page-assist-a-web-ui-fo/ogkogooadflifpmmidmhjedogicnhooa
Firefox:
https://addons.mozilla.org/en-US/firefox/addon/page-assist/
2、安卓手機(jī)可以使用kiwi瀏覽器(需要谷歌框架): https://github.com/kiwibrowser/src.next/releases 再安裝該擴(kuò)展Chrome版,或使用安卓Firefox瀏覽器安裝Firefox版插件,聯(lián)網(wǎng)可以使用內(nèi)置無(wú)需設(shè)置的搜索引擎和自建或公共SearXNG服務(wù),國(guó)內(nèi)建議直接選baidu即可,搜索結(jié)果建議設(shè)置50 (token消耗更多,但效果更好)
至此你就可以用上最基本的聯(lián)網(wǎng)搜索能力+R1大模型了!快速高效不費(fèi)勁,省下幾百兆的本地Web客戶端。
Openwebui(個(gè)人用戶不推薦使用哈,麻煩死了)
注意自己的用戶要有Root權(quán)限哈,沒(méi)有就別搭了,找你們管理員去。
(openwebui,主要是方便多用戶共享,它功能很完善,搜索和知識(shí)庫(kù)什么的也都有)
我的版本:openwebui 0.5.10
Open WebUI搭建部署指南
首先,這種涉及到服務(wù)的操作先清空一下當(dāng)前緩存的sudo密碼,避免systemctl enable 指令執(zhí)行不了:
sudo -k
新建一個(gè)用戶openwebui
用于運(yùn)行Open WebUI。本文中,將把程序安裝在/opt/openwebui
目錄中。
mkdir /opt/openwebui
adduser openwebui
設(shè)置好密碼,再切換到用戶:
chown -R openwebui /opt/openwebui
su openwebui
切換用戶后進(jìn)入這個(gè)目錄:
cd /opt/openwebui
然后,我們新建一個(gè)虛擬環(huán)境 (venv),并使用VENV中的PIP安裝Open WebUI。
python3 -m venv ./openwebui-venv
/opt/openwebui/openwebui-venv/bin/pip3 install open-webui
推薦使用
/opt/openwebui/openwebui-venv/bin/pip3 install -i https://pypi.tuna.tsinghua.edu.cn/simple open-webui
安裝,因?yàn)楣俜絧ip源太卡了。
如果沒(méi)有報(bào)錯(cuò),Open WebUI就安裝好了。
我們來(lái)寫(xiě)一個(gè)SystemD服務(wù),將Open WebUI運(yùn)行在后臺(tái)并實(shí)現(xiàn)開(kāi)機(jī)自動(dòng)啟動(dòng)。
編輯文件/etc/systemd/system/openwebui.service
,輸入下面的內(nèi)容(如果你要改端口就修改一下8080改成你自己想要的端口):
[Unit]
Description=OpenWebUI
After=network.target[Service]
User=openwebui
WorkingDirectory=/opt/openwebui/openwebui-venv
ExecStart=/opt/openwebui/openwebui-venv/bin/open-webui serve --port 8080
Restart=always[Install]
WantedBy=multi-user.target
保存退出后,切換回原本的有root權(quán)限的用戶:
su 之前的用戶
安裝一些關(guān)鍵依賴,啟動(dòng)該服務(wù)并設(shè)置開(kāi)機(jī)自動(dòng)啟動(dòng)。
sudo apt install sqlite3 # fix sqlite3
sudo apt install apache2-utils # fix htpasswdsystemctl daemon-reload
service openwebui start
systemctl enable openwebui
systemctl enable openwebui的時(shí)候,多用戶的服務(wù)器可能會(huì)報(bào)奇怪的錯(cuò)誤,這個(gè)時(shí)候清除密碼緩存就可以正常enable了:
sudo -k
。
然后,要等啟動(dòng)完成,要等一會(huì)兒。如果你等了好久還不行,你可以考慮終端啟動(dòng)看看問(wèn)題。首先切換到openwebui用戶然后運(yùn)行指令:
su openwebui
cd /opt/openwebui
/opt/openwebui/openwebui-venv/bin/open-webui serve --port 8080
值得一提的是,如果你是在終端直接啟動(dòng),也就是這種指令:/opt/openwebui/openwebui-venv/bin/open-webui serve --port 8080
,那么以下這個(gè)東西出來(lái)了并沒(méi)有啟動(dòng)完成:
要等待更多東西出來(lái)才是啟動(dòng)完成了。
如果你是終端啟動(dòng)并且使用vscode,你會(huì)看到“端口”界面出現(xiàn)端口映射情況:
如果你不是,你可以通過(guò)lsof -i:端口號(hào)
指令查看自己的端口占用情況,注意不要打多了空格。
啟動(dòng)完成后,訪問(wèn)http://your_ip_address:8080
,就能看到下面的Open WebUI界面了。
如果
http://127.0.0.1:8080
能訪問(wèn)但是ip+端口訪問(wèn)不了,一般都是防火墻沒(méi)開(kāi)放對(duì)應(yīng)端口導(dǎo)致的,sudo ufw allow 端口號(hào)
就可以了。
進(jìn)入界面之后創(chuàng)建管理員賬號(hào)密碼,如果提示權(quán)限有問(wèn)題,很可能是關(guān)鍵依賴沒(méi)有裝,裝好就行了,裝好之后重新創(chuàng)建:
sudo apt install sqlite3 # fix sqlite3
sudo apt install apache2-utils # fix htpasswd
這樣,Open WebUI搭建部署完畢。
修復(fù)文件上傳功能
壞消息說(shuō)在最前:我還沒(méi)解決!!!因?yàn)槲业膐penwebui 版本有點(diǎn)高,我沒(méi)找到最新的解決思路,還在自己探索,但我感覺(jué)沒(méi)什么好探索的后期我可能會(huì)考慮降版本。以下是我在網(wǎng)上找到的解決思路,我照著實(shí)施了一遍也并沒(méi)有解決……
上傳文件報(bào)錯(cuò):python “‘NoneType’ object has no attribute ‘encode’”,要打開(kāi)管理員面板裝個(gè)模型,詳見(jiàn)https://github.com/open-webui/open-webui/discussions/8059,根據(jù)文檔討論內(nèi)容,總結(jié)所有解決辦法如下:
-
重置嵌入模型配置
- 進(jìn)入Admin Panel → 找到Embedding Model設(shè)置
- 手動(dòng)輸入默認(rèn)模型名稱:
sentence-transformers/all-MiniLM-L6-v2
- 點(diǎn)擊右側(cè)刷新按鈕應(yīng)用配置
- 適用版本:0.4.7及早期版本
-
代碼層修復(fù)
# 在/backend/open_webui/apps/retrieval/main.py中添加: default_embedding_model = "sentence-transformers/all-MiniLM-L6-v2" if not app.state.config.RAG_EMBEDDING_MODEL.strip():app.state.config.RAG_EMBEDDING_MODEL = default_embedding_modelupdate_embedding_model(default_embedding_model)
通過(guò)添加空值檢測(cè)和默認(rèn)值回退機(jī)制
-
切換嵌入模型引擎
- 將Embedding Engine改為
ollama
- 設(shè)置API地址為本地Ollama服務(wù)(如
http://127.0.0.1:11434
) - 適用版本:0.5.5+
- 將Embedding Engine改為
-
更換兼容的嵌入模型
- 推薦模型:
BAAI/bge-m3
(驗(yàn)證有效)nomic-ai/nomic-embed-text-v1.5
(需網(wǎng)絡(luò)穩(wěn)定)paraphrase-multilingual
- 避免使用空值或無(wú)效模型名稱
- 推薦模型:
-
基礎(chǔ)設(shè)施調(diào)整
- Docker用戶:更新至0.5.10版并通過(guò)compose部署
- 手動(dòng)安裝用戶:檢查依賴完整性
- 確保網(wǎng)絡(luò)通暢(影響模型下載)
- 重置向量數(shù)據(jù)庫(kù):
rm -rf vector_storage/
-
開(kāi)發(fā)分支修復(fù)
- 嘗試合并提交4b7f0c5的修復(fù)
- 注意:dev分支可能存在不穩(wěn)定性
-
替代方案
- 通過(guò)API使用外部嵌入服務(wù)
- 直接使用Ollama而非OpenWebUI集成
附加建議:
- 出現(xiàn)錯(cuò)誤時(shí)檢查日志:
ERROR[open_webui.routers.retrieval]
段 - 優(yōu)先使用Docker部署保證環(huán)境一致性
- 首次配置時(shí)建議:
# 清理舊配置 rm -rf ~/.cache/openwebui/models/ rm -rf vector_storage/
不同版本適用性:
- 0.4.x版本:方案1、2有效
- 0.5.x版本:方案3、4、5更可靠
- 0.5.10+版本:建議優(yōu)先使用Docker部署
注:若問(wèn)題持續(xù),建議在Github提交包含完整錯(cuò)誤日志的新issue。
聯(lián)網(wǎng)搜索功能
參考:國(guó)內(nèi),怎么使用open webui 網(wǎng)絡(luò)搜索功能,有大佬指導(dǎo)一下嘛? · open-webui/open-webui · Discussion #3851
OpenWebUI接入博查搜索API - 開(kāi)發(fā)調(diào)優(yōu) - LINUX DO
看了半天我感覺(jué)還是不花錢好,于是想選擇 Searxng,自己搭。
但搭挺費(fèi)事的,我現(xiàn)在還沒(méi)開(kāi)始搭,之后搭了再補(bǔ)博客吧。
本賬號(hào)所有文章均為原創(chuàng),歡迎轉(zhuǎn)載,請(qǐng)注明文章出處:https://shandianchengzi.blog.csdn.net/article/details/145671009。百度和各類采集站皆不可信,搜索請(qǐng)謹(jǐn)慎鑒別。技術(shù)類文章一般都有時(shí)效性,本人習(xí)慣不定期對(duì)自己的博文進(jìn)行修正和更新,因此請(qǐng)?jiān)L問(wèn)出處以查看本文的最新版本。