初试Ollama本地大模型

news2024/12/22 8:58:11

准备工作

  • 机器配置:

    CPUi5-10400
    内存16GB
    硬盘SSD 480GB
    显卡GTX 1660
  • 系统:Ubuntu 18.04 Server

NVIDIA驱动安装

- 下载

驱动下载地址:https://www.nvidia.cn/geforce/drivers/

在这里插入图片描述

在这里插入图片描述

- 获取下载链接

GTX 1660驱动下载链接:https://cn.download.nvidia.cn/XFree86/Linux-x86_64/550.100/NVIDIA-Linux-x86_64-550.100.run

- 安装驱动所需依赖

sudo apt install gcc g++ make

- 安装驱动

chmod +x NVIDIA-Linux-x86_64-550.100.run 
./NVIDIA-Linux-x86_64-550.100.run

- 验证驱动

在这里插入图片描述

安装 Ollama

- 安装方式:

  • 1.通过官网shell脚本安装 curl -fsSL https://ollama.com/install.sh | sh
  • 2.通过github仓库步骤手动安装 仓库地址

在这里插入图片描述

- 修改ollama.service环境变量

由于ollama.service默认启动地址是127.0.0.1,仅限本机访问,所以要改成0.0.0.0,使其能被其他主机连接,后边docker部署open-webui也会用到这个地址。

chain@ubuntu:~$ cat /etc/systemd/system/ollama.service
[Unit]
Description=Ollama Service
After=network-online.target

[Service]
ExecStart=/usr/local/bin/ollama serve
User=ollama
Group=ollama
Restart=always
RestartSec=3
Environment="PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin:/data/envs/go/bin"
Environment="OLLAMA_HOST=0.0.0.0"  # 增加这一行

[Install]
WantedBy=default.target

- 重载并重启服务

systemctl daemon-reload 
systemctl restart ollama.service

- 验证是否正常运行

chain@ubuntu:~$ curl localhost:11434
Ollama is running

- ollama常用命令

ollama list:显示模型列表。
ollama show:显示模型的信息
ollama pull:拉取模型
ollama push:推送模型
ollama cp:  拷贝一个模型
ollama rm:  删除一个模型
ollama run: 运行一个模型

大模型库下载

下载地址:https://ollama.com/library 模型版本数值B数越低,最低要求的资源就少,B数越高,最低要求的资源就多,可根据自己主机配置,酌情选择。

- 例子:llama2模型使用

模型地址文档:https://ollama.com/library/llama2,由文档中可知模型有三个版本

  • 7b通常最低需要8GB内存
  • 13b通常最低需要16GB内存
  • 70b通常最低需要64GB内存

在这里插入图片描述

我的主机配置是16GB,我选择7b这个版本

- 开始下载

# 直接运行下载命令默认为7 ,模型较大3.8GB,耐心等待下载完毕即可
ollama run llama2	

# 下载完毕查看列表
chain@ubuntu:~$ ollama list
NAME            ID              SIZE    MODIFIED     
llama2:latest   78e26419b446    3.8 GB  4 hours ago 

- 开始运行

问一个AI模型中最近比较热的问题,看起来答的还可以,只不过中文回答支持不太好。

chain@ubuntu:~$ ollama run llama2
>>> 9.9和9.11哪个大
 Both 9.9 and 9.11 are less than 10. Therefore, the smallest of the two is 9.11.

- 资源使用情况

chain@ubuntu:~$ nvidia-smi
Tue Jul 23 06:54:50 2024       
+-----------------------------------------------------------------------------------------+
| NVIDIA-SMI 550.100                Driver Version: 550.100        CUDA Version: 12.4     |
|-----------------------------------------+------------------------+----------------------+
| GPU  Name                 Persistence-M | Bus-Id          Disp.A | Volatile Uncorr. ECC |
| Fan  Temp   Perf          Pwr:Usage/Cap |           Memory-Usage | GPU-Util  Compute M. |
|                                         |                        |               MIG M. |
|=========================================+========================+======================|
|   0  NVIDIA GeForce GTX 1660        Off |   00000000:01:00.0 Off |                  N/A |
| 46%   38C    P0             22W /  120W |    5071MiB /   6144MiB |      0%      Default |
|                                         |                        |                  N/A |
+-----------------------------------------+------------------------+----------------------+
                                                                                         
+-----------------------------------------------------------------------------------------+
| Processes:                                                                              |
|  GPU   GI   CI        PID   Type   Process name                              GPU Memory |
|        ID   ID                                                               Usage      |
|=========================================================================================|
|    0   N/A  N/A     23520      C   ...unners/cuda_v11/ollama_llama_server       5068MiB |
+-----------------------------------------------------------------------------------------+
chain@ubuntu:~$ free -h
              total        used        free      shared  buff/cache   available
