首页 > 教程 > ollama:一个基于Go语言的本地大模型运行框架

ollama:一个基于Go语言的本地大模型运行框架

时间:2024-04-22 | 来源: | 阅读:84

话题: 我的 GO 一个 A3 C in 小米手机 Mac 手机 小米

1、ollama到底是个什么玩意 一句话来说, Ollama 是一个基于 Go 语言开发的简单易用的本地大模型运行框架。可以将其类比为 docker(有类似docker中的一些常规命令list,pull,push,run 等等),事实上确实也制定了类似 docker 的一种模型应用标准,在后边的内容

ollama是一个基于Go语言开发的简单易用的本地大模型运行框架。它类似于docker,提供一些与docker类似的命令,如list、pull、push、run等。此外,它基于Go语言中的Web框架gin,提供了一些API接口,可以让用户像使用OpenAI提供的接口一样进行交互。

1、ollama是什么

ollama是一个基于Go语言开发的简单易用的本地大模型运行框架。可以将其类比为docker(有类似docker中的一些常规命令list,pull,push,run等等),事实上确实也制定了类似docker的一种模型应用标准,在后边的内容中,你能更加真切体会到这一点。

在管理模型的同时,它还基于Go语言中的Web框架gin提供了一些API接口,让你能够像跟OpenAI提供的接口那样进行交互。

2、ollama的命令

ollama安装之后,其同时还是一个命令,与模型交互就是通过命令来进行的。

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

通过在命令行运行ollama即可查看到相关命令。

如果你用过docker的话,那简直就是so easy。接下来我就在我的window、mac、以及小米手机上分别体验一下。

3、在Windows上下载及体验

  • 官网首页一进来就可以看到下载按钮,客户端可以在window、mac、linux等进行安装,跨平台的,真的nice啊。

并且上面已经把llama3集成进来了,这速度是真的快。我这里下载的是window版本,目前213MB,很快就下载下来了。下载完毕即可安装。

安装完毕之后你可以在命令行中输入查看版本

我们可以查看文档: https://github.com/ollama/ollama/blob/main/README.md#quickstart

如上图所示,可以用最简单的方式就可以来启动llama3-8b,不过它可能还要等一会儿,因为模型大小有4.7G左右,需要下载一会儿哟。甚至你的配置够高,也可以使用70b的模型来尝试,不过我的电脑配置一般估计跑起来太慢。

看这里下载速度还算可以,四分钟下载完毕,好了,那就先来测试一下吧。

整个体验下来,这可能是我本机测试感觉速度上最快的离线大模型了,真的表现非常棒。按照目前应该很快会有优化版本出来的,到时候继续进行评测一下。

破除了之前有人说没有上下文的问题,中文语料可能确实有点少。但是写代码的体验还算不错的,虽然上面的代码可能是不对的。

上下文长度过长时确实有幻觉的问题。

这个回答速度真的再优化一下,很多小公司自己来部署大模型并进行创造就很近了。

但是它毕竟是小模型,参数相对较少,运行时所需要的资源就少很多。就像我本地运行的,其实我的电脑配置可以看一下如下图所示。

从开发的角度来看还算不错了。另外对翻译的要求不高的话,效果也还过得去的。

同样的你也可以直接进行调用API

4、mac 上安装以及体验

同样还是在官网首页可以点击直接下载即可,下载下来会是一个压缩包

解压然后安装就可以使用了,然后在命令行中可以查看是否安装成功

通过 ollama -v 来查看安装的版本,如果打印出来也就说明安装成功了。然后再通过 ollama serve 开启 ollama 的服务,注意当前这个命令行窗口暂时不要关闭,关闭了则代表 ollama 服务也暂时停止了,可以打开另外一个命令行窗口进行下载和使用大模型。

哇塞,这会的下载速度简直起飞了。跑起来之后,测试就可以跟上面window类似了,这个就不在此多说了。

5、小米手机再来体验一波

android手机要想体验一波,就需要先按照依稀Termux,这里我之前有写过一篇手把手来教你在手机上安装大模型llama2,这篇文章中我主要使用的是huggingface 来运行大模型,那么现在用到的是ollama。

于是我在Termux中执行如下命令进行安装ollama


curl -fsSL https://ollama.com/install.sh | sh

发现我的手机没有root,ollama是使用不起来的,必须要先root。

简单搜索发现一个不错的方法:
https://gitlab.com/st42/termux-sudo

但是点进去发现是五年前的,不知道能不能用,于是我就又搜索了一下

https://github.com/termux/proot-distro

proot-distro 是一个用于在 Termux 应用程序中管理和使用 Linux 发行版的项目。Termux 是一个 Android 终端模拟器和 Linux 环境应用,它不需要设备的 root 权限就可以运行。

proot-distro 允许用户在 Termux 中安装、卸载和运行各种 Linux 发行版,包括 Ubuntu、Debian、Arch Linux 等。这样,用户就可以在他们的 Android 设备上使用完整的 Linux 环境,包括安装和运行 Linux 软件包。

接下来要先在手机上打开termux


// 先来安装proot-distro
pkg install proot-distro

//使用proot-distro安装一个debian
proot-distro install debian

// 安装成功后通过login命令就直接进入debian
proot-distro login debian

//进入之后再来安装ollama
curl -fsSL https://ollama.com/install.sh | sh

// 安装完毕可以查看ollama版本进行验证
ollama -v

// 出现版本号之后就可以使用ollama
// 开启ollama服务
ollama serve
// 此时这个命令行的窗口不要关闭,关闭之后ollama服务就停止了

然后再termux左上角向右滑动

点击NEW SESSION,这样就新开了一个命令行,在这里命令行中就可以使用ollama其他命令了


// 这是一个新的命令行,,记得要先进入debian
proot-distro login debian

//下载并运行大模型
ollama run llama3

进行测试就跟上面一样了,这里相当于单独安装了一个模拟运行环境debian,会有一部分性能的消耗吧。有兴趣或者手机性能不错的到时候可以玩玩,感觉小模型在未来的某个时刻还是会有更广泛的应用场景,参数不用那么多,那么大,但是针对特定领域进行微调训练的。

6、总结

应该说llama3给与了开源模型更广阔的思考空间,期待开源模型更大的进步让我们拭目以待。同时希望Meta在接下来的时候能将llama3-400的发布。

就在实验此文章的过程中也发现了:

高通与Meta宣布合作,优化Meta新推出的Llama 3大语言模型在骁龙终端上的运行。Llama 3有两种版本,分别为80亿和700亿参数,旨在为智能手机、PC、VR/AR头显和汽车等设备提供强大的开源语言模型支持。合作将使开发者能够利用高通AI Hub的资源和工具,优化Llama 3在骁龙平台上的执行,以缩短产品上市时间,并提升终端侧AI的性能,包括响应能力、隐私性、可靠性和个性化体验。

这才几天过去,在huggingface平台就发现了8个中文微调模型,不得不说社区的力量真的太强大了,全民共享大模型。

从Llama 3的发布能看到,好而全的数据,对模型训练的重要性! HuggingFaceFW 开源的 FineWeb ,有 15T tokens 的高质量网络数据,以英文为主,由CommonCrawl获取的2013-2024年数据。

ollama和huggingface 给与了像我这样的普通人,就能很方便的了解AI大模型,并且在本地运行大模型,真的太高兴了,接下来有机会会继续尝试其他的可能性。


湘ICP备2022002427号-10湘公网安备:43070202000427号
© 2013~2019 haote.com 好特网