藍圖章節 - Cllama (llama.cpp)
離線模型
Cllama 是基於 llama.cpp 實現的,支援離線使用 AI 推論模型。
由於屬於離線情況,我們需要先準備好模型檔案,例如從 HuggingFace 網站下載離線模型:Qwen1.5-1.8B-Chat-Q8_0.gguf
將模型放在指定的檔案夾內,例如將其存放在遊戲專案目錄 Content/LLAMA 中。
有了離線模型文件之後,我們就可以透過 Cllama 來進行 AI 聊天。
文字聊天
使用 Cllama 進行文字聊天
請在藍圖中按右鍵創建一個節點 Send Cllama Chat Request
。
建立 Options 節點,並設定 Stream=true, ModelPath="E:\UE\projects\FP_Test1\Content\LLAMA\qwen1.5-1_8b-chat-q8_0.gguf"
建立訊息,分別新增一條系統訊息和用戶訊息。
建立 Delegate 接收模型輸出的資訊,並顯示在螢幕上。
完整的藍圖看起來是這樣的,運行藍圖,即可看到遊戲屏幕在列印大型模型返回的訊息。
生成圖片文字 llava
Cllama 還實驗性支持了 llava 庫,提供了 Vision 的能力。
請準備好 Multimodal 離線模型檔案,例如 Moondream(moondream2-text-model-f16.gguf, moondream2-mmproj-f16.gguf)或者 Qwen2-VL(Qwen2-VL-7B-Instruct-Q8_0.gguf, mmproj-Qwen2-VL-7B-Instruct-f16.gguf)或者其他 llama.cpp 支持的 Multimodal 模型。
建立「選項」節點,將「模型路徑」和「MMProject 模型路徑」參數分別設置為相對應的多模式模型檔案。
建立節點來讀取圖片檔案 flower.png,並設定訊息。
最後建立節點接受返回的訊息,並列印到螢幕上,完整的藍圖看起來是這樣的。
運行藍圖可看到返回的文字
llama.cpp 使用 GPU
“Cllama Chat Request Options” 中新增一個參數 “Num Gpu Layer”,該參數可設置 llama.cpp 的 GPU 資料負載,進而控制需在 GPU 上計算的層數。示意如下圖。
處理打包後 .Pak 中的模型文件
啟動 Pak 打包後,專案中的所有資源檔案都會被放置在 .Pak 檔案中,當然也包括了離線模型 gguf 檔案。
因為 llama.cpp 無法直接讀取 .Pak 文件,所以需要將 .Pak 文件中的離線模型檔案複製到檔案系統中。
AIChatPlus 提供了一個功能函數,可以自動將 .Pak 中的模型檔案複製處理,並放在 Saved 資料夾中:
您可以自行處理 .Pak 中的模型檔案,關鍵是要將檔案複製出來,因為 llama.cpp 無法正確讀取 .Pak。
功能節點
Cllama 提供了一些功能節點,方便取得當前環境下的狀態。
"Cllama Is Valid":檢查 Cllama llama.cpp 是否正確初始化
"Cllama Is Support Gpu":判斷 llama.cpp 在當前環境下是否支持 GPU backend
"獲取支持的後端": 取得 llama.cpp 目前支援的所有後端。
"Cllama Prepare ModelFile In Pak": 自動將 Pak 中的模型文件複製到檔案系統中
Original: https://wiki.disenone.site/tc
This post is protected by CC BY-NC-SA 4.0 agreement, should be reproduced with attribution.
Visitors. Total Visits. Page Visits.
此貼文是由 ChatGPT 翻譯的,請在反饋指出任何遺漏之處。