【LLM】Ollama:本地大模型使用

本指南将详细介绍如何在Linux系统上使用Ollama进行本地大模型的快速部署与管理。通过Docker容器化技术,您可以轻松部署Ollama及其WebUI,实现通过浏览器访问和管理大型语言模型。

快速部署,Web访问

安装Docker

根据操作系统下载并安装 Docker Desktop(Windows/macOS)或使用包管理工具(如 apt)安装 Docker(Linux)。

使用Ollama和Open WebUI独立部署

部署Ollama容器

首先,启动Ollama服务容器,可以使用 GPU 运行 Ollama,修改你的 Docker 命令,添加 --gpus all 参数来使用 GPU:

docker run -d --name ollama \-p 11434:11434 \-v ollama_data:/ollama/data \--restart always \ollama/ollama:latest

命令解析:

  • -d:后台运行容器。
  • --name ollama:指定容器名称为ollama
  • -p 11434:11434:将主机的11434端口映射到容器的11434端口,用于API访问。
  • -v ollama_data:/ollama/data:挂载卷,确保数据持久化。
  • --restart always:设置容器自动重启策略。
  • ollama/ollama:latest:指定使用最新版本的Ollama镜像。
部署Open WebUI容器

接下来,启动Open WebUI服务容器,并连接到本地运行的Ollama服务。

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

命令解析:

  • -d:后台运行容器。
  • -p 3000:8080:将主机的3000端口映射到容器的8080端口,用于WebUI访问。
  • --add-host=host.docker.internal:host-gateway:在容器内添加主机的内部地址,使WebUI能够访问本地Ollama服务。
  • -v open-webui:/app/backend/data:挂载卷,确保WebUI数据持久化。
  • --name open-webui:指定容器名称为open-webui
  • --restart always:设置容器自动重启策略。
  • ghcr.io/open-webui/open-webui:main:指定使用Open WebUI的主分支镜像。
访问Open WebUI

部署完成后,通过浏览器访问http://localhost:3000即可打开Open WebUI界面。在此界面中,您可以:

  • 输入提示(prompt)与大模型进行交互。
  • 管理和切换不同的模型。
  • 调整生成参数,如温度(temperature)和最大生成长度(max_tokens)。

使用Bundled Ollama进行一体化部署

Bundled Ollama提供了一个包含Open WebUIOllama的单一Docker镜像,简化了部署过程,适合希望快速上手且不需要单独管理服务的用户。

使用CPU进行部署

如果您的系统不具备NVIDIA GPU,或者不需要GPU加速,可以使用以下命令启动Bundled Ollama:

docker run -d -p 3000:8080 \-v ollama:/root/.ollama \-v open-webui:/app/backend/data \--name open-webui \--restart always \ghcr.io/open-webui/open-webui:ollama

命令解析:

  • -d:后台运行容器。
  • -p 3000:8080:将主机的3000端口映射到容器的8080端口,用于WebUI访问。
  • -v ollama:/root/.ollama:挂载卷,确保Ollama数据持久化。
  • -v open-webui:/app/backend/data:挂载卷,确保WebUI数据持久化。
  • --name open-webui:指定容器名称为open-webui
  • --restart always:设置容器自动重启策略。
  • ghcr.io/open-webui/open-webui:ollama:指定使用Bundled Ollama的镜像。
使用Nvidia GPU支持进行部署

如果您的系统配备NVIDIA GPU,并希望利用GPU加速模型推理,请确保已安装NVIDIA Container Toolkit以支持GPU资源分配。然后,使用以下命令启动Bundled Ollama:

docker run -d -p 3000:8080 \--gpus all \-v ollama:/root/.ollama \-v open-webui:/app/backend/data \--name open-webui \--restart always \ghcr.io/open-webui/open-webui:ollama

命令解析:

  • --gpus all:将所有可用的GPU资源分配给容器,以加速模型推理。
  • 其他参数与CPU部署方法相同。
访问Open WebUI

同样,通过浏览器访问http://localhost:3000即可打开Open WebUI界面。由于Bundled Ollama已经包含了Ollama服务,您无需进行额外的配置即可开始使用。

停止和管理容器

无论您选择哪种部署方法,都可以使用以下Docker命令来管理Open WebUIOllama容器。

查看正在运行的容器
docker ps
停止容器
docker stop open-webui
docker stop ollama
启动已停止的容器
docker start open-webui
docker start ollama
重启容器
docker restart open-webui
docker restart ollama
查看容器日志
docker logs open-webui
docker logs ollama
删除容器
docker rm open-webui
docker rm ollama

注意: 删除容器不会删除挂载的卷中的数据。如果需要删除数据,请手动移除相应的Docker卷:

docker volume rm open-webui
docker volume rm ollama_data

管理数据卷

在 Docker 中,数据卷用于持久化容器中的数据。您在部署命令中使用了以下数据卷:

  • -v ollama_data:/ollama/data
  • -v open-webui:/app/backend/data
列出和查看数据卷

要查看系统中的所有 Docker 数据卷,使用以下命令:

