使用google gemma建立自己的聊天機器人

今天來嘗試一下在本地端建立自己的聊天機器人(?!),前陣子有嘗試過想要在本地建立,但因為在WINDOWS環境當時還是無法順利建置,最近剛好看到有成功案例,所以又想要來嘗試看看

Intro

基本上就是利用 ollama搭配 google 推出的 gemma,在搭配上open webui,就能夠在本地環境透過瀏覽器訪問自己的聊天機器人

wsl

因為這些東西都是在 linux 會比較好做,且我也沒有 linux,因此就打算使用 wsl 來安裝,所以一開始需要先安裝 wsl,我選擇的是安裝ubuntu-22.04,在指令列環境下輸入的安裝命令如下

1
wsl --install ubuntu-22.04

安裝完畢之後依照指示,建立好 wsl 系統的預設登入帳號,並且設定好密碼,未來在使用的時候就可以透過 wsl進入windows底下的 linux系統了

ollama

在 linux 環境下安裝 ollama 非常簡單,只要依照官網的指令,透過 curl 下載安裝的指令檔並執行,就可以順利完成安裝

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

安裝完畢之後,畫面上會提示已經啟動服務在 127.0.0.1:11434

gemma

因為我的電腦顯卡是很久以前的 GTX 970,我應該只能使用比較陽春的模型(其實也有想說要試試看能不能順順跑的意思),所以這邊我挑選的模型就是 2b,這裡就是透過 ollama 去執行模型,他就會幫你安裝

1
ollama run gemma:2b

執行指令的過程中有發生錯誤,這邊我是去下載CUDA Toolkit 12.4 Downloads,安裝後再次執行就沒有出現錯誤訊息,不知道是不是因為我的顯示卡GTX 970太舊的關係

docker

因為嘗試的當下並沒有截圖,所以只能用敘述說明了, wsl 剛安裝,我沒有 docker 可以用,所以憑著印象,先用 apt update 更新檔案後,記得好像要安裝docker就是 apt install docker,輸入完畢後畫面上給我三種選擇,我最終用的是 apt install docker.io,安裝完畢後執行 docker 就可以看到熟悉的指令說明,應該是可以用了

open webui

接著會需要從網頁當作介面來跟 ollama 的 gemme:2b 聊天對話,所以用 docker container 則是比較方便的做法,透過官方 github 的說明文件,我最終用的指令也是官方提供的

1
docker run -d --network=host -v open-webui:/app/backend/data -e OLLAMA_BASE_URL=http://127.0.0.1:11434 --name open-webui --restart always ghcr.io/open-webui/open-webui:main

上述指令,透過指定network讓 open webui 與 ollama 可以互相溝通;指定 -v 讓資料不會被洗掉;指定環境變數填入 ollama 服務網址,如果沒有正確與 ollama 溝通,屆時在網頁上會無法選擇聊天的模型,如果有正確設定就會自動抓到可用的模型,下拉選單就可以選擇

ref

本次練習都是依照輕鬆本地佈署Google Gemma一文介紹,作者也有提供影片介紹AI -輕鬆本地佈署Google Gemma,有興趣的人可以前往觀看