在Mac M1笔记本上跑大语言模型llama3的4个步骤?(install、pull、run、ask)

要点

  • Ollama一个功能强大的本地大语言模型LLM运行工具,支持很多模型,并且操作极其简单
  • 快速回忆步骤:
下载ollama工具:https://ollama.com/download
下载模型:ollama pull llama3 #根据libs列表直接指定名字
运行模型:ollama run llama3
测试:直接问他问题(可以关闭网络)

步骤

Step1. 下载ollama(根据平台选择)

https://ollama.com/download
在这里插入图片描述
下载后将软件安装,解压后拷贝到应用程序:
在这里插入图片描述
安装用户态命令:(点击install)
在这里插入图片描述

Step2:下载模型文件

支持的模型列表:https://ollama.com/library
比如llama3:
在这里插入图片描述
安装步骤:命令行直接安装

ollama pull llama3

实操:
在这里插入图片描述

这里需要耗费一些时间,具体根据网络和模型大小确定,模型大小参考:

ModelParametersSizeDownload
Llama 38B4.7GBollama run llama3
Llama 370B40GBollama run llama3:70b
Mistral7B4.1GBollama run mistral
Dolphin Phi2.7B1.6GBollama run dolphin-phi
Phi-22.7B1.7GBollama run phi
Neural Chat7B4.1GBollama run neural-chat
Starling7B4.1GBollama run starling-lm
Code Llama7B3.8GBollama run codellama
Llama 2 Uncensored7B3.8GBollama run llama2-uncensored
Llama 2 13B13B7.3GBollama run llama2:13b
Llama 2 70B70B39GBollama run llama2:70b
Orca Mini3B1.9GBollama run orca-mini
LLaVA7B4.5GBollama run llava
Gemma2B1.4GBollama run gemma:2b
Gemma7B4.8GBollama run gemma:7b
Solar10.7B6.1GBollama run solar

官方的参考资源:
8 GB 内存跑 7B models
16 GB to run the 13B models
32 GB to run the 33B models
比如M1有16G内存,可以跑7B的模型。

Step:运行模型

ollama run llama3

实操:(在M1的笔记本大概是s级别的,其他比如intel笔记本可能需要十几秒,M3等笔记本应该非常快)
并且测试的时候可以尝试关闭网络。
比如让他回答一个 gcc编译的问题:
在这里插入图片描述
再来一个:“python如何使用list,举一个实际的例子”
在这里插入图片描述

Step:退出聊天

Ctrl + d 或者 /bye退出聊天

其他

  • ollama的github:https://github.com/ollama/ollama
  • ollama在mac本地是以类似git的方式存储的,存储的模型都是以blobs的形式,和git底层原理类似。
    在这里插入图片描述- ollama在mac上模型存储的地址: ~/.ollama/models/blobs/
  • 在models/manifests中存储了配置信息,比如llama的blob是哪个等信息
  • 运行以后会自动启动RESTful的接口,也就是可以通过局域网访问,端口是11434,比如:
    在这里插入图片描述
  • 可以通过curl使用restful方式访问:比如:
curl http://localhost:11434/api/generate -d '{"model": "llama3","prompt":"Why is the sky blue?"
}'
  • 端侧的模型也具有记忆能力,还能反馈错误并且修改正
  • 查看当前使用的模型等信息 /show info
    在这里插入图片描述

最后

实操下来,因为ollma非常简单,只需要3个步骤就能使用模型,更多模型只需要一个pull就搞定。一台稍微不错的笔记本+网络,就能把各种大模型都用起来,快速上手吧。

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

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

相关文章

uni-app app和h5的通信

uni-app一套代码同时打包安卓、iOS、h5,有一些需要app与h5的交互通信,目前做到了这块的业务,记录如下: 1.去declould官网,找到uni_webview.js下载链接,将uni_webview.js文件下载到本地,修改uni_webview.js内部配置,将uni修改为webUni,修改好的文件已放到…

