如果我们需要在本地运行大模型,我们应该怎么做?Ollama入门指南

前言

在这个 AI 日新月异的时代,AIGC(AI生成内容)已迅速席卷全球,甚至掀起了一场技术革命。然而,当我们谈论这些炫酷的大模型时,你是否思考过它们背后的秘密?是什么让这些开源模型如此强大?它们是如何被训练出来的,又如何能够在我们本地运行?更重要的是,这场技术浪潮已经涌来,我们要如何在这股洪流中找到自己的方向,不被时代所抛下?所以作者决定出一系列的文章来和大家一起探索一下AIGC的世界,专栏就叫《重生之我要学AIGC》,欢迎大家订阅!!!谢谢大家。

在这里插入图片描述

那么这篇我们就来让大模型在我们本地跑起来,这次我们要学习的是一个工具:Ollama,Ollama 的一个关键特性是简化了模型的部署过程,使用户能够更方便地在本地使用和实验最新的 AI 模型。我们只需要下载模型并且启动然后我们就可以用Ollama提供的api去使用模型。

这是它的官网:ollama

image-20241022175542446

是一只非常可爱的小羊驼,接着下面是他的介绍:**Get up and running with large language models.(启动并运行大型语言模型。)**很好理解,它就是用来跑模型的一个工具,可以把他比作JVM?例如官网首页提到的 Llama 3.2, Phi 3, Mistral, Gemma 2 这几个模型,还有类似国内的 qwen2.5阿里开源的通义千问模型都可以使用Ollama在本地跑起来~

下载安装

我们要使用它的第一步就是要把这个大羊驼下载下来,点击页面上的Download ↓标签,安装的时候默认是安装在C盘的这个路径下面,好像是改不了的,安装的时候不支持配置

C:\Users\yourname\AppData\Local\Programs\Ollama

但是我们下载的模型可以改到非系统盘,我们在系统变量中加入(建议改,因为你要玩本地的话,有些模型甚至达到了几十个GB的)

OLLAMA_MODELS 你要放的位置

image-20241022180836806

改了之后要点击任务栏退出ollama重新进入才会生效

模型

run

ollama支持很多模型,我们可以在这个页面查看ollama所有支持的模型:models

image-20241022190008757

例如我们这里可以查看到阿里的通义模型:

image-20241022190228570

这里我们选择对应模型的版本之后右边会有一行命令,这个时候我们可以复制右面的命令去cmd命令行直接粘贴回车运行

image-20241022190433090

运行之后,如果你本地没有这个模型,那么ollama就会从网上把这个模型拉下来:

image-20241022190658861

然后就会下载在我们上面配置好的环境变量中的文件夹中

image-20241022190812773

等待完全下载完成之后,ollama会帮我们自动跑起来,我们就可以正常在命令行进行交流了,正常来说,模型越大就越智能,因为经过更多数据的训练。

image-20241022191301277

我们可以看看下面的标准来看你本地理应可以起来跑的模型: You should have at least 8 GB of RAM available to run the 7B models, 16 GB to run the 13B models, and 32 GB to run the 33B models.

退出模型对话命令行:快捷键Ctrl + d 或者对话框输入**/bye** to exit.

image-20241023112907324

自定义prompt

不知道大家有没有接触过智能体,就是那种你给他限定一个角色,然后他会根据他自己的角色和你对话的那种。类似阿里通义的这种

image-20241023105011252

而ollama也是可以实现这样的功能的,我们这里拿llama3.2模型来演示这个,我们先把llama3.2拉下来

image-20241023105942266

然后再创建一个文件叫Modelfile,注意是没有后缀的那种(熟悉dockerFile的小伙伴应该很眼熟吧)

image-20241023105203549

之后在文件里面写入以下约定

image-20241023105439910

FROM llama3.2

# set the temperature to 1 [higher is more creative, lower is more coherent]
PARAMETER temperature 1

# set the system message
SYSTEM """
你是一个米老鼠,请用米老鼠的语气和我说话
"""

