跳至主要内容

概述

Runtime Local LLM Documentation

Runtime Local LLM 是一個外掛程式,可透過 llama.cpp 在裝置上完全執行大型語言模型,執行階段無需網路連線。它支援 GGUF 模型檔案,並提供完整的 Blueprint API,用於載入模型、發送訊息以及接收逐個 Token 的回應,所有操作均在背景執行緒上進行,並附帶遊戲執行緒回呼。

此插件支援 WindowsMacLinuxAndroid(包含 Meta Quest 及其他基於 Android 的平臺),以及 iOS

主要特色

  • 完整的離線推論:執行時無需雲端服務或 API 金鑰
  • 支援 GGUF 模型:可載入任何 GGUF 格式的模型(Llama、Mistral、Phi、Gemma、Qwen 等)
  • 最新的 llama.cpp:在 Fab 上定期更新以跟上 llama.cpp 的版本,確保始終支援最新的 GGUF 模型格式
  • GPU 加速:在 Windows 和 Linux 上使用 Vulkan,在 Mac 和 iOS 上使用 Metal,在 Android 和 Meta Quest 上使用 CPU 與內建指令集
  • 多種模型載入方式
    • 從本地檔案路徑載入
    • 依模型名稱載入(藍圖中的下拉選單選擇)
    • 從網址下載並自動載入
    • 僅下載以預先快取模型
  • 逐個 Token 串流:即時接收每個生成的 Token,實現即時顯示
  • 非同步藍圖節點:具備輸出委派的節點,用於載入、傳送訊息及下載
  • 可設定的推論參數:溫度、Top-P、Top-K、重複懲罰、GPU 層卸載、上下文大小、隨機種子、執行緒數量及系統提示
  • 對話管理:支援多輪對話,包含上下文重置、儲存/載入至磁碟、記憶體快照,以及針對長時間對話的自動摘要功能
  • 編輯器模型管理員:直接在專案設定中瀏覽、下載、匯入、刪除及測試模型
  • 跨平台打包:模型透過 NonUFS 暫存方式隨專案一同發佈

運作方式

  1. 在編輯器中管理模型:使用外掛設定面板瀏覽預定義模型目錄、下載模型,或匯入您自己的 GGUF 檔案
  2. 在執行階段載入模型:使用推論參數呼叫其中一個載入函式(依檔案、名稱、URL 或中繼資料)
  3. 傳送訊息:將使用者訊息傳遞給 LLM 實例;當模型生成回應時,Token 會透過委派回呼串流傳回
  4. 使用回應:在聊天 UI 中顯示 Token、驅動 NPC 對話、生成動態內容,或饋送至其他系統

所有推論皆在專屬背景執行緒上運行。回呼(Token 生成、完成、錯誤)會於遊戲執行緒觸發,因此您可以安全地從中更新 UI 與遊戲狀態。

常見使用案例

  • 遊戲內聊天機器人與助手:問答、幫助系統、動態教學
  • NPC對話:具備持續性角色記憶的對話型NPC,利用對話快照記錄每個角色的歷史
  • 長期角色扮演與敘事系統:自動摘要功能可將長達數小時的對話維持在上下文限制內,同時不遺漏關鍵資訊
  • 程序化內容生成:即時生成任務描述、物品傳說、對話樹
  • 離線優先應用:任何需要LLM功能但無需網路連線的場景

模型儲存與封裝

模型以 .gguf 檔案形式儲存在專案的 Content/RuntimeLocalLLM/Models 目錄中。此外掛程式會自動設定 要複製的其他非資產目錄DirectoriesToAlwaysStageAsNonUFS),確保模型檔案隨打包專案一同發布,並在執行階段可透過標準檔案 I/O 存取。

每個模型還附帶一個 .json 側邊檔案,用於儲存其元資料(顯示名稱、系列、變體、描述、參數數量)。

支援的模型

此插件可與任何 GGUF 格式的模型搭配使用。編輯器提供熱門預設模型目錄,可一鍵下載,您也能匯入任何自訂的 GGUF 檔案。常見的模型系列包括:

  • Llama(Meta)— 1B、3B、8B 及更大版本
  • Mistral / Mixtral — 7B 及更大版本
  • Phi(Microsoft)— 2B、3B、4B
  • Gemma(Google)— 2B、7B
  • Qwen(阿里巴巴)— 1.5B、7B 及更大版本
  • TinyLlama — 1.1B
  • 以及更多社群模型

量化

模型提供多種量化等級,可在品質、大小與速度之間取得平衡:

量化品質Size速度
Q2_K較低最小最快
Q4_K_MGood中等Fast
Q5_K_M更好更大適中
Q8_0High較慢
F16 / F32最高最大最慢的

針對行動裝置與VR裝置,建議使用較小的量化等級(Q2_K 至 Q4_K_M)搭配輕量模型(1B–3B參數)。在桌機上,則可根據可用的RAM與CPU/GPU資源,使用較大的模型與更高的量化等級。

其他資源

Join our Discord
online · support