docker volume ls

要获取特定数据卷的信息,如 ollama_data,使用:

docker volume inspect ollama_data
备份数据卷

可以使用 tar 命令将数据卷备份:

docker run --rm -v ollama_data:/volume -v $(pwd):/backup alpine tar czf /backup/ollama_data_backup.tar.gz -C /volume .
恢复数据卷

从备份恢复数据卷:

docker run --rm -v ollama_data:/volume -v $(pwd):/backup alpine sh -c "tar xzf /backup/ollama_data_backup.tar.gz -C /volume"
删除数据卷

删除数据卷(例如 ollama_data):

docker volume rm ollama_data
主机目录作为数据卷

可以将主机目录挂载为数据卷以直接访问和管理数据:

docker run -d --name ollama -v /home/user/ollama_data:/ollama/data --restart always ollama/ollama:latest

管理Ollama

除了部署和运行,您还需要了解如何管理Ollama,包括进入容器、执行常用指令等。

进出容器

有时您需要进入运行中的Docker容器,执行一些管理任务或查看配置。

进入容器
docker exec -it ollama /bin/bash

命令解析:

  • exec:在运行的容器中执行命令。
  • -it:交互式终端。
  • open-webui:容器名称。
  • /bin/bash:启动bash shell。
退出容器

在容器内执行exit命令即可退出交互式会话。

exit

Ollama常用指令

在管理Ollama时,以下是一些常用的命令和指令:

查看可用模型列表
ollama list
下载模型
ollama pull <model-name>
运行模型
ollama run <model-name>
删除模型
ollama rm <model-name>
查看已下载的模型
ollama models
获取Ollama版本信息
ollama version
查看Ollama帮助信息
ollama help
导入模型
ollama import <path-to-modelfile>
导出模型
ollama export <model-name> <output-path>

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

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

C++在Linux实现多线程和多进程的TCP服务器和客户端通信

多进程版本 服务器 #include <arpa/inet.h> #include <stdlib.h> #include <stdio.h> #include <string.h> #include <unistd.h> #include <sys/socket.h> #include <sys/wait.h> #include <signal.h> #include <string&…

828华为云征文 | 云服务器Flexus X实例,Docker集成搭建Mysql集群

828华为云征文 | 云服务器Flexus X实例&#xff0c;Docker集成搭建Mysql集群 MySQL 集群是一种高可用性、高性能的数据库解决方案&#xff0c;旨在支持分布式应用程序&#xff0c;允许多个 MySQL 实例以集群的方式共同工作&#xff0c;提供数据冗余和故障恢复能力 搭建Mysql集群…

【QT基础】创建项目项目代码解释

目录 前言一&#xff0c;使⽤Qt Creator 新建项目1. 新建项目2. 选择项⽬模板3. 选择项⽬路径4. 选择构建系统5. 填写类信息设置界⾯6. 选择语⾔和翻译⽂件7. 选择Qt套件8. 选择版本控制系统9. 最终效果 二&#xff0c;项目代码说明1. main.cpp文件2. Widget.h文件3. Widget.cp…

吉时利keiithley2440高精度测试仪KEITHLEY2410/2450数字源表

Keithley 2440数字源表&#xff0c;40V&#xff0c;5A&#xff0c;50W 其他功能&#xff1a; 四象限运行基本精度为 0.012%&#xff0c;分辨率为 5 1⁄2 位具有可编程电流源和电压钳的 6 线 Ω 测量通过 GPIB 以 4 1⁄2 位数字读取 1700 个读数/秒内置比较器&#xff0c;用于…

【java面经】Redis速记

目录 基本概念 string hash list set zset 常见问题及解决 缓存穿透 缓存击穿 缓存雪崩 Redis内存管理策略 noeviction allkeys-lru allkeys-random volatile-random volatile-ttl Redis持久化机制 RDB快照 AOF追加文件 Redis多线程特性 Redis应用场景 缓…

力扣反转链表系列【25. K 个一组翻转链表】——由易到难,一次刷通!!!

力扣《反转链表》系列文章目录 刷题次序&#xff0c;由易到难&#xff0c;一次刷通&#xff01;&#xff01;&#xff01; 题目题解206. 反转链表反转链表的全部 题解192. 反转链表 II反转链表的指定段 题解224. 两两交换链表中的节点两个一组反转链表 题解325. K 个一组翻转…

深入剖析Docker容器安全:挑战与应对策略

随着容器技术的广泛应用&#xff0c;Docker已成为现代应用开发和部署的核心工具。它通过轻量级虚拟化技术实现应用的隔离与封装&#xff0c;提高了资源利用率。然而&#xff0c;随着Docker的流行&#xff0c;其安全问题也成为关注焦点。容器化技术虽然提供了良好的资源隔离&…

塑料瓶回收流水线分拣系统源码分享

塑料瓶回收流水线分拣检测系统源码分享 [一条龙教学YOLOV8标注好的数据集一键训练_70全套改进创新点发刊_Web前端展示] 1.研究背景与意义 项目参考AAAI Association for the Advancement of Artificial Intelligence 项目来源AACV Association for the Advancement of Comp…