然后我们使用命令创建一个自定义的模型(注意ModelFile的相对路径和绝对路径

ollama create milaoshu -f ./Modelfile

image-20241023112439208

最后运行起来就行了

ollama run milaoshu

image-20241023112748754

自定义gguf

GGUF是一种大模型文件格式,这里对这个格式感兴趣的同学可以自己百度一下,总的来说ollama官网未提供的模型(https://ollama.com/library搜索不到的模型),我们就可以将gguf格式的模型导入到我们的ollama中。

image-20241023104630861

那么具体的流程和上面的Modelfile是一样的,这里我们就不再演示了。。

命令行传参

ollama run qwen2.5:1.5b "你好,介绍一下你自己"

image-20241027170753031

这个就是可以在run方法里面传入你想说的东西,但是这个是一次性的会话,问完不会在会话页面停留。

pull

ollama pull llama3.2

这个命令就是从官方仓库拉取一个模型下来,如果熟悉docker的同学 docker pull nginx 是不是非常非常熟悉,和docer一样也是先pull(拉取)下来,然后再 run

list

ollama list

看见这个命令应该就知道了这个是查看本地已经拉取下来过的模型了。

image-20241027165145898

rm

ollama rm llama3.2

强制删除一个模型,不管是否在运行中。删除掉之后就不能使用了,需要重新拉取或者 create

cp

ollama cp llama3.2 my-model

复制一个模型到本地

show

ollama show llama3.2

image-20241027171213285

查看本地的模型参数,作用不大,还不如list

ps

ollama ps

查看本地正在运行的模型

image-20241027171924783

stop

ollama stop llama3.2

很容易理解,停止模型

image-20241027172106391

服务

断点续传

如果在pull模型的时候关闭了窗口

image-20241027172405016

重新pull会接上(好评)

image-20241027172428242

退出

退出ollama杀掉ollama的进程就行了,如果是Windows,直接右击小羊驼图标,quit即可

启动

运行上面模型举例的任何ollama命令即可启动。但是你如果想命令行的方式启动的话,可以使用

ollama serve

这样的启动方式会以一种直观的方式记录你所调用的api或者执行的命令:
在这里插入图片描述

本地

因为我们的模型都是在本地跑的,所以我们在问他问题的时候,可以看到我们本地的cpu快跑满了,所以说如果你是需要自己企业搭建一个企业级别的本地模型,所需要的硬件成本还是相当高的

image-20241027180355029

REST API

对于我们开发这个来说,这个是最最最重要的,ollama服务默认的端口就是 11434。官方的文档中提供了两种模式,一种是不带上下文的:

不带上下文

curl http://localhost:11434/api/generate -d '{
  "model": "llama3.2",
  "prompt":"Why is the sky blue?"
}'


本地没起llama3.2也行,调用api会自动启动,那么如果像apifox呢则是这样写的:

image-20241027175349915

但是我们注意到,里面的都是类似吐字的效果,那么我可以通过参数控制一次返回:

 "stream": false

image-20241027175513014

带上下文

大家要知道的是之所以gpt能够理解我们之前说过的话,核心之一的就是 上下文

curl http://localhost:11434/api/chat -d '{
  "model": "llama3.2",
  "messages": [
    { "role": "user", "content": "why is the sky blue?" }
  ]
}'

image-20241027175807165

那么我们在问了之后,我们在编码的过程中可以把他回答的内容代入到上下文中一起发给他

image-20241027180030961

这样,他就有我们的上下文了,这里只是我们的http的工具调用,但是实际开发过程中代入上下文一定是我们程序调用的,那么在下一篇文章中,作者就带大家实际开发!!使用SpringBoot集成Ollama,感兴趣的可以点点关注哦!!

那么今天的Ollama入门就到这里了,更多模型的玩法欢迎关注这篇专栏和博主,如果对Ollama具体的参数更感兴趣的话可以参考官方的文档,这里我们就不再详细说明了,官网地址:

Ollama

在这里插入图片描述

