一、使用Ollama關閉OpenAI
OpenWebUI自帶OpenAI的API設置,且默認是打開的,默認情況下,啟動后,會不斷的去連https://api.openai.com/v1,但是無法連上,會報錯,但是不會影響頁面,能正常打開。
本地搭建Ollama部署DeepSeek后,配置了DeepSeek的模型,關閉了OpenAI后,能正常使用。
二、配置硅基流動
最近看到很多文章提到硅基流動,由于工作需要以及同事推薦,也注冊了一個帳號,同時申請了一個API Key,然后,試下能不能將這個API Key配置到OpenWebUI里面來使用。
配置如下:
API基礎地址 | https://api.siliconflow.cn/v1 |
前綴 | deepseek-ai/DeepSeek-R1 |
API Key | **** |
配置完保存,在模型里面沒看到新的模型,檢查異常日志:
docker logs -f?open-webui(都是中劃線,怎么看著f前面的像下劃線)
INFO: ? ? 172.20.19.134:59477 - "GET /ollama/config HTTP/1.1" 200 OK INFO: ? ? 172.20.19.134:59478 - "GET /openai/config HTTP/1.1" 200 OK ERROR [open_webui.routers.openai] Client error: %E2%80%8Bhttps://api.siliconflow.cn/v1%E2%80%8B/models Traceback (most recent call last): ? File "/app/backend/open_webui/routers/openai.py", line 433, in get_models ? ? async with session.get( ? File "/usr/local/lib/python3.11/site-packages/aiohttp/client.py", line 1425, in __aenter__ ? ? self._resp: _RetType = await self._coro ? ? ? ? ? ? ? ? ? ? ? ? ? ?^^^^^^^^^^^^^^^^ ? File "/usr/local/lib/python3.11/site-packages/aiohttp/client.py", line 622, in _request ? ? raise err_exc_cls(url) aiohttp.client_exceptions.InvalidUrlClientError: %E2%80%8Bhttps://api.siliconflow.cn/v1%E2%80%8B/models |
發現訪問地址里面前后多了一些奇怪的編碼,然后再檢查配置,發現鏈接里面,用光標移動時,居然有隱藏的符號,使用刪除鍵刪除后,保存。
切換到模型后,發現多了很多模型:
對模型進行設置,停用以及可見性設置為公開。然后在對話時就可以使用了。
正常對話如下,稍微有點慢
檢查硅基流動費用情況如下
軌跡流動邀請注冊地址:硅基流動統一登錄,注冊完后在模型廣場,選中一個模型,點擊在線體驗可以進行對話。系統會贈送費用,也可以選擇免費版體驗。
三、問題出現
使用聯網搜索時,一直卡著搜索不動,所以重啟了下OpenWebUI,docker restart open-webui,重啟后,無法進入系統了。報錯500,有時候在網絡工具里面顯示500。
檢查日志,提示無法連接https://api.siliconflow.cn/v1,訪問異常。參考異常如下,實際可能還會有其他異常。
INFO ?[open_webui.routers.openai] get_all_models() ERROR [open_webui.routers.openai] 403, message='Forbidden', url='https://api.siliconflow.cn/v1/chat/completions' Traceback (most recent call last): ? File "/app/backend/open_webui/routers/openai.py", line 696, in generate_chat_completion ? ? r.raise_for_status() ? File "/usr/local/lib/python3.11/site-packages/aiohttp/client_reqrep.py", line 1161, in raise_for_status ? ? raise ClientResponseError( aiohttp.client_exceptions.ClientResponseError: 403, message='Forbidden', url='https://api.siliconflow.cn/v1/chat/completions' INFO: ? ? 172.20.19.56:65161 - "POST /api/chat/completions HTTP/1.1" 400 Bad Request INFO: ? ? 172.20.19.56:65161 - "GET /api/v1/chats/?page=1 HTTP/1.1" 200 OK |
四、問題處理
頁面都無法打開了,管理員頁面也無法打開,上網也沒收到答案,莫非要重裝,不想重裝,按照DeepSeek給的答案,嘗試進入docker里面找.env或者類似的配置文件,都沒找到,不過看到docker映射出來的/root/open-webui/data目錄下有個webui.db,用navicat打開。
好家伙,看到一個config表,將config表里面的內容復制出來,使用json格式化工具格式化后一目了然。
找到openai的部分,配置改成false,就不會去連接了,或者按需修改其他內容都可以,建議直接修改原數據,不要修改格式化之后的數據,修改后記得提交。
停止OpenWebUI,docker stop open-webui,備份原數據庫,覆蓋原數據庫后,啟動OpenWebUI,docker start open-webui,系統可以正常訪問并進行相關設置。如果遇到其他問題,也可以嘗試直接修改數據庫,后續可以定期備份數據庫,遇到異常情況,可以還原。