您的位置:首頁 > 軟件教程 > 教程 > ollama:一個基于Go語言的本地大模型運行框架

ollama:一個基于Go語言的本地大模型運行框架

來源:好特整理 | 時間:2024-04-22 09:46:15 | 閱讀:72 |  標簽: 我的 GO 一個 A3 C in 小米手機 Mac 手機 小米   | 分享到:

1、ollama到底是個什么玩意 一句話來說, Ollama 是一個基于 Go 語言開發(fā)的簡單易用的本地大模型運行框架?梢詫⑵漕惐葹 docker(有類似docker中的一些常規(guī)命令list,pull,push,run 等等),事實上確實也制定了類似 docker 的一種模型應(yīng)用標準,在后邊的內(nèi)容

ollama是一個基于Go語言開發(fā)的簡單易用的本地大模型運行框架。它類似于docker,提供一些與docker類似的命令,如list、pull、push、run等。此外,它基于Go語言中的Web框架gin,提供了一些API接口,可以讓用戶像使用OpenAI提供的接口一樣進行交互。

1、ollama是什么

ollama是一個基于Go語言開發(fā)的簡單易用的本地大模型運行框架?梢詫⑵漕惐葹閐ocker(有類似docker中的一些常規(guī)命令list,pull,push,run等等),事實上確實也制定了類似docker的一種模型應(yīng)用標準,在后邊的內(nèi)容中,你能更加真切體會到這一點。

在管理模型的同時,它還基于Go語言中的Web框架gin提供了一些API接口,讓你能夠像跟OpenAI提供的接口那樣進行交互。

2、ollama的命令

ollama安裝之后,其同時還是一個命令,與模型交互就是通過命令來進行的。

  • ollama list:顯示模型列表
  • ollama show:顯示模型的信息
  • ollama pull:拉取模型
  • ollama push:推送模型
  • ollama cp:拷貝一個模型
  • ollama rm:刪除一個模型
  • ollama run:運行一個模型

通過在命令行運行ollama即可查看到相關(guān)命令。

ollama:一個基于Go語言的本地大模型運行框架

如果你用過docker的話,那簡直就是so easy。接下來我就在我的window、mac、以及小米手機上分別體驗一下。

3、在Windows上下載及體驗

  • 官網(wǎng)首頁一進來就可以看到下載按鈕,客戶端可以在window、mac、linux等進行安裝,跨平臺的,真的nice啊。

ollama:一個基于Go語言的本地大模型運行框架

并且上面已經(jīng)把llama3集成進來了,這速度是真的快。我這里下載的是window版本,目前213MB,很快就下載下來了。下載完畢即可安裝。

ollama:一個基于Go語言的本地大模型運行框架

安裝完畢之后你可以在命令行中輸入查看版本

ollama:一個基于Go語言的本地大模型運行框架

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

ollama:一個基于Go語言的本地大模型運行框架

如上圖所示,可以用最簡單的方式就可以來啟動llama3-8b,不過它可能還要等一會兒,因為模型大小有4.7G左右,需要下載一會兒喲。甚至你的配置夠高,也可以使用70b的模型來嘗試,不過我的電腦配置一般估計跑起來太慢。

ollama:一個基于Go語言的本地大模型運行框架

看這里下載速度還算可以,四分鐘下載完畢,好了,那就先來測試一下吧。

ollama:一個基于Go語言的本地大模型運行框架

整個體驗下來,這可能是我本機測試感覺速度上最快的離線大模型了,真的表現(xiàn)非常棒。按照目前應(yīng)該很快會有優(yōu)化版本出來的,到時候繼續(xù)進行評測一下。

破除了之前有人說沒有上下文的問題,中文語料可能確實有點少。但是寫代碼的體驗還算不錯的,雖然上面的代碼可能是不對的。

ollama:一個基于Go語言的本地大模型運行框架

上下文長度過長時確實有幻覺的問題。

這個回答速度真的再優(yōu)化一下,很多小公司自己來部署大模型并進行創(chuàng)造就很近了。

但是它畢竟是小模型,參數(shù)相對較少,運行時所需要的資源就少很多。就像我本地運行的,其實我的電腦配置可以看一下如下圖所示。

ollama:一個基于Go語言的本地大模型運行框架

從開發(fā)的角度來看還算不錯了。另外對翻譯的要求不高的話,效果也還過得去的。

同樣的你也可以直接進行調(diào)用API

ollama:一個基于Go語言的本地大模型運行框架

4、mac 上安裝以及體驗

同樣還是在官網(wǎng)首頁可以點擊直接下載即可,下載下來會是一個壓縮包

ollama:一個基于Go語言的本地大模型運行框架

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

ollama:一個基于Go語言的本地大模型運行框架

通過 ollama -v 來查看安裝的版本,如果打印出來也就說明安裝成功了。然后再通過 ollama serve 開啟 ollama 的服務(wù),注意當前這個命令行窗口暫時不要關(guān)閉,關(guān)閉了則代表 ollama 服務(wù)也暫時停止了,可以打開另外一個命令行窗口進行下載和使用大模型。

ollama:一個基于Go語言的本地大模型運行框架

