一、使用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,系统可以正常访问并进行相关设置。如果遇到其他问题,也可以尝试直接修改数据库,后续可以定期备份数据库,遇到异常情况,可以还原。