Hugging Face NPC-Playground:在 3D 環境中整合 LLM 驅動的 NPC

Hugging Face 已推出 NPC-Playground,一個 3D 互動示範,讓使用者能與由大型語言模型(LLM)驅動的非玩家角色(NPC)互動。此專案展示了 LLM 如何取代傳統的規則式系統,打造能進行真實對話、執行複雜動作與遵循指令的角色。

NPC-Playground 技術堆疊

NPC-Playground 透過三個主要元件構建,以彌合語言模型與 3D 遊戲環境之間的鴻溝:

  • Cubzh:一個跨平台、開源的使用者產生內容(UGC)遊戲引擎,作為 Roblox 的替代方案。它提供 3D 環境、體素物件,以及用於遊戲邏輯的 Lua 腳本 API。
  • Gigax:一個專門設計用於大規模運行 LLM 驅動 NPC 的引擎。它負責角色的智慧與行動選擇邏輯。
  • Hugging Face Spaces:用於以開源方式部署與迭代遊戲概念的託管環境。

Gigax:透過函式呼叫為 NPC 智慧提供動力

Gigax 讓 NPC 能透過「函式呼叫」原則與環境互動。此方法將 LLM 從單純的文字生成器轉變為能執行特定遊戲內動作的代理人。

輸入與輸出流程

系統透過結構化的管線處理 NPC 行為:

  1. Input:模型接收 3D 場景的文字描述(提示)、近期事件的摘要,以及可用動作的完整清單(例如 <say><jump><attack>)。
  2. Output:模型產生具體的動作指令,使用參照場景中現有 3D 實體的參數。範例輸出為 say NPC1 "Hello, Captain!"

開源模型

Gigax 已開源其推論堆疊,並在 Hugging Face Hub 上提供供開發者使用的微調模型:

  • NPC-LLM-3_8B:Phi-3 模型的微調版本。
  • NPC-LLM-7B:Mistral-7B 模型的微調版本。

Cubzh:UGC 遊戲引擎

Cubzh 作為此示範的底層遊戲引擎。它是一個公開的 Alpha 專案,允許使用者透過超過 25,000 件社群製作的體素物件庫來建立世界物件與化身。開發者可使用 Lua 腳本 API 編寫遊戲體驗,在 NPC-Playground 示範中,使用者可透過修改 cubzh.lua 檔案來教導 NPC 新技能。

客製化與開發者資源

使用者可透過 Hugging Face Spaces 與即時示範互動。想要自行打造 AI 驅動 NPC 的開發者,Hugging Face 提供完整的「ML for Games 課程」教學,以及關於微調 NPC 行為與新增技能的詳細文件。

Sources