File size: 10,095 Bytes
0a615d3
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
9c26933
0a615d3
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
---
base_model: unsloth/qwen3-4b-unsloth-bnb-4bit
library_name: peft
pipeline_tag: text-generation
tags:
- base_model:adapter:unsloth/qwen3-4b-unsloth-bnb-4bit
- lora
- sft
- transformers
- trl
- unsloth
- game
- npc
- gamesoul
- ai
- RAG
- MCP
- 游戏
- Unreal
- Unity
- Cocos
---

# Model Card for GameSoul-AI-NPC

![Image Alt Text](DocsAsset/GAMESOUL_top_pic.png)

[English](README.md) | [中文]

🤖 GameSoul-AI-NPC 遊戲 NPC 行為決策模型,透過多來源資訊融合,生成符合角色設定的動態行為。支援即時環境回應、事件回應、記憶回溯與角色一致性維持。可呼叫推理 (Reasoning)、RAG (檢索增強生成) 及 MCP (多角色協同規劃)。

## 模型細節 🔍

### 核心能力

| 模組        | 功能描述                               |
| --------- | ---------------------------------- |
| **環境感知**  | 解析場景狀態、玩家互動、時間/天氣等即時訊號             |
| **記憶系統**  | 支援長期行為記憶(使用資料庫儲存)                  |
| **角色一致性** | 根據預設背景(性格/目標/身分/能力/記憶等)生成符合角色設定的行為 |
| **動態決策**  | 基於綜合狀態生成動作序列(移動/對話/互動)             |

### 技術架構 🏗️

```mermaid
graph TD
A[🌏環境狀態] --> C(🧠LLM決策引擎)
B[🧙‍♂️角色記憶] --> C
D[💭當前事件] --> C
C --> E{行為裁決}
E --> F[👊動作指令]
E --> G[💬自然語言回饋]
E --> H[📌儲存記憶]
```

### 擴展介面

🔌MCP 協議 (reference only):透過 npc\_memory\_api (example) 呼叫 MCP 取得資料庫資訊

```json
// example
{
  "jsonrpc": "2.0",
  "id": 123456789,
  "method": "get_npc_memory",
  "params": {
    "player_action": "steal_item",
    "npc_id": "npc_123456"
  }
}
```

### 模型描述 📝

- **Developed by : NewOrigin**
- **Funded by : NewOrigin**
- **Shared by : NewOrigin**
- **Model type : Decoder&MoE Transformer**
- **Language(s) (NLP) : English & Chinese & 110+ languages**
- **License : apache-2.0**
- **Finetuned from model : unsloth/qwen3-4b**

### 模型來源 🌐