<think>嗯,用户想了解在ZeroTermux上使用Ollama运行本地大型语言模型,而且不需要root安卓设备。我需要先确认这两个工具的基本情况。ZeroTermux是Termux的一个修改版,可能优化了用户界面或功能,方便在安卓上使用。Ollama是一个支持本地运行大语言模型的框架,比如Llama、Mistral等。 首先,用户可能希望在不获取root权限的情况下,在安卓手机上运行这些模型。这意味着需要确保所有步骤都不需要超级用户权限,同时考虑安卓设备的资源限制,比如CPU、内存和存储空间。可能需要推荐适合的轻量级模型,比如Phi-3或TinyLlama,这样在资源有限的设备上运行更顺畅。 接下来,安装步骤需要详细但简洁。用户可能对Termux不熟悉,所以需要指导如何安装ZeroTermux,可能包括下载APK、基本配置如换源和安装依赖包。然后安装Ollama,可能需要通过curl下载脚本并执行安装。然后下载模型,这里要说明使用ollama pull命令,并强调选择适合安卓的模型。 运行部分要说明启动Ollama服务,并通过curl发送请求,或者使用其他客户端连接。可能还需要配置网络,允许本地访问。用户可能会遇到端口问题,或者服务无法启动的情况,所以需要给出检查服务的建议,比如查看进程或日志。 注意事项方面,性能问题很重要,安卓设备尤其是低端机型可能运行缓慢。存储空间也是一个问题,大模型需要足够的空间。另外,散热和耗电可能影响用户体验,需提醒长时间运行的注意事项。最后,保持更新,因为工具和模型都在快速发展。 需要确认是否有遗漏的步骤,比如Termux的存储权限,或者在安装过程中可能出现的依赖缺失。另外,Ollama是否支持ARM架构?因为安卓设备多是ARM的,而Ollama的Linux版本是否有对应支持?可能需要用户确认下载正确的版本,或者在安装脚本中自动识别。 还要考虑用户的实际操作中可能遇到的错误,比如网络问题导致下载失败,或者内存不足导致模型无法加载。可能需要建议用户关闭其他应用,释放内存,或者使用交换文件。此外,模型文件较大,下载时需要稳定连接,避免中断。 总结,回答需要分步骤,清晰明了,同时预见到用户可能的问题,并给出解决方案和建议。确保用户即使没有深厚的技术背景也能按照指南操作,同时提供备选方案或注意事项,帮助他们顺利在安卓设备上运行本地LLM。</think>在 ZeroTermux(基于 Termux 的增强版终端环境)上运行 Ollama 实现安卓本地大型语言模型(如 Llama 3、Phi-3 等),是一种无需 Root 的解决方案。以下是具体步骤和注意事项: --- ### **核心原理** 1. **ZeroTermux**:提供安卓上的 Linux 环境,支持安装 Python、Node.js 等依赖。 2. **Ollama**:一个开源框架,支持本地运行 LLM(需适配 ARM 架构的模型)。 3. **模型选择**:需使用轻量化模型(如 `Phi-3`、`TinyLlama`),适配安卓设备的 CPU/RAM 限制。 --- ### **步骤指南** #### **1. 安装 ZeroTermux** - 下载 APK:从 [GitHub](https://github.com/hanxinhao000/ZeroTermux) 或第三方镜像获取。 - 初始化环境: ```bash pkg update && pkg upgrade pkg install curl wget git python nodejs -y termux-setup-storage # 允许访问存储 ``` #### **2. 安装 Ollama** - 下载并运行安装脚本: ```bash curl -fsSL https://ollama.com/install.sh | sh ``` - 若脚本不兼容 ARM,可手动下载 Ollama Linux ARM64 版本,并配置环境变量。 #### **3. 下载模型** - 选择轻量模型(示例): ```bash ollama pull phi3 # 微软 Phi-3-mini(2.8GB,推荐) ollama pull tinyllama # 1.1B 参数(适合低配设备) ``` > 注:首次下载需等待,模型存储在 `~/.ollama/models/`。 #### **4. 运行模型** - 启动 Ollama 服务: ```bash ollama serve # 或后台运行:nohup ollama serve & ``` - 调用模型(新开终端): ```bash ollama run phi3 # 输入问题测试,如 "用中文写一首短诗" ``` #### **5. 通过 API 调用(可选)** - Ollama 默认监听 `127.0.0.1:11434`,可用 `curl` 或 Python 脚本交互: ```bash curl http://localhost:11434/api/generate -d '{ "model": "phi3", "prompt": "你好,介绍一下你自己", "stream": false }' ``` --- ### **注意事项** 1. **性能限制**: - 需 4GB+ RAM,推荐 6GB+ 内存设备。 - 仅 CPU 推理,速度较慢(如 Phi-3 响应约 10-30 词/秒)。 2. **存储空间**:轻量模型需 2-5GB 空间,大型模型(如 Llama3-8B)可能超过 10GB。 3. **散热与耗电**:长时间运行可能导致设备发热,建议主动散热。 4. **模型兼容性**:优先选择明确支持 ARM 架构的模型。 --- ### **替代方案** - **Termux + Llama.cpp**:直接编译 [llama.cpp](https://github.com/ggerganov/llama.cpp) 运行量化模型(如 `q4_k_m` 格式),资源占用更低。 - **MLC-LLM**:专为移动端优化的框架,支持部分安卓设备 GPU 加速。 --- 通过上述方法,无需 Root 即可在安卓设备本地运行 LLM,适合隐私敏感或离线场景使用。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

掉头发的王富贵

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值