搭建知识库-DataWhale笔记

词向量及向量知识库介绍 词向量 词向量定义 在机器学习和自然语言处理(NLP)中,词向量(Embeddings)是一种将非结构化数据,如单词、句子或者整个文档,转化为实数向量的技术。这些实数向量可以被…

LLM学习笔记-3

温度缩放 概念 1)在机器学习中,"温度缩放"通常指的是一种技术,用于调整神经网络输出的概率分布。这个技术通常在 softmax 函数的输出上进行操作。 2)在 softmax 函数中,神经网络会输出一个概率分布&#x…

Spark-机器学习(4)回归学习之逻辑回归

在之前的文章中,我们来学习我们回归中的线性回归,了解了它的算法,知道了它的用法,并带来了简单案例。想了解的朋友可以查看这篇文章。同时,希望我的文章能帮助到你,如果觉得我的文章写的不错,请…

数据结构与算法解题-20240422

这里写目录标题 一、2. 两数相加二、67. 二进制求和三、415. 字符串相加四、LCS 01. 下载插件五、71. 简化路径 一、2. 两数相加 给你两个 非空 的链表,表示两个非负的整数。它们每位数字都是按照 逆序 的方式存储的,并且每个节点只能存储 一位 数字。 …

vue3左树的全选和反选

<el-input v-model"filterText" placeholder"" style"width: 48%"/><el-button type"primary" click"handleSearch" class"ml-2">查找</el-button><el-radio-group v-model"form.choic…

“磁性蝴蝶”:创新结构纳米石墨烯能更精确控制自旋磁行为

内容来源&#xff1a;量子前哨&#xff08;ID&#xff1a;Qforepost&#xff09; 文丨浪味仙 深度好文&#xff1a;1300字丨7分钟阅读 摘要&#xff1a;新加坡国立大学的研究团队&#xff0c;开发出一种蝴蝶形磁性纳米石墨烯&#xff0c;包含四个具有铁磁和反铁磁相互作用的不…

【数据结构】二叉树链式结构的实现《遍历,实现》(题库+解析+源码)

前言 二叉树的学习离不开对堆的理解&#xff0c;这是上篇堆的传送门 http://t.csdnimg.cn/F6Jp3 1.二叉树链式结构的实现 1.1 前置说明 在学习二叉树的基本操作前&#xff0c;需先要创建一棵二叉树&#xff0c;然后才能学习其相关的基本操作。由于现在大家对二 叉树结构掌握还…

《QT实用小工具·三十六》metro风格的主界面

1、概述 源码放在文章末尾 该项目实现了metro风格的主界面&#xff0c;包含访客登记&#xff0c;记录查询&#xff0c;证件扫描&#xff0c;信息打印&#xff0c;系统设置&#xff0c;系统重启等功能&#xff0c;项目demo演示如下所示&#xff1a; 源码下载

网络工程师---第十天

ARP表&#xff1a; 提起ARP表必然先想起ARP&#xff08;address resolution protocol&#xff09;协议&#xff0c;地址解析协议。 在实际应用中&#xff0c;我们经常遇到这样的问题&#xff1a;已知一个机器的IP地址&#xff0c;但在实际网络的链路上传送数据帧时&#xff0c;…

Ozone V3.32a使用总结

目录 前言 Ozone介绍 Ozone下载使用 总结 前言 由于项目需要&#xff0c;现在正在使用Ozone作为软件debug的工具&#xff0c;不同于Keil集成了代码编辑器&#xff0c;编译器&#xff0c;调试器&#xff0c;Ozone则主要作为一个代码调试工具使用。最近发现Ozone还有些功能挺…

嵌入式4-18

做一个简单数据库终端操作系统 #include <myhead.h> int main(int argc, const char *argv[]) {int id;char name[16];float score;sqlite3 *pNULL;if(sqlite3_open("./my.db",&p)!SQLITE_OK){printf("sqlite3_open error\n");return -1;} …