- **Repository :** [https://huggingface.co/unsloth/Qwen3-4B](https://huggingface.co/unsloth/Qwen3-4B)

## 使用場景 🚀

本模型為 unsloth/qwen3-4b 的微調版本,專為遊戲中非玩家角色 (NPC) 賦能智能行為。模型可根據角色背景、記憶上下文與環境狀態生成動態回應,支援推理 (Reasoning)、RAG (檢索增強生成) 及 MCP (多角色協同規劃) 呼叫。

預期使用者:

- 遊戲開發者、遊戲設計師
- 研究遊戲 NPC 行為 AI 的專業人員
- 遊戲工作室、獨立遊戲開發者
- 其他有興趣的使用者

潛在影響對象:

- 與 NPC 互動的最終玩家

### 直接使用 🖥️

本模型可直接用於遊戲環境中生成 AI 行為,無需額外微調。它能根據上下文、記憶資訊、玩家行為及環境狀態生成符合預期的 NPC 回應。開發者可透過推理介面直接呼叫,或整合至遊戲系統、決策邏輯或 RAG 流程中使用。

典型應用場景包括:

- 自動化 NPC 生態,形成遊戲世界即時推演
- 基於劇情與記憶的 NPC 互動
- 根據環境狀態的行為規劃
- 多智能體協作推理與回應

### 下游整合 📦

該模型適合嵌入遊戲系統等下游場景,可作為 AI 驅動 NPC 的核心推理與對話引擎,融入:

- 遊戲引擎中,實現即時對話生成與行為邏輯控制
- 多智能體模擬平台,提供長期記憶及上下文推理能力的互動行為
- 基於 RAG 的推理系統,透過知識檢索增強 NPC 的決策過程
- 支援 MCP 協議的資料庫,用於儲存 NPC 資訊,並於需要時呼叫

依據遊戲調性、設定或任務需求,亦可進行進一步微調以符合風格。

### 不建議使用範圍 ⚠️

本模型不適用於涉及高風險或安全敏感的應用情境,以下為不建議使用方式:

- 涉及法律、醫療、金融或安全等決策類任務
- 需要高度事實準確度或倫理推理的應用場景

## 偏見、風險與限制 🚧

本模型可能繼承基礎預訓練資料或微調語料中的偏見,例如文化刻板印象、色情內容、性別偏見、角色行為模式等。

技術限制包括:

- 無法驗證生成內容的真實性或邏輯正確性

在任何包含生成內容的系統中,尤其面向未成年玩家時,建議對輸出結果進行必要過濾。

### 建議事項 💡

- 部署前請充分測試模型於多種遊戲情境下的表現,釐清其邊界與潛在失效風險。
- 在遊戲引擎中,先建立能執行動作的框架,再整合該模型。

## 快速上手 🚩

以下範例示範如何快速載入並呼叫微調後模型:

```python
from transformers import AutoModelForCausalLM, AutoTokenizer
import torch

model_name = "NewOrigin/GameSoul-AI-NPC-4B-v0.1"

tokenizer = AutoTokenizer.from_pretrained(model_name)
model = AutoModelForCausalLM.from_pretrained(
    model_name,
    torch_dtype=torch.auto,  
    device_map="auto"
)

prompt = "input your content"
messages = [
    {"role": "user", "content": prompt}
]

text = tokenizer.apply_chat_template(
    messages,
    tokenize=False,
    add_generation_prompt=False,
    enable_thinking=False
)

model_inputs = tokenizer([text], return_tensors="pt").to(model.device)

generated_ids = model.generate(
    **model_inputs,
    max_new_tokens=1024,
    do_sample=True,
    top_p=0.9,
)

output_ids = generated_ids[0].tolist()
think_token_id = tokenizer.convert_tokens_to_ids("</think>")
if think_token_id in output_ids:
    idx = output_ids.index(think_token_id)
    thinking = tokenizer.decode(output_ids[:idx], skip_special_tokens=True).strip()
    response = tokenizer.decode(output_ids[idx+1:], skip_special_tokens=True).strip()
else:
    thinking, response = "", tokenizer.decode(output_ids, skip_special_tokens=True).strip()

print("🧠 think", thinking)
print("💬 answer", response)
```

### 範例輸入與輸出 📥📤

- 輸入📥

```json
{
    "NPCID": "npc_585919",
    "角色背景": "一位來自神秘森林的魅魔藥劑師,二十歲,從小在森林中學習草藥和魔法知識。因森林遭遇邪惡魔法侵襲,親人離世,她決心尋找破解魔法的方法。擅長調配藥劑、魅惑與魔法感知。",
    "特徵": {
        "核心性格": [
            "誘惑",
            "狡猾",
            "好奇"
        ],
        "特長": [
            "藥劑調配",
            "魅惑術",
            "魔法感知"
        ]
    },
    "動態狀態": {
        "當前情緒": "憤怒(因最近魔法污染在森林中加劇,影響了她的力量)"
    },
    "記憶事件": [
        {
            "eventid": "evt_20240805_001",
            "timestamp": "2024-08-05",
            "事件類型": "幫助",
            "發起者": "player_004",
            "接受者": "npc_585919",
            "動作": "提供魔法書籍",
            "影響": "對player_004產生好感,獲得更多魔法能量"
        },
        {
            "eventid": "evt_20240720_002",
            "timestamp": "2024-07-20",
            "事件類型": "衝突",
            "發起者": "npc_006",
            "接受者": "npc_585919",
            "動作": "搶奪草藥",
            "影響": "npc_585919對npc_006產生敵意,警惕性上升"
        },
        {
            "eventid": "evt_20240712_003",
            "timestamp": "2024-07-12",
            "事件類型": "交易",
            "發起者": "player_005",
            "接受者": "npc_585919",
            "動作": "購買藥劑",
            "影響": "獲得金幣,心情愉悅,利用魅力加強交易"
        },
        {
            "eventid": "evt_20240630_004",
            "timestamp": "2024-06-30",
            "事件類型": "幫助",
            "發起者": "npc_585919",
            "接受者": "player_006",
            "動作": "治療傷口",
            "影響": "透過魔法治療,產生好感與依賴"
        },
        {
            "eventid": "evt_20240615_005",
            "timestamp": "2024-06-15",
            "事件類型": "探索",
            "發起者": "npc_585919",
            "接受者": "npc_585919",
            "動作": "發現新草藥",
            "影響": "增加魔法知識,提升魅力"
        }
    ]
},
{
    "當前事件": "遇到了好色的勇者"
}
```

- 輸出📤

```json
{"事件反應": "npc_585919察覺到勇者對她的騷擾後,釋放魅惑術使其陷入幻覺,同時用魔法感知追蹤其行動軌跡,並在森林深處設下陷阱"}
```

## 訓練細節 🏋️‍♀️

### 訓練流程

本模型基於 unsloth/qwen3-4b-unsloth-bnb-4bit 進行微調,採用 Unsloth 工具庫中的 LoRA (Low-Rank Adaptation) 方法,實現高效低資源微調。

- 微調方式: LoRA
- 訓練器: 使用 Unsloth 的 SFTTrainer
- 模型格式: 僅保存 adapter 權重,格式為 safetensors
- 訓練設備: Nvidia A10 GPU

## 環境影響 🌱

- **Hardware Type : cloud server**
- **Cloud Provider : Google Cloud Platform & Alibaba Cloud**
- **Compute Region : NorthAmerica & Asia**
- **Carbon Emitted : <1Kg**

**BibTeX:**

```bibtex
@misc{NewOrigin2025GameSoul-AI-NPC,
  title        = {GameSoul-AI-NPC: A LoRA fine-tuned Qwen3-4B   model for game NPC reasoning and interaction},
  author       = {NewOrigin},
  year         = {2025},
  publisher    = {Hugging Face},
  howpublished = {https://huggingface.co/NewOrigin/GameSoul-AI-NPC-4B-v0.1}
}
```

**APA:**

NewOrigin. (2025). *GameSoul-AI-NPC: A LoRA fine-tuned Qwen3-4B model for game NPC reasoning and interaction*. Hugging Face. [https://huggingface.co/NewOrigin/GameSoul-AI-NPC-4B-v0.1](https://huggingface.co/NewOrigin/GameSoul-AI-NPC-4B-v0.1)

## Model Card Authors ✍️

- **Author by : NewOrigin**

## 聯絡方式 📧

如有任何問題、建議或合作意向,歡迎聯繫:

**電子郵件:**[**[email protected]**](mailto\:[email protected])

### Framework versions

- PEFT 0.16.0