Mem:            15G        1.7G        553M         27M         13G         13G
Swap:            0B          0B          0B
chain@ubuntu:~$ w
 06:58:22 up 1 day, 18 min,  2 users,  load average: 0.03, 0.02, 0.00
USER     TTY      FROM             LOGIN@   IDLE   JCPU   PCPU WHAT
chain    pts/0    192.168.1.110    Mon09    3:41   0.92s  0.70s ollama run llama2

由此看到显卡资源:5G/6G,内存:1.7G/15G ,CPU: 0.02。由于我们装了显卡驱动,优先计算使用资源的是显卡。如果无显卡,则使用CPU和内存资源。

open-webui部署

官方仓库地址:https://github.com/open-webui/open-webui

docker部署

 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
  • –add-host:将host.docker.internal=host-gateway添加到容器内/etc/hosts中,即容器内的hosts文件会增加一条记录172.17.0.1 host.docker.internal。host.docker.internal=host-gateway是固定用法。

  • -v open-webui:/app/backend/data : 将宿主机的open-webui目录映射到容器/app/backend/data目录.

    【宿主机的open-webui目录存放位置:/var/lib/docker/volumes/open-webui,这里我尝试过改到其他目录,即 -v /data/open-webui:/app/backend/data ,但启动后查看日志会报OSError: We couldn’t connect to ‘https://huggingface.co’ to load this file, couldn’t find it in the cached files and it looks like sentence-transformers/all-MiniLM-L6-v2 is not the path to a directory containing a file named config.json.此问题暂未解决。】

  • 其他参数为docker常用参数,不再细嗦。

web访问

地址:http:// ip 或者 localhost: 3000,首次访问需要离线注册,没有验证码。

界面展示:

在这里插入图片描述

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

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

相关文章

Django执行ORM时打印SQL语句

settings中添加LOGGING相关日志配置 LOGGING {version: 1,disable_existing_loggers: False,handlers: {console:{level:DEBUG,class:logging.StreamHandler,},},loggers: {django.db.backends: {handlers: [console],propagate: True,level:DEBUG,},}}批量查询DEMO&#xf…

硅纪元视角 | 类器官智能OI技术实现将人脑植入机器人

在数字化浪潮的推动下,人工智能(AI)正成为塑造未来的关键力量。硅纪元视角栏目紧跟AI科技的最新发展,捕捉行业动态;提供深入的新闻解读,助您洞悉技术背后的逻辑;汇聚行业专家的见解,…

Mysql基础速过

一、数据库相关概念 1.1 相关概念 名称全称简称数据库存储数据的仓库、数据是有组织的进行存储DataBase(DB)数据库管理系统操作和管理数据库的大型软件DataBase Management System(DBMS)SQL操作关系型数据库的编程语言,定义了一套操作关系型数据库统一标准Structu…

领略诗词之妙,发觉生活之美。

文章目录 引言落霞与孤鹜齐飞,秋水共长天一色。野渡无人舟自横。吹灭读书灯,一身都是月。我醉欲眠卿且去,明朝有意抱琴来。赌书消得泼茶香,当时只道是寻常。月上柳梢头,人约黄昏后。最是人间留不住,朱颜辞镜花辞树。山中何事?松花酿酒,春水煎茶。似此星辰非昨夜,为谁风…

C语言数据结构课设:基于EasyX前端界面的飞机订票系统

数据结构课程设计说明书 学 院、系: 软件学院 专 业: 软件工程 班 级: 学 生 姓 名: 范 学 号: 设 计 题 目: 飞机订票系统 起 迄 日 期: 2024年6月18日~ 20…

Day19 | 77. 组合 216.组合总和III 17.电话号码的字母组合

语言 Java 77. 组合 组合 题目 给定两个整数 n 和 k,返回范围 [1, n] 中所有可能的 k 个数的组合。 你可以按 任何顺序 返回答案。 思路 回溯算法,其实也是递归的思想加上回溯 递归的终止条件:集合大小等于k了 递归参数:…

网闸(Network Gatekeeper或Security Gateway)

本心、输入输出、结果 文章目录 网闸(Network Gatekeeper或Security Gateway)前言网闸主要功能网闸工作原理网闸使用场景网闸网闸(Network Gatekeeper或Security Gateway) 编辑 | 简简单单 Online zuozuo 地址 | https://blog.csdn.net/qq_15071263 如果觉得本文对你有帮助…

如何开户投放必应Bing国内搜索广告?

有效的互联网营销渠道是企业提升品牌知名度和促进业务增长的关键,必应Bing作为微软旗下的全球领先搜索引擎之一,其国内搜索广告平台为企业提供了一个高效、精准的营销渠道。云衔科技作为微软必应Bing的官方代理商,为企业提供了专业的一站式开…

