【人工智能】Open WebUI+ollama+deepSeek-r1 本地部署大模型与知识库
目录
一 、命令行下载安装
二、运行
三、添加开机自启服务 ollama serve
四、重新加载配置、重启ollama server
五、查看模型文件信息
六、 添加open-webui
七、 配置open webui
八、创建自己知识库
九、网络加密优化
十、大工告成,大家如果有问题可以私信我
Ollama下载安装地址:Download Ollama on Linux
一 、命令行下载安装
通过官方网址命令来运行下载ollama
curl -fsSL https://ollama.com/install.sh | sh
二、运行
1、启动 ollama 服务
ollama serve
2、运行大模型
#测试安装是否成功
ollama --version
#ollama run <模型名称>;我这里是L40显卡,运行一个32B的deepseek;
#如果你的电脑配置GPU配置不足。可以运行更小参数的如7b 、8b;替换一下32b的参数即可ollama run deepseek-r1:32b
三、添加开机自启服务 ollama serve
1 关闭 ollama 服务
#关闭 ollama 服务service ollama stop
2 、修改配置文件
#修改配置文件
sudo gedit /etc/systemd/system/ollama.service
1 把User改为 你的linux系统用户名 ,Group 改为 你的linux用户组
2 添加 Environment="OLLAMA_MODELS=/path/ollama_cache" 改为你的路径
3 添加 Environment="OLLAMA_HOST=0.0.0.0:11434" 配置ollama 服务监听所有IP和端口
[Unit]
Description=Ollama Service
After=network-online.target[Service]
ExecStart=/usr/local/bin/ollama serve
User=你的linux用户名
Group=你的linux用户组
Restart=always
RestartSec=3
Environment="OLLAMA_MODELS=/path/ollama_cache"
Environment="OLLAMA_HOST=0.0.0.0:11434"
Environment="PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/snap/bin"[Install]
WantedBy=default.target
四、重新加载配置、重启ollama server
#重新加载配置sudo systemctl daemon-reload#重启ollama serversudo systemctl start ollama
五、查看模型文件信息
#查看模型信息
ollama list
六、 添加open-webui
1、docker 拉取现有的镜像,创建容器运行
#修改/etc/docker/daemon.json
{"registry-mirrors": ["https://docker.1ms.run","https://docker.1panel.live/"]
}
#使用docker进行安装,因为使用本地的deepseek。所以创建时候默认关闭了openai的外网访问
run -d -e ENABLE_OPENAI_API=0 -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
七、 配置open webui
1、访问open webui 创建管理员账号
浏览器访问地址:http://ip地址:3000
第一次输入的账号、电子邮箱、以及密码是管理员的
2、管理员面板核心功能
-
用户管理
- 路径:左侧导航栏进入 Admin Panel > Users
- 操作项:
- 添加用户:设置用户名、密码、邮箱及用户类型(管理员/普通用户/待激活)2
- 权限分配:通过
Roles
设置用户模型访问权限(如禁用模型下载或删除权限)24 - 密码重置:支持批量生成临时访问令牌
-
用户组权限配置
- 路径:Admin Panel > Permission Groups
- 配置逻辑:
- 创建新权限组(如
研发组
) - 勾选 访问模型列表 等基础权限
- 在 用户 选项卡关联成员账号
- 创建新权限组(如
3、模型可见性控制
1、点击设置->选择外部连接:因为是本地部署,这里关闭了openAI API 功能选项,打开本地的Ollama API连接,配置连接地址:http://host.docker.internal:11434
2、点击设置->选择模型:这里列出了ollama运行的所以模型。
点击对应的模型可以进行配置;
4、知识库文档配置
这里选择文档,对本地知识库内容搜索引擎及语义向量模型进行配置:
这里内容提取引擎是部署的本地化的Tika;语义向量模型使用的是默认的(建议换成:shaw/dmeta-embedding-zh:latest或者bge-m3:latest 模型引擎)
1、本地部署Tika引擎
#使用docker部署 端口9998
docker run -d --name tika -p 9998:9998 apache/tika:latest
5、联网搜索配置
联网搜索模块我使用的是tavily;
我查阅了一些资料,有人说searxng比较好用,而且可以本地部署;我本地部署了一个,结果不能用。
不得以才使用的tavily。tavily缺点是得去官网申请api key;且申请的过程相对繁琐,一般人就直接放弃了可能;
1、本地部署searxng引擎
#使用docker进行拉取镜像并运行
docker run -d -p 8888:8080 searxng/searxng
通过http://localhost:8888即可访问:
6、语音和图形引擎配置
这一块语音建议配置openai的或者自行搭建。稍微比较繁琐;
图形使用Gmini
八、创建自己知识库
选择工作空间---知识库---点击+号命名一个知识库空间;然后上传文档即可
然后按照第八步骤中第四:配置文档知识库,在选择的模型中管理知识库即可
还有一种方法就是在会话聊天中,输入#号可以调用知识库+模型来进行回答
九、网络加密优化
将http://localhost:3000访问地址优化为:https:dns域名来进行访问
准备工作
1、将公司证书上传至服务器
将证书文件xxxx.com.cn.pem
(需包含完整证书链)和私钥xxxx.com.cn.key
上传至服务器,建议存放路径:
sudo mkdir -p /etc/nginx/ssl/deepseek
sudo cp xxxx.com.cn.pem /etc/nginx/ssl/deepseek/
sudo cp xxxx.com.cn.key /etc/nginx/ssl/deepseek/
2、验证证书链完整性(可选)
openssl x509 -in /etc/nginx/ssl/deepseek/xxxx.com.cn.pem -text -noout
安装并配置Nginx
1、安装nginx
sudo apt update && sudo apt install nginx -y
2、创建Nginx配置文件
新建配置文件/etc/nginx/sites-available/deepseek.conf
,内容如下:
#注意将以下域名地方进行更改成自己的域名
server {listen 443 ssl;server_name deepseek.xxxx.com.cn;ssl_certificate /etc/nginx/ssl/deepseek/xxxx.com.cn.pem;ssl_certificate_key /etc/nginx/ssl/deepseek/xxxx.com.cn.key;ssl_session_timeout 1d;ssl_session_cache shared:MozSSL:10m;ssl_protocols TLSv1.2 TLSv1.3;ssl_ciphers ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256;ssl_prefer_server_ciphers off;location / {proxy_pass http://localhost:3000;proxy_set_header Host $host;proxy_set_header X-Real-IP $remote_addr;proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;proxy_set_header X-Forwarded-Proto $scheme;chunked_transfer_encoding off;# 关闭代理层缓冲(必须)proxy_buffering off;proxy_buffer_size 16k;proxy_buffers 4 64k;# 保持长连接与流式数据支持proxy_http_version 1.1;proxy_set_header Connection '';proxy_set_header Host $host;# 流式响应超时配置(可选调整)proxy_read_timeout 24h;proxy_ssl_server_name on;proxy_ssl_verify off; # 自签名证书可临时关闭验证proxy_send_timeout 86400s;proxy_set_header Upgrade $http_upgrade;proxy_set_header Connection "upgrade";proxy_set_header Sec-WebSocket-Version 13;}
}server {listen 80;server_name deepseek.xxxx.com.cn;return 301 https://$host$request_uri;
}
启用配置并测试
sudo ln -s /etc/nginx/sites-available/deepseek.conf /etc/nginx/sites-enabled/
sudo nginx -t # 检查配置语法
sudo systemctl reload nginx