NobodyWho:每个NPC都有独立灵魂!Godot插件实现本地LLM对话,离线生成多线剧情

❤️ 如果你也关注 AI 的发展现状,且对 AI 应用开发感兴趣,我会每日分享大模型与 AI 领域的开源项目和应用,提供运行实例和实用教程,帮助你快速上手AI技术!

🥦 微信公众号|搜一搜:蚝油菜花 🥦


🔥 “Godot引擎觉醒『大脑』!开源社区造出LLM本地运行时,游戏叙事进入『生成式时代』”

大家好,我是蚝油菜花。当别人还在用AI生成NPC台词时,Godot开发者已经让游戏引擎「自主思考」了!

NobodyWho的三大降维打击:

  • 隐私与性能兼得:GGUF格式模型本地运行,Vulkan/Metal加速比云端快3倍
  • 叙事维度爆炸:多上下文系统同时管理角色记忆/剧情分支/世界观设定
  • 零代码革命:用NobodyWhoChat节点实现智能对话,拖拽即连接

现在,你可以在玩家电脑上直接运行7B参数的LLM——这意味着每个选择都可能触发完全独特的剧情线。准备好告别预设脚本,迎接真正的「无限叙事」了吗?

🚀 快速阅读

NobodyWho 是一款为 Godot 游戏引擎设计的插件,支持在本地运行大型语言模型(LLM),实现互动小说创作。

  1. 核心功能:本地运行 LLM、GPU 加速推理、多上下文支持、流式输出。
  2. 技术原理:通过 Vulkan 或 Metal 实现 GPU 加速,集成简单的节点系统与 Godot 场景无缝对接。

NobodyWho 是什么

NobodyWho

NobodyWho 是一款专为 Godot 游戏引擎设计的插件,允许开发者在本地运行大型语言模型(LLM),从而实现互动小说创作和其他文本生成任务。它支持 Windows、Linux 和 macOS 平台,用户无需联网即可使用高性能的 LLM 功能,如对话交互和文本生成。这不仅解决了隐私问题,还大大提升了开发的灵活性和便捷性。

该插件通过简单的节点系统(如 NobodyWhoModelNobodyWhoChat)实现与 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技术!

🥦 微信公众号|搜一搜:蚝油菜花 🥦

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值