快轉到主要內容

Serge:離線跑類似ChatGPT的聊天AI!支援LLaMA系列大型語言模型

分類   開源AI應用 大型語言模型
標籤   LLaMA AI Large Language Model Docker
🗓️ 民國112年 癸卯年
✍ 切換正體/簡體字
目錄

Nathan Sarrazin開發的「Serge」是一款支援多個大型語言模型的開源網頁程式。

「Serge」名字源自網路meme,:義大利有一隻叫Serge Lama的羊駝,牠的名字是以法國歌手Serge le lam命名的。

Serge可讓使用者與LLaMA系列的AI聊天互動,就像在自己的電腦離線跑ChatGPT一樣,支援中文對話。

不知道什麼是LLaMA系列模型?請看 LLaMA開源大型語言模型與相關軟體介紹

Serge的特色是架設很簡單,用Docker就能輕鬆跑起來,這樣您就有自己的離線AI啦,網頁版不論電腦還是手機都可以用。

且Serge硬體需求不高,背後是以CPU實作的llama.cpp下去設計的,您不需要強力GPU也可以體驗大型語言模型的威力。

1. 系統需求
#

  • 支援Docker的作業系統,Linux/Windows/macOS
  • 4核心以上的CPU
  • 最少16GB以上RAM,這只是最低需求,越大的模型需要的RAM越多
  • 最少20GB硬碟空間

Serge背後用的是 llama.cpp技術,因此它只用CPU和RAM運算,預設不會用到GPU。

Nathan Sarrazin的Github儲存庫原始碼: serge-chat/serge - A web interface for chatting with Alpaca through llama.cpp. Fully dockerized, with an easy to use API.

2. 安裝Serge
#

  1. 在電腦上 安裝Docker

  2. 建立Docker-compose。

cd ~
mkdir serge-ai
cd serge-ai
vim docker-compose.yml
  1. 填入以下內容:
services:
  serge:
    image: ghcr.io/serge-chat/serge:latest
    container_name: serge
    restart: unless-stopped
    ports:
      - 8008:8008
    volumes:
      - weights:/usr/src/app/weights # 將模型下載到Docker volume,您可以將路徑改指向目前目錄,例如 ./weights:/usr/src/app/weights。
      - datadb:/data/db/

volumes:
  weights:
  datadb:
  1. 啟動服務
docker compose up -d
  1. 瀏覽器開啟https://127.0.0.1:8008就可以看到Serge主畫面。

3. 下載大型語言模型
#

使用內建模型
#

點選Download model進入模型下載頁。對要下載的模型按Download。下載的語言模型檔案位於/var/lib/docker/volumes/weights/_data/

Serge目前提供的模型有LLaMA、Alpaca、Vicuna、OAsst、GPT4All、Airoboros、Chronos、Guanaco、Koala、Lazarus、Hermes、Samantha、Tulu、WizardLM、LLaMA 2等等…只要到Github提feature request作者就會加進去。

模型後面都有數字(7B/13B/30B),代表訓練資料集數量,數字越大的電腦需要越多RAM。例如跑最小的7B需要4GB RAM,13B約需要16GB RAM,30B需要32GB RAM,70B需要48GB RAM。

如果電腦RAM不足,可以用SWAP或分頁檔來提升RAM。

如果要我推薦哪個模型比較好的話,建議是從WizardLM-Uncensored-13B開始玩起,它回答品質與速度適中。

使用自訂模型
#

將想使用的模型(ggml格式)複製到Docker容器內部,例如支援中文對話的 Chinese-LLaMA-Alpaca13B

docker ps
docker cp "~/模型檔.bin" 容器ID:/usr/src/app/weights

4. 開始聊天
#

  1. 點開Model Settings,在Model choice處選取要使用的模型,這邊我選自己下載的Chinese-LLaMA-Alpaca13B。

  2. Max size預設是512等於AI的記憶長度。如果你希望跟AI聊久一點的話,那就把這個值設定為2048,否則馬上就會到達context上限。Pre-prompt處的提示詞是要AI扮演的角色。GPU Layer是分擔給GPU運算的多寡,可提昇回應速度。

  3. 點選Start a new chat開始對話。AI的回應時間依電腦性能而定,Intel i5 7400所有線程全跑滿,大概需要算30秒才會開始生成回應。

另外作者還準備一套API能夠與AI互動,文件網址請看http://localhost:8008/api/docs

如果您想從外部網路存取Serge的界面,請使用 內網穿透軟體

相關文章

Android手機Termux跑Alpaca.cpp (LLaMA) 大型語言模型
分類   開源AI應用 大型語言模型
標籤   LLaMA AI Large Language Model Termux
Dalai本機安裝教學,與LLaMA大型語言模型離線聊天
分類   開源AI應用 大型語言模型
標籤   LLaMA AI
Suno Bark GUI,支援多國語言的生成式語音合成AI
分類   開源AI應用 AI音訊處理
標籤   Text to Speech

留言板

此處提供二種留言板。點選按鈕,選擇您覺得方便的留言板。要討論程式碼請用Giscus,匿名討論請用Disqus。

這是Giscus留言板,需要Github帳號才能留言。支援markdown語法,若要上傳圖片請貼Imgur或Postimages。您的留言會在Github Discussions向所有人公開。

這是Disqus留言板,您可能會看到Disqus強制投放的廣告。為防止垃圾內容,有時留言可能會被系統判定需審核,導致延遲顯示,請見諒。若要上傳圖片請善用圖床網站。