服务器Ubuntu22.04系统下 ollama的详细部署安装和搭配open_webui使用

news2024/12/19 4:21:10
服务器Ubuntu22.04系统下 ollama的详细部署安装和搭配open_webui使用
  • 一、ubuntu和docker基本环境配置
          • 1.更新包列表:
          • 2. 安装docker依赖
          • 3. 添加docker密钥
          • 4.添加阿里云docker软件源
          • 5.安装docker
          • 6.安装完成docker测试
          • 7. docker配置国内镜像源
  • 二、安装英伟达显卡驱动
    • 1.使用 Apt 安装
  • 三、使用docker安装ollama
          • 1. 使用docker拉取ollama镜像
          • 2.使用docker运行以下命令来启动 Ollama 容器
          • 3.使用ollama下载模型
  • 四、使用docker安装open-webui
          • 1. docker部署ollama web ui
          • 2.注册账号
          • 3.成功进入:
          • 4. 聊天界面

一、ubuntu和docker基本环境配置

1.更新包列表:
  • 打开终端,输入以下命令:

    sudo apt-get update

    sudo apt upgrade

更新时间较长,请耐心等待

2. 安装docker依赖
sudo apt-get install ca-certificates curl gnupg lsb-release
3. 添加docker密钥
curl -fsSL http://mirrors.aliyun.com/docker-ce/linux/ubuntu/gpg | sudo apt-key add -
4.添加阿里云docker软件源
sudo add-apt-repository "deb [arch=amd64] http://mirrors.aliyun.com/docker-ce/linux/ubuntu $(lsb_release -cs) stable"
5.安装docker
apt-get install docker-ce docker-ce-cli containerd.i
6.安装完成docker测试
docker -v

在这里插入图片描述

7. docker配置国内镜像源
  • 7.1 编辑配置文件

    vi /etc/docker/daemon.json

按i进入编辑模式

加入以下内容:

{
  "registry-mirrors": [
    "https://docker.mirrors.ustc.edu.cn",
    "https://hub-mirror.c.163.com",
    "https://docker.m.daocloud.io", 
    "https://ghcr.io",
    "https://mirror.baidubce.com",
    "https://docker.nju.edu.cn"
  ]
}

按ESC键退出编辑模式,接着输入:wq,保存并退出

  • 7.2 重新加载docker

    sudo systemctl daemon-reload

  • 7.3 重启docker

    sudo systemctl restart docker

二、安装英伟达显卡驱动

1.使用 Apt 安装

  • 配置存储库

    curl -fsSL https://nvidia.github.io/libnvidia-container/gpgkey
    | sudo gpg --dearmor -o /usr/share/keyrings/nvidia-container-toolkit-keyring.gpg
    curl -s -L https://nvidia.github.io/libnvidia-container/stable/deb/nvidia-container-toolkit.list
    | sed ‘s#deb https://#deb [signed-by=/usr/share/keyrings/nvidia-container-toolkit-keyring.gpg] https://#g’
    | sudo tee /etc/apt/sources.list.d/nvidia-container-toolkit.list

  • 更新包列表

    sudo apt-get update

  • 安装 NVIDIA Container Toolkit 软件包

    sudo apt-get install -y nvidia-container-toolkit

  • 配置 Docker 以使用 Nvidia 驱动程序

    sudo nvidia-ctk runtime configure --runtime=docker

  • 重新启动docker

    sudo systemctl restart docker

三、使用docker安装ollama

1. 使用docker拉取ollama镜像
docker pull ollama/ollama:latest

国内镜像

docker pull dhub.kubesre.xyz/ollama/ollama:latest
2.使用docker运行以下命令来启动 Ollama 容器
docker run -d --gpus=all --restart=always -v /root/project/docker/ollama:/root/project/.ollama -p 11434:11434 --name ollama ollama/ollama

使ollama保持模型加载在内存(显存)中

  • 参考文章
    ollama如何保持模型加载在内存(显存)中或立即卸载

  • 执行以下命令:

    docker run -d --gpus=all -e OLLAMA_KEEP_ALIVE=-1 -v /root/project/docker/ollama:/root/.ollama -p 11434:11434 --name ollama ollama/ollama

3.使用ollama下载模型
  • 这里示例下载阿里的通义千问

    docker exec -it ollama ollama run qwen2

  • 运行效果如图:
    在这里插入图片描述

  • 模型库

模型

参数数量

大小

下载方式

Llama 2

7B

3.8GB

docker exec -it ollama ollama run llama2

Mistral

7B

4.1GB

docker exec -it ollama ollama run mistral

Dolphin Phi

2.7B

1.6GB

docker exec -it ollama ollama run dolphin-phi

Phi-2

2.7B

1.7GB

docker exec -it ollama ollama run phi

Neural Chat

7B

4.1GB

docker exec -it ollama ollama run neural-chat

Starling

7B

