大模型实践:图文解锁Ollama在个人笔记本上部署llm

在这里插入图片描述

使用在线模型服务时,我们常常需要支付API调用费用,这对于个人开发者或小型组织来说可能是一笔不小的开支。那么,有没有方法可以在本地免费使用这些强大的模型呢?答案是肯定的——Ollama就是这样一个工具。
当然如果是比较大的组织或大模型推荐使用vLLM部署,强烈推荐您看(占坑,后续填上)

本文将介绍Ollama并且带您一步步在个人PC上部署一个自己的LLM。
笔者的电脑是windows,无GPU
将带您部署(若您计算机性能比较高,只需要参考文中模型与配置关系,更改更大模型即可)

Gemma 2B版本:约1.7GB

什么是Ollama?

Ollama是一个开源的大语言模型管理平台,它允许用户在本地机器上部署、管理和使用各种开源语言模型。

Ollama最出色的优点如下:

  1. 将开源模型(如DeepSeek、Llama等)下载并部署到本地。从而让公司实现私有化+免费部署LLM。

  2. 性能强大:充分利用本地资源,既可以使用GPU也可以使用CPU。如果没有Ollama,我们需要自己配置GPU环境如cuda等等,与传统的模型部署相比,Ollama大大简化了GPU环境配置的复杂性,降低了使用门槛。

  3. 跨平台支持:Ollama 支持 macOs、Windows、Linux 以及 Docker多种操作系统环境下顺利部署和使用。无论你使用什么系统,都可以轻松部署和使用Ollama。

Ollama的下载与安装

在官网下载即可,本文以windows为例。
最好确保您的计算机C盘有10G+磁盘空间,因为后文下的大模型都会比较大。
在这里插入图片描述

以Windows为例,Ollama的安装过程非常简单,笔者安装中也没有遇到任何问题:

  1. 双击下载的EXE安装包
  2. 在弹出的安装界面中点击"Install"按钮
  3. 等待安装完成(通常只需几分钟)

本机部署问答模型

Ollama支持多种流行的开源大语言模型,您可以通过访问Ollama官网的Models页面浏览所有可用模型。
在这里插入图片描述
浏览Ollama模型库时,您会注意到每个模型都有不同的版本,如7B、13B、33B等。这里的"B"表示"Billion"(十亿),所以7B表示70亿参数,13B表示130亿参数,依此类推。

根据Ollama官方的建议,不同参数量的模型对系统资源(特别是内存)有以下最低要求:

模型参数量最低内存需求
7B8GB RAM
13B16GB RAM
33B32GB RAM
70B128GB RAM

需要特别注意的是,虽然一些特别大的模型(如400GB+)可以下载到本地,但您的设备可能没有足够的GPU或CPU资源来流畅运行它们。

对于普通个人电脑用户,建议选择10GB以下大小的模型以保证运行流畅。

语言类模型推荐

  1. Gemma - Google开发的开源模型,性能优秀,资源需求适中
  2. DeepSeek - 中国开发的强大语言模型,各方面表现均衡
  3. Qwen(千问) - 阿里巴巴开发的模型,中文能力出色

视觉类模型推荐

  1. LLaVA - 专为图像识别和理解训练的模型,能够分析和描述图片内容
  2. MiniCPM-V - 轻量级但功能强大的视觉模型,支持图像理解和生成

实操过程

安装完Ollama后,我们首先需要下载模型才能开始使用。本文我们以Google开发的Gemma 2b模型为例。在官网查询gemma模型,输入后可以看到以下界面。红色方框的是命令行下下载gemma的命令ollama run gemma:2b。同时也可以看到这个模型大概会占用1.7GB磁盘
在这里插入图片描述
CMD中安装,下载完成后会直接启动该模型,我问了个给我讲个笑话:
在这里插入图片描述

常见命令

ollama list 列出所有已安装的模型
ollama pull [模型名称] 下载模型但不运行
ollama run [模型名称] 运行模型(首次会自动下载)
/clear 清除当前对话上下文,保持模型运行
Ctrl+D 退出当前模型

Ollama进阶:自定义模型创建与参数调优指南

在Ollama中,自定义模型是指基于已有的开源模型,通过调整其参数和行为特征来创建一个新模型。这个过程不涉及真正的模型训练或微调,而是通过配置文件来改变模型的输出特性和交互方式