信息安全数学基础(15)欧拉定理

前言 欧拉定理是数论中的一个重要定理&#xff0c;它建立了模运算下指数与模的互质关系。这个定理在密码学、信息安全等领域有着广泛的应用&#xff0c;特别是在公钥密码体制&#xff08;如RSA加密算法&#xff09;中。 一、表述 设 n 是一个正整数&#xff0c;a 是一个与 n 互…

C++速通LeetCode中等第3题-盛最多水的容器

双指针法&#xff1a;两个指针分别指向左右边界&#xff0c;记录最大面积&#xff0c;由于面积由短板决定&#xff0c;两个指针中较短的短指针向内移动一格&#xff0c;再次记录最大面积&#xff0c; 直到两指针相遇&#xff0c;得出答案。 class Solution { public:int maxAr…

【计算机网络篇】数据链路层 功能|组帧|流量控制与可靠传输机制

&#x1f9f8;安清h&#xff1a;个人主页 &#x1f3a5;个人专栏&#xff1a;【计算机网络】 &#x1f6a6;作者简介&#xff1a;一个有趣爱睡觉的intp&#xff0c;期待和更多人分享自己所学知识的真诚大学生。 系列文章目录 【计算机网络篇】计算机网络概述 【计算机网络篇…

智慧交通,智能消防系统助力高铁站安全

智慧交通是一项基于现代技术的创新领域&#xff0c;正不断为我们生活带来便利。在智慧交通领域中&#xff0c;高铁站是一个非常重要的环节。高铁站作为人流密集的区域&#xff0c;安全问题一直备受关注。为了提升高铁站的安全性和效率&#xff0c;智慧消防设备监测与集中监控系…

5、论文阅读:深水下的图像增强

深水下的图像增强 前言介绍贡献UWCNN介绍网络架构残差Residuals块 Blocks网络层密集串联网络深度减少边界伪影网络损失Loss后处理前言 水下场景中,与波长相关的光吸收和散射会降低图像的可见度,导致对比度低和色偏失真。为了解决这个问题,我们提出了一种基于卷积神经网络的…

基于python深度学习遥感影像地物分类与目标识别、分割实践技术

我国高分辨率对地观测系统重大专项已全面启动&#xff0c;高空间、高光谱、高时间分辨率和宽地面覆盖于一体的全球天空地一体化立体对地观测网逐步形成&#xff0c;将成为保障国家安全的基础性和战略性资源。未来10年全球每天获取的观测数据将超过10PB&#xff0c;遥感大数据时…

【自学笔记】支持向量机(3)——软间隔

引入 上一回解决了SVM在曲线边界的上的使用&#xff0c;使得非线性数据集也能得到正确的分类。然而&#xff0c;对于一个大数据集来说&#xff0c;极有可能大体呈线性分类趋势&#xff0c;但是边界处混杂&#xff0c;若仍采用原来的方式&#xff0c;会得到极其复杂的超平面边界…

【C++篇】走进C++标准模板库:STL的奥秘与编程效率提升之道

文章目录 C STL 初探&#xff1a;打开标准模板库的大门前言第一章: 什么是STL&#xff1f;1.1 标准模板库简介1.2 STL的历史背景1.3 STL的组成 第二章: STL的版本与演进2.1 不同的STL版本2.2 STL的影响与重要性 第三章: 为什么学习 STL&#xff1f;3.1 从手动编写到标准化解决方…

字母与符号检测系统源码分享

字母与符号检测检测系统源码分享 [一条龙教学YOLOV8标注好的数据集一键训练_70全套改进创新点发刊_Web前端展示] 1.研究背景与意义 项目参考AAAI Association for the Advancement of Artificial Intelligence 项目来源AACV Association for the Advancement of Computer V…

十二、JDK17的GC调优策略

文章目录 一、JVM有哪些参数可以调&#xff1f;二、从RocketMQ学习常用GC调优三部曲三、基于JDK17优化JVM内存布局1、定制堆内存大小2、定制非堆内存大小设置元空间设置线程栈空间设置热点代码缓存空间应用程序类数据共享 四、基于JDK17定制JVM的GC参数G1重要参数ZGC重要参数 五…

C++设计模式(更新中)

文章目录 1、创建型模式1.1 简单工厂&#xff08;Simple Factory&#xff09;&#xff08;1&#xff09;示例&#xff08;2&#xff09;总结 1.2 工厂方法&#xff08;Factory Method&#xff09;&#xff08;1&#xff09;示例&#xff08;2&#xff09;总结 1.3 抽象工厂&…

1--SpringBoot外卖项目介绍及环境搭建 详解

目录 软件开发整体流程 软件开发流程 角色分工 软件环境 苍穹外卖项目介绍 项目介绍 产品原型 技术选型 开发环境搭建 前端环境搭建 后端环境搭建 完善登录功能 导入接口文档 Swagger 介绍 使用方式 常用注解 软件开发整体流程 软件开发流程 需求分析&#x…