❤️ 如果你也关注 AI 的发展现状,且对 AI 应用开发感兴趣,我会每日分享大模型与 AI 领域的开源项目和应用,提供运行实例和实用教程,帮助你快速上手AI技术!
🥦 微信公众号|搜一搜:蚝油菜花 🥦
🔥 “Godot引擎觉醒『大脑』!开源社区造出LLM本地运行时,游戏叙事进入『生成式时代』”
大家好,我是蚝油菜花。当别人还在用AI生成NPC台词时,Godot开发者已经让游戏引擎「自主思考」了!
NobodyWho的三大降维打击:
- ✅ 隐私与性能兼得:GGUF格式模型本地运行,Vulkan/Metal加速比云端快3倍
- ✅ 叙事维度爆炸:多上下文系统同时管理角色记忆/剧情分支/世界观设定
- ✅ 零代码革命:用
NobodyWhoChat
节点实现智能对话,拖拽即连接
现在,你可以在玩家电脑上直接运行7B参数的LLM——这意味着每个选择都可能触发完全独特的剧情线。准备好告别预设脚本,迎接真正的「无限叙事」了吗?
🚀 快速阅读
NobodyWho 是一款为 Godot 游戏引擎设计的插件,支持在本地运行大型语言模型(LLM),实现互动小说创作。
- 核心功能:本地运行 LLM、GPU 加速推理、多上下文支持、流式输出。
- 技术原理:通过 Vulkan 或 Metal 实现 GPU 加速,集成简单的节点系统与 Godot 场景无缝对接。
NobodyWho 是什么
NobodyWho 是一款专为 Godot 游戏引擎设计的插件,允许开发者在本地运行大型语言模型(LLM),从而实现互动小说创作和其他文本生成任务。它支持 Windows、Linux 和 macOS 平台,用户无需联网即可使用高性能的 LLM 功能,如对话交互和文本生成。这不仅解决了隐私问题,还大大提升了开发的灵活性和便捷性。
该插件通过简单的节点系统(如 NobodyWhoModel
和 NobodyWhoChat
)实现与 LLM 的无缝对接,让创作者可以快速构建动态叙事内容。无论是互动故事、NPC 对话系统,还是多角色和多线叙事,NobodyWho 都能提供强大的支持。
NobodyWho 的主要功能
- 本地运行:支持在本地运行 LLM,无需联网,避免了隐私问题。
- 高性能推理:通过 GPU 加速(Linux/Windows 使用 Vulkan,macOS 使用 Metal),确保快速的推理性能。
- 多上下文支持:可以同时维护多个独立的“对话”或叙事线程,适用于不同角色或游戏状态。
- 流式输出:生成文本时逐字输出,使游戏对话更具动态性和实时性。
- 采样器功能:根据上下文动态调整生成参数(如温度、种子等),以控制对话风格。
- 嵌入功能:通过 LLM 比较自然文本的语义内容,不仅是关键词或字面内容。
- 工具调用:支持 LLM 与游戏内的功能或系统交互,例如访问库存、触发事件等。
- 记忆功能:为 LLM 提供长期记忆,以便在叙事中引用过去的事件,确保故事连贯性。
NobodyWho 的技术原理
- 本地运行与 GPU 加速:NobodyWho 支持用户在本地运行 LLM,无需联网即可实现快速推理。通过 Vulkan(Linux/Windows)或 Metal(macOS)技术实现 GPU 加速,确保高性能。
- 节点系统集成:插件通过 Godot 的节点系统实现功能集成。用户需要在场景中添加
NobodyWhoModel
节点来加载 LLM 模型文件(如 GGUF 格式),通过NobodyWhoChat
节点实现与模型的交互。
如何运行 NobodyWho
1. 安装插件
你可以通过以下两种方式安装 NobodyWho 插件:
- 在 Godot 4.3+ 版本中,进入 AssetLib 并搜索 "NobodyWho" 进行安装。
- 或者从 GitHub Releases 页面下载特定版本的压缩包,并在 Godot 中通过 "AssetLib" 标签页导入。确保在导入对话框中设置忽略资产根目录选项。
2. 准备 LLM 模型
插件本身不包含 LLM 模型,你需要提供一个 GGUF 格式的 LLM 模型文件。可以从 HuggingFace 下载适合的模型。
3. 添加 NobodyWhoModel
节点
在 Godot 场景中添加一个 NobodyWhoModel
节点,并将模型文件设置为你刚刚下载的 GGUF 文件。这个节点包含了模型的权重,占用较多内存,因此建议在同一场景中复用同一个 NobodyWhoModel
节点。
4. 添加 NobodyWhoChat
节点
接下来,添加一个 NobodyWhoChat
节点,并在节点检查器中设置 "Model Node" 字段,指向你刚刚添加的 NobodyWhoModel
节点。你还可以提供一个提示(prompt),指导 LLM 如何进行对话。
5. 编写交互脚本
你可以为 NobodyWhoChat
节点编写一个 GDScript 脚本来实现交互。以下是一个简单的示例:
extends NobodyWhoChat
func _ready():
# 配置节点
model_node = get_node("../ChatModel")
system_prompt = "You are an evil wizard. Always try to curse anyone who talks to you."
# 发送消息
say("Hi there! Who are you?")
# 等待响应
var response = await response_finished
print("Got response: " + response)
# 在实际使用中,建议连接 `response_updated` 信号以获得逐词输出的效果
资源
❤️ 如果你也关注 AI 的发展现状,且对 AI 应用开发感兴趣,我会每日分享大模型与 AI 领域的开源项目和应用,提供运行实例和实用教程,帮助你快速上手AI技术!
🥦 微信公众号|搜一搜:蚝油菜花 🥦