步骤一:创建Modelfile配置文件

首先,我们需要创建一个名为Modelfile的文本文件,在这个文件中定义模型的基础信息和参数。这个文件的基本结构如下:

FROM [基础模型名称]
PARAMETER [参数名] [参数值]
SYSTEM [系统提示词]

例如,我们的Modelfile是这样的:

FROM gemma:2b
PARAMETER temperature 0.8
SYSTEM 你是一名叫做小智的助手,专长领域是文学和历史相关内容,喜欢使用生动有趣的方式与用户交谈。

这个配置包含三个主要部分:

  • FROM:指定基础模型,这里我们选择了本机已装好的gemma:2b模型
  • PARAMETER:设置模型参数,这里将temperature(温度)设为0.9
  • SYSTEM:定义系统提示词,告诉模型它的角色和行为特点

步骤二:保存Modelfile文件

将创建好的Modelfile保存到本地磁盘,例如保存到C盘根目录。需要注意的是,这个文件不需要任何扩展名,就是纯文本的Modelfile

这里笔者是保存在C:\Users\86199\AppData\Local\Ollama中的
在这里插入图片描述

步骤三:使用Ollama创建命令

使用以下命令创建自定义模型:

ollama create [自定义模型名称] -f [Modelfile路径]

例如:

ollama create mymodel -f C:\Users\86199\AppData\Local\Ollama\Modelfile

执行该命令后,Ollama会读取Modelfile中的配置,基于指定的基础模型创建一个新的自定义模型。成功后,会显示"success"提示。

若您想明确模型是否创建成功,使用ollama list命令查看本地模型列表,确认自定义模型已成功创建。新创建的模型会以指定的名称出现在列表中。
在这里插入图片描述

步骤四:使用自定义模型

创建完成后,可以像使用其他模型一样运行自定义模型:

ollama run mymodel

在这里插入图片描述

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

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

相关文章

Python基本语法(lambda表达式)

lambda表达式 lambda的一般形式是在关键字lambda后面跟一个或多个参数,之后再紧跟一个 冒号,接下来是一个表达式。lambda是一个表达式,而不是一个语句,它能够出现 在Python语法不允许def出现的地方。作为表达式,lambd…

【MySQL数据库】用户管理

目录 1,用户信息 2,创建/删除/修改用户 3,数据库的权限 MySQL数据库安装完之后,我们最开始时使用的都是 root 用户,其它用户通常无法进行操作。因此,MySQL数据库需要对用户进行管理。 1,用户…

Python的ArcPy基于Excel表格对大量遥感影像批量重分类

