NobodyWho:AI游戏引擎插件 专为互动故事和游戏设计
NobodyWho简介
NobodyWho 是一款为 Godot 游戏引擎开发的插件,专为互动故事和游戏设计。它允许用户在本地运行语言模型(LLM),无需联网即可实现角色对话和交互。通过利用 GPU 加速(如 Vulkan 或 Metal),它能够快速处理复杂的语言任务,提供流畅的用户体验。使用时,只需在 Godot 场景中添加两个节点:NobodyWhoModel 用于加载 LLM 模型文件,NobodyWhoChat 用于实现对话功能。它支持 Windows、Linux 和 macOS 系统,适合开发游戏、互动故事和 NPC 对话系统。此外,它还支持生成文本嵌入向量,可用于语义相似性分析等高级功能。

NobodyWho主要功能
-
本地运行LLM驱动的角色:无需互联网连接,即可在本地运行语言模型,确保数据隐私和安全。
-
快速推理:利用GPU加速(如Vulkan或Metal),实现超快速的语言模型推理,提供流畅的交互体验。
-
简易设置:只需添加两个节点(
NobodyWhoModel
和NobodyWhoChat
)即可开始使用,设置过程简单明了。 -
跨平台支持:兼容Windows、Linux和macOS操作系统,方便开发者在不同平台上进行开发和测试。
-
互动故事和NPC对话:适用于开发互动故事和游戏中的NPC对话系统,增强游戏的沉浸感和互动性。
-
文本嵌入向量生成:支持生成文本嵌入向量,可用于语义相似性分析和其他高级功能。
NobodyWho技术原理
-
LLM模型加载:
-
使用
NobodyWhoModel
节点加载GGUF格式的语言模型文件。该节点包含模型的权重,初始化时会占用大量RAM。
-
-
对话节点配置:
-
在
NobodyWhoChat
节点中配置模型节点和提示信息(prompt),用于指导语言模型如何进行对话。
-
-
编程接口:
-
提供多个函数和信号用于与语言模型进行交互:
-
say(text: String)
:发送用户输入的文本给语言模型。 -
response_updated(token: String)
:每次语言模型生成新文本时触发,包含大约一个词。 -
response_finished(response: String)
:语言模型完成生成文本时触发。 -
start_worker()
:启动语言模型的工作进程,准备好后即可进行对话。
-
-
-
文本嵌入向量:
-
使用
NobodyWhoEmbedding
节点生成文本的嵌入向量,并通过余弦相似度计算文本之间的语义相似性。
-
-
GPU加速:
-
通过Vulkan或Metal等GPU加速技术,提高语言模型推理的速度,确保实时交互的流畅性。
-
NobodyWho应用场景
-
互动故事游戏:玩家通过对话与故事中的角色互动,推动剧情发展,例如解谜或探索故事背景。
-
角色扮演游戏(RPG):为NPC提供智能对话系统,增强角色的互动性和故事性,使游戏世界更加生动。
-
教育游戏:设计智能导师或虚拟角色,帮助玩家学习知识,提供实时反馈和指导。
-
模拟经营游戏:玩家与虚拟员工或客户进行对话,管理业务或解决经营问题,增加游戏的趣味性和挑战性。
-
冒险游戏:玩家在探索过程中与环境中的角色或生物对话,获取线索或触发剧情。
-
社交模拟游戏:模拟真实社交场景,玩家与虚拟角色交流,练习社交技巧或体验不同人际关系。
NobodyWho项目入口
© 版权声明
文章版权归作者所有,未经允许请勿转载。
相关文章
暂无评论...