哇塞,這會的下載速度簡直起飛了。跑起來之后,測試就可以跟上面window類似了,這個就不在此多說了。

5、小米手機再來體驗一波

android手機要想體驗一波,就需要先按照依稀Termux,這里我之前有寫過一篇手把手來教你在手機上安裝大模型llama2,這篇文章中我主要使用的是huggingface 來運行大模型,那么現(xiàn)在用到的是ollama。

于是我在Termux中執(zhí)行如下命令進行安裝ollama


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

發(fā)現(xiàn)我的手機沒有root,ollama是使用不起來的,必須要先root。

簡單搜索發(fā)現(xiàn)一個不錯的方法:
https://gitlab.com/st42/termux-sudo

ollama:一個基于Go語言的本地大模型運行框架

但是點進去發(fā)現(xiàn)是五年前的,不知道能不能用,于是我就又搜索了一下

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

proot-distro 是一個用于在 Termux 應(yīng)用程序中管理和使用 Linux 發(fā)行版的項目。Termux 是一個 Android 終端模擬器和 Linux 環(huán)境應(yīng)用,它不需要設(shè)備的 root 權(quán)限就可以運行。

proot-distro 允許用戶在 Termux 中安裝、卸載和運行各種 Linux 發(fā)行版,包括 Ubuntu、Debian、Arch Linux 等。這樣,用戶就可以在他們的 Android 設(shè)備上使用完整的 Linux 環(huán)境,包括安裝和運行 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

// 出現(xiàn)版本號之后就可以使用ollama
// 開啟ollama服務(wù)
ollama serve
// 此時這個命令行的窗口不要關(guān)閉,關(guān)閉之后ollama服務(wù)就停止了

然后再termux左上角向右滑動

ollama:一個基于Go語言的本地大模型運行框架

點擊NEW SESSION,這樣就新開了一個命令行,在這里命令行中就可以使用ollama其他命令了


// 這是一個新的命令行,,記得要先進入debian
proot-distro login debian

//下載并運行大模型
ollama run llama3

進行測試就跟上面一樣了,這里相當于單獨安裝了一個模擬運行環(huán)境debian,會有一部分性能的消耗吧。有興趣或者手機性能不錯的到時候可以玩玩,感覺小模型在未來的某個時刻還是會有更廣泛的應(yīng)用場景,參數(shù)不用那么多,那么大,但是針對特定領(lǐng)域進行微調(diào)訓練的。

6、總結(jié)

應(yīng)該說llama3給與了開源模型更廣闊的思考空間,期待開源模型更大的進步讓我們拭目以待。同時希望Meta在接下來的時候能將llama3-400的發(fā)布。

就在實驗此文章的過程中也發(fā)現(xiàn)了:

高通與Meta宣布合作,優(yōu)化Meta新推出的Llama 3大語言模型在驍龍終端上的運行。Llama 3有兩種版本,分別為80億和700億參數(shù),旨在為智能手機、PC、VR/AR頭顯和汽車等設(shè)備提供強大的開源語言模型支持。合作將使開發(fā)者能夠利用高通AI Hub的資源和工具,優(yōu)化Llama 3在驍龍平臺上的執(zhí)行,以縮短產(chǎn)品上市時間,并提升終端側(cè)AI的性能,包括響應(yīng)能力、隱私性、可靠性和個性化體驗。

這才幾天過去,在huggingface平臺就發(fā)現(xiàn)了8個中文微調(diào)模型,不得不說社區(qū)的力量真的太強大了,全民共享大模型。

ollama:一個基于Go語言的本地大模型運行框架

從Llama 3的發(fā)布能看到,好而全的數(shù)據(jù),對模型訓練的重要性! HuggingFaceFW 開源的 FineWeb ,有 15T tokens 的高質(zhì)量網(wǎng)絡(luò)數(shù)據(jù),以英文為主,由CommonCrawl獲取的2013-2024年數(shù)據(jù)。

ollama:一個基于Go語言的本地大模型運行框架

ollama和huggingface 給與了像我這樣的普通人,就能很方便的了解AI大模型,并且在本地運行大模型,真的太高興了,接下來有機會會繼續(xù)嘗試其他的可能性。

小編推薦閱讀

好特網(wǎng)發(fā)布此文僅為傳遞信息,不代表好特網(wǎng)認同期限觀點或證實其描述。

Go v1.62
Go v1.62
類型:動作冒險  運營狀態(tài):正式運營  語言:中文   

游戲攻略

游戲禮包

游戲視頻

游戲下載

游戲活動

GoEscape是一款迷宮逃脫休閑闖關(guān)游戲。在這款游戲中,玩家可以挑戰(zhàn)大量關(guān)卡,通過旋轉(zhuǎn)屏幕的方式幫助球球

相關(guān)視頻攻略

更多

掃二維碼進入好特網(wǎng)手機版本!

掃二維碼進入好特網(wǎng)微信公眾號!

本站所有軟件,都由網(wǎng)友上傳,如有侵犯你的版權(quán),請發(fā)郵件[email protected]

湘ICP備2022002427號-10 湘公網(wǎng)安備:43070202000427號© 2013~2025 haote.com 好特網(wǎng)