本文介绍基于Python中的ArcPy模块,以Excel表格内的信息,对遥感影像加以重分类的方法。 首先,明确一下本文的需求。现有按照文章ArcPy批量将栅格文件的属性表导出为Excel表格的方法(https://blog.csdn.net/zhebushibiaoshifu/artic…

LabVIEW 中VI Server导出 VI 配置

该 LabVIEW VI 展示了在 VI Server 中配置和执行 Exported VIs 的过程,实现对服务器端导出 VI 的远程调用与操作。 ​ 具体过程及模块说明 前期配置:需确保在 LabVIEW 的 “Tools> Options > VI Server > Protocols” 路径下,启用 …

论文阅读:2024 ACM SIGSAC Membership inference attacks against in-context learning

总目录 大模型安全相关研究:https://blog.csdn.net/WhiffeYF/article/details/142132328 Membership inference attacks against in-context learning https://arxiv.org/pdf/2409.01380 https://www.doubao.com/chat/4030440311895554 速览 这篇论文主要研究了…

从 Python 基础到 Django 实战 —— 数据类型驱动的 Web 开发之旅

主题简介: 本主题以 Python 基础数据类型为核心,结合 Django 框架的开发流程,系统讲解如何通过掌握数字、字符串、列表、元组、字典等基础类型,快速构建功能完善的 Web 应用。通过理论与实践结合,帮助学员从零基础 Py…

软考 系统架构设计师系列知识点之杂项集萃(53)

接前一篇文章:软考 系统架构设计师系列知识点之杂项集萃(52) 第85题 在静态测试中,主要是对程序代码进行静态分析。“数据初始化、赋值或引用过程中的异常”属于静态分析中的()。 A. 控制流分析 B. 数据…

Raycaster光线投射

Raycaster光线投射 3D虚拟工厂在线体验 描述 光线投射Raycaster,用于进行raycasting(光线投射)。 光线投射用于进行鼠标拾取(在三维空间中计算出鼠标移过了什么物体)。 构造器 Raycaster( origin : Vector3, dire…

初识Linux —— git三板斧

版本控制器git 为了我们方便管理不同版本的文件,就有了版本控制器; 所谓的版本控制器,就是能够了解到一个文件的历史记录(修改记录);简单来说就是记录每一次的改动和版本迭代的一个管理系统,同…

用哈希表封装出unordered_set/_map

前提: ①:本博客是对哈希表(开散列)进行封装,因为闭散列不优秀(与库保持一致) ②:哈希表封装出unordered_set/_map和红黑树封装出ste/map是大同小异的,可以先看下:用红黑树封装出set和map -CSDN博客 ③&…

情绪ABC——AI与思维模型【93】

一、定义 情绪ABC思维模型是一种心理学上的理论,它认为人们的情绪和行为反应(C,Consequence)并非直接由激发事件(A,Activating event)引起,而是由个体对激发事件的认知和评价所产生…

Unity URP RenderTexture优化(二):深度图优化

目录 前言: 一、定位深度信息 1.1:k_DepthStencilFormat 1.2:k_DepthBufferBits 1.3:_CameraDepthTexture精度与大小 1.4:_CameraDepthAttachment数量 二、全代码 前言: 在上一篇文章:Un…

【力扣刷题记录】hot100错题本(一)

1. 简单题 我的答案:时间复杂度过高:O(N^3) class Solution:def twoSum(self, nums: List[int], target: int) -> List[int]:for num in nums:if (target - num) in nums:#多余for i in range(len(nums)):if nums[i] num :for j in range(i1,len(nu…

线程池的线程数配置策略

目录 1. CPU密集型任务 2. IO密集型任务 3. 混合型任务 1. CPU密集型任务 特点:任务主要消耗CPU资源(如计算、加密、压缩)。 推荐线程数: 线程数 ≈ 物理核心数 1 / CPU - 1(不知道哪个√) 例如&#…

基于开源链动2+1模式AI智能名片S2B2C商城小程序的爆品力构建研究

摘要:在兴趣电商生态中,爆品力已成为品牌实现指数级增长的核心竞争力。本文以开源链动21模式AI智能名片S2B2C商城小程序为技术载体,结合抖音平台的内容传播特性,提出“需求挖掘-技术赋能-内容转化”三位一体的爆品力构建模型。通过…

photoshop学习笔记2

第一章 第01节-界面的重要性(学习方法) 第02节-文件的打开新建及储存 第03节-移动工具(图层概念) 学习目标: 1.了解图层概念 2.认识工具属性 3.掌握工具使用 图层的概念 移动工具 移动工具就是用来移动图层内容的。是否可以用来移动组…

operator 可以根据需要重载 == 运算符进行比较

要将 vector<AppInfo> 类型的 A 和 B 两个容器进行比较&#xff0c;并且当 B 中有 A 中没有的元素时&#xff0c;插入到数据库中&#xff0c;你可以通过以下步骤实现&#xff1a; 比较元素&#xff1a;遍历 vector<B>&#xff0c;检查每个元素是否在 vector<A&…

Three.js在vue中的使用(二)-加载、控制

在 Vue 中使用 Three.js 加载模型、控制视角、添加点击事件是构建 3D 场景的常见需求。下面是一个完整的示例&#xff0c;演示如何在 Vue 单文件组件中实现以下功能&#xff1a; 使用 GLTFLoader 加载 .glb/.gltf 模型添加 OrbitControls 控制视角&#xff08;旋转、缩放、平移…

软件架构之旅(6):浅析ATAM 在软件技术架构评估中的应用

文章目录 一、引言1.1 研究背景1.2 研究目的与意义 二、ATAM 的理论基础2.1 ATAM 的定义与核心思想2.2 ATAM 涉及的质量属性2.3 ATAM 与其他架构评估方法的关系 三、ATAM 的评估流程3.1 准备阶段3.2 场景和需求收集阶段3.3 架构描述阶段3.4 评估阶段3.5 结果报告阶段 四、ATAM …