4.1GB

docker exec -it ollama ollama run starling-lm

Code Llama

7B

3.8GB

docker exec -it ollama ollama run codellama

Llama 2 Uncensored

7B

3.8GB

docker exec -it ollama ollama run llama2-uncensored

Llama 2

13B

7.3GB

docker exec -it ollama ollama run llama2:13b

Llama 2

70B

39GB

docker exec -it ollama ollama run llama2:70b

Orca Mini

3B

1.9GB

docker exec -it ollama ollama run orca-mini

Vicuna

7B

3.8GB

docker exec -it ollama ollama run vicuna

LLaVA

7B

4.5GB

docker exec -it ollama ollama run llava

Gemma

2B

1.4GB

docker exec -it ollama ollama run gemma:2b

Gemma

7B

4.8GB

docker exec -it ollama ollama run gemma:7b

四、使用docker安装open-webui

1. docker部署ollama web ui

查看自己服务器的业务端口,我们这里是30131-30140
在这里插入图片描述
main版本

docker run -d -p 30131:8080 --gpus all --add-host=host.docker.internal:host-gateway -v open-webui:/app/backend/data --name open-webui --restart always ghcr.nju.edu.cn/open-webui/open-webui:main

cuda版本

docker run -d -p 30131:8080 --gpus all --add-host=host.docker.internal:host-gateway -v open-webui:/app/backend/data --name open-webui --restart always ghcr.nju.edu.cn/open-webui/open-webui:cuda
  • 安装成功后,可以在另一台计算机进行访问,如下:
    在这里插入图片描述
2.注册账号
  • 默认第一个账号是管理员
    在这里插入图片描述
3.成功进入:

在这里插入图片描述

4. 聊天界面

在这里插入图片描述
在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2261930.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

【视频生成模型】——Hunyuan-video 论文及代码讲解和实操