外六角半螺纹螺丝主要应用领域

外六角半螺纹螺丝,作为一种常见的紧固件,因其独特的设计和多样的功能而在多个工业领域中占据着重要的地位。这种螺丝的一端具有完整的螺纹,而另一端则可能没有螺纹或螺纹较短,这样的设计使其在某些应用场景中具有独特的优势。 应用…

git配置BeyondCompare解决冲突(全网最细讲解,亲测有用,windows版本)

前言: 网上查阅了很多资料,大都讲的不是很全面,很多还配置不成功,特写此篇博客来详细全面的讲解配置步骤(亲测可用)。本篇文章具有局限性,欢迎大家相互交流,批评指正。 特此说明&am…

【快速实践 OpenCV morphology】形态学操作:腐蚀、膨胀、开运算、闭运算

✨我们将以下图为例,快速实践不同的形态学操作,如腐蚀 erode、膨胀 dilate、开 open、闭 close … import cv2 import numpy as npimg cv2.imread(D:\Desktop\csdn.png,0) cv2.imshow(binary_Erode2, img) cv2.waitKey(0)💜 腐蚀 &#xff…

Pytest进阶之fixture的使用(超详细)

目录 Fixture定义 Fixture使用方式 作为参数使用 Fixture间相互调用(作为参数调用) 作为conftest.py文件传入 Fixture作用范围Scope function class module session Fixture中params和ids Fixture中autouse Fixture中Name 总结 pytest fixture 是一种用来管理测试…

VMare centos 7 设置固定ip

第一步获取网关 查看虚拟机的网关-》编辑-》虚拟网络编辑器 NAT模式-》NAT设置 获取网关IP 192.168.70.2 第二步获取主机dns1 在本地主机获取dns1,本地主机调出cmd输入ipconfig dns1为192.168.31.1 用管理员权限的账号进入需要设置固定ip的虚拟机,在t…

天猫超市卡有什么用处?

现在买东西不是都有优惠券叠加啥的,完了可以优惠不少钱 前两天我刚在天猫买了点东西,天猫送了我一张猫超卡,刚好手上的积分也兑换了一张100的,这样就有2张卡了 但是把想买的东西加购以后,感觉还不如京东便宜&#xf…

圣贝拉IPO:高榕资本等减持,多次被罚,间接子公司资金链断裂

近日,中国证监会披露《境外发行上市备案补充材料要求(2024年7月12日—2024年7月18日)》。信息显示,证监会国际司共对3家企业出具补充材料要求,涉及绿茶餐厅(绿茶集团)、广州星梦(星梦…

html+css 动态效果

1.波浪效果 <div class"sitesingle"></div> <style>.sitesingle{display:flex;justify-content:space-between;align-items:stretch;overflow:hidden;position:relative;height: 400px;}keyframes bgRotate{0%{transform:rotate(0deg)}to{transfor…

bool数组的理解和应用[C++]

文章目录 bool数组的用法bool数组的定义声明bool数组的初始化访问和修改数组元素遍历数组 运用bool数组简单代码 在今天做题中发现了bool类不仅能用于函数类型还能用于数组类型&#xff0c;好奇查了查发现bool还有很多用处&#xff1a;基本变量&#xff0c;在枚举类型中会用到&…

好用的图片压缩工具有哪些?我只推荐这13款!赶紧码住!

图片压缩如何实现&#xff1f;电脑上经常会存储很多图片文件&#xff0c;随着图片文件不断的增加&#xff0c;存储空间就面临一大难题。不管是存储还是传输&#xff0c;将图片压缩到一定体积&#xff0c;都是一个不错的选择。 而且图片压缩技术能够在保持图片质量的同时&#x…

【Vue实战教程】之 Vue3 新特性详解

1 为什么要用Vue3 在学习Vue3的新特性之前&#xff0c;我们先来看一下Vue3设计的目的是什么&#xff0c;为什么要对Vue2做出很大的改变&#xff0c;以及Vue3到底解决了什么问题。像Vue这样全球闻名的前端框架&#xff0c;在任何一次改动时&#xff0c;设计者都是经过深思熟虑的…

【openavis】明厨亮灶算法仓

明厨亮灶算法仓主要用于学校食堂&#xff0c;餐厅等饮食卫生安全监管场景&#xff0c;目前包含的算法如下&#xff1a; 算法类型 算法卡片 明厨亮灶算法仓 老鼠检测 垃圾桶未盖 厨师服检测 厨师帽检测 口罩检测 手套检测 动火离人 1. 算法规格介绍&#xff1a; 算…