背景
由于官方DeepSeek频繁不可用,第三方API站点部署的全量模型无法联网,因此有需要联网推理的场景只能使用本地部署解决。
环境
CPU:12700 内存:32G DDR4 3200 显卡:RTX 2060 Super
模型准备
受显存限制,使用ollama只能下载8b和14b模型。
- 8b模型可以完全加载到显存中,使用cuda推理。
- 14b模型需要利用CPU+GPU混合推理。
本地下载开源docker镜像open-webui
docker run -d -p 3000:8080 --add-host=host.docker.internal:host-gateway -v open-webui:/app/backend/data --name open-webui --restart always ghcr.io/open-webui/open-webui:main
该镜像下载困难可以手动传到阿里云镜像仓库做一次代理,本次使用我同步的代理镜像启动
docker run -d -p 3000:8080 --add-host=host.docker.internal:host-gateway -v open-webui:/app/backend/data --name open-webui --rm registry.cn-guangzhou.aliyuncs.com/fjy8018_proxy/open-webui:main
首次启动耗时较长,耐心等待,显示如下画面表示启动完成
联网API
进入http://localhost:3000/admin/settings 点击联网搜索配置搜索引擎
目前有3种免费的联网搜索API,各有优劣
Duckduckgo
优点:免费,无需API配置 缺点:网络无法直接访问。
Bing Search
优点:免费,国内网络可直连。 缺点:需要微软账户+信用卡认证。
Google Search
优点:免费,搜索内容可靠。 缺点:需要配置,网络无法直连。
此处为保障最好的搜索质量,使用Google搜索API接入。
申请API和密钥
进入谷歌可编程搜索引擎官网:Programmable Search Engine | Google for Developers 创建搜索引擎
点击控制面板
创建搜索引擎,名称任意
创建后得到搜索引擎ID
选择程序化访问
获取密钥
配置联网搜索
选择google pse,填写密钥和搜索ID
验证
8b + 联网搜索
使用8b+联网搜索验证
容器日志可以看到搜索到的文本内容
8b联网+推理显存沾满,显卡满载,但不需要CPU参与推理,32token/s,速度较快。
14b+联网搜索
改成14b后,token速度下降到7token/s,勉强可用。
由于显存不足,需要CPU+GPU混合推理,显卡cuda性能无法完全利用,CPU占用率高。