🔮混元文生视频官网 | 🌟Github代码仓库 | 🎬 Demo 体验 | 📝技术报告 | 😍Hugging Face 文章目录 论文详解基础介绍数据预处理 (Data Pre-processing)数据过滤 (Data Filtering)数据标注 (Data…

Node的学习以及学习通过Node书写接口并简单操作数据库

Node的学习 Node的基础上述是关于Node的一些基础,总结的还行; 利用Node书写接口并操作数据库 1. 初始化项目 创建新的项目文件夹,并初始化 package.json mkdir my-backend cd my-backend npm init -y2. 安装必要的依赖 安装Express.js&…

git diff 查看差异

一.查看工作区和暂存区之间文件的差异 git diff 命令,默认查看的就是 工作区 和 暂存区之间文件的差异 1.git diff : 查看工作区和暂存区之间所有的文件差异 2.git diff -- 文件名:查看具体某个文件 在工作区和暂存区之间的差异 3.git diff -- 文件名…

linux网络编程 | c | epoll实现IO多路转接服务器

epoll实现IO多路转接服务器 可通过以下视频学习 06-opell函数实现的多路IO转接_哔哩哔哩_bilibili 通过响应式–多路IO转接实现 文章目录 epoll实现IO多路转接服务器1.思路&功能核心思路 2.代码实现multi_epoll_sever.c运行图 1.思路&功能 **功能:**客…

Java全体系精华(上):从基础到框架,构建坚实开发技能

爱的故事.上集 1. Java 基础1.1 常用集合数据结构 Array List Map Set Tree1.1.1 常用集合在JDK中的结构1.1.2 List 底层是数组1.1.3 Map键值对结存储结构1.1.3.1 为什么HashMap的Key、Value都允许为 null1.1.3.2 为什么ConcurrentHashMap的Key、Value都不允许为null1.1.3.3 Ha…

基于Clinical BERT的医疗知识图谱自动化构建方法,双层对比框架

基于Clinical BERT的医疗知识图谱自动化构建方法,双层对比框架 论文大纲理解1. 确认目标2. 目标-手段分析3. 实现步骤4. 金手指分析 全流程核心模式核心模式提取压缩后的系统描述核心创新点 数据分析第一步:数据收集第二步:规律挖掘第三步&am…

ctfshow--web入门之爆破篇

知识点: 暴力破解原理 暴力破解实际就是疯狂的输入密码进行尝试登录,针对有的人喜欢用一些个人信息当做密码,有的人喜欢用一些很简单的低强度密码,我们就可以针对性的生成一个字典,用脚本或者工具挨个去尝试登录。 …

Web项目图片视频加载缓慢/首屏加载白屏

Web项目图片视频加载缓慢/首屏加载白屏 文章目录 Web项目图片视频加载缓慢/首屏加载白屏一、原因二、 解决方案2.1、 图片和视频的优化2.1.1、压缩图片或视频2.1.2、 选择合适的图片或视频格式2.1.3、 使用图片或视频 CDN 加速2.1.4、Nginx中开启gzip 三、压缩工具推荐 一、原因…

Go 语言与时间拳击理论下的结对编程:开启高效研发编程之旅

一、引言 结对编程作为一种软件开发方法,在提高代码质量、增强团队协作等方面具有显著优势。而时间拳击理论为结对编程带来了新的思考角度。本文将以 Go 语言为中心,深入探讨时间拳击理论下的结对编程。 在当今软件开发领域,高效的开发方法和…

SpringBoot集成ENC对配置文件进行加密

在线MD5生成工具 配置文件加密&#xff0c;集成ENC 引入POM依赖 <!-- ENC配置文件加密 --><dependency><groupId>com.github.ulisesbocchio</groupId><artifactId>jasypt-spring-boot-starter</artifactId><version>2.1.2</ver…

el-table 多表头+跨行跨列案例

效果&#xff1a; 代码&#xff1a; index.vue <template><div class"my-table"><el-tablev-loading"table.loading":data"table.data"bordersize"mini":header-cell-style"headerCellStyle":span-method&qu…

基线检查:Windows安全基线.【手动 || 自动】

基线定义 基线通常指配置和管理系统的详细描述&#xff0c;或者说是最低的安全要求&#xff0c;它包括服务和应用程序设置、操作系统组件的配置、权限和权利分配、管理规则等。 基线检查内容 主要包括账号配置安全、口令配置安全、授权配置、日志配置、IP通信配置等方面内容&…

【electron】electron forge + vite + vue + electron-release-server 自动更新客户端

基本信息 electron forge vue页面&#xff08;中文&#xff09;&#xff1a;https://forge.electron.js.cn/guides/framework-integration/vue-3 electron forge vue页面&#xff08;英文&#xff0c;中文版下面的tab无法点击&#xff09;&#xff1a;https://www.electronfor…

ubuntu+ros新手笔记(二):古月·ROS2入门21讲学习笔记

系统ubuntu22.04 ros2 humble 按照如下视频教程学习的&#xff1a;【古月居】古月ROS2入门21讲 | 带你认识一个全新的机器人操作系统 此处仅记录我报错的地方&#xff0c;以及相应的解决方案&#xff0c;没有出错的略过&#xff01; 对应的古月居ROS2入门21讲源码下载地址&a…

IDEA 可视化使用 git rebase 合并分支步骤 使git分支树保持整洁

模拟环境 dev 分支开发完一个功能&#xff0c;需要合并到 master 分支&#xff0c;如果现在直接 merge 合并的话 git分支树会出现杂乱分叉&#xff0c;先把 master 分支 rebase 到 dev git分支树就会是整洁的一条直线 git rebase介绍 rebase:翻译成中文是重新设定&#xff0c;…

Windows环境 (Ubuntu 24.04.1 LTS ) 国内镜像,用apt-get命令安装RabbitMQ,java代码样例

一、环境 Windows11 WSL(Ubuntu 24.04.1) 二、思路 1 用Windows中的Ubuntu安装RabbitMQ&#xff0c;贴近Linux的线上环境&#xff1b; 2 RabbitMQ用erlang语言编写的&#xff0c;先安装erlang的运行环境&#xff1b; 2 用Linux的apt-get命令安装&#xff0c;解决软件依赖…

使用ElasticSearch实现全文检索

文章目录 全文检索任务描述技术难点任务目标实现过程1. java读取Json文件&#xff0c;并导入MySQL数据库中2. 利用Logstah完成MySQL到ES的数据同步3. 开始编写功能接口3.1 全文检索接口3.2 查询详情 4. 前端调用 全文检索 任务描述 在获取到数据之后如何在ES中进行数据建模&a…

CTFHUB-web(SSRF)

内网访问 点击进入环境&#xff0c;输入 http://127.0.0.1/flag.php 伪协议读取文件 /?urlfile:///var/www/html/flag.php 右击查看页面源代码 端口扫描 1.根据题目提示我们知道端口号在8000-9000之间,使用bp抓包并进行爆破 POST请求 点击环境&#xff0c;访问flag.php 查看页…

数据结构 ——前缀树查词典的实现

数据结构 ——前缀树查词典的实现 一、前缀树的概念 前缀树是一种多叉树结构&#xff0c;主要用于存储字符串。每个节点代表一个字符&#xff0c;路径从根节点到叶节点表示一个完整的字符串。前缀树的关键特征是 共享前缀&#xff0c;也就是说&#xff0c;如果两个字符串有相…

React里循环tab列表,并实现点击切换class

介绍 在 React 框架里&#xff0c;通过循环去显示 tab列表的标题&#xff0c;并且添加点击事件&#xff0c;当前点击的tab高亮显示。就像 vue 里 通过 v-for 显示列表并且点击时添加 activeClass 一样。 实现效果 代码 主要通过 map方法来实现列表的循环显示&#xff0c;然后…