GameRAGKit:用C#实现基于世界观设定的NPC对话引擎
来源标题:Show HN: GameRAGKit, lore-grounded NPC dialogue in C#
GameRAGKit是一个面向游戏NPC的检索增强人格引擎,开发者将世界、区域和阵营设定放入文件,用YAML声明人格,即可通过单一HTTP接口(/ask)让NPC按角色设定作答并记住对话内容。项目附带四个Three.js第一人称演示场景,其中数百个可点击人群角色共享14种原型NPC,以控制后端负载。
以下正文由 AI 翻译自 Hacker News 最新(原文版权归原站所有),可能存在偏差,重要内容请以原文为准。
GameRagKit 是一个面向游戏 NPC 的检索增强人格引擎:把你的世界、区域和阵营设定放进文件,用 YAML 声明一个人格,就能得到一个会以角色身份回答、记得被告知的内容、并能通过同一套层级结构与数百个其他 NPC 共享人格上下文的 NPC——全部通过一个小巧的 HTTP API(/ask)完成,任何引擎或客户端都能调用。
四个可玩的 Three.js 第一人称场景,每个都由真正的 GameRagKit NPC 支撑,而不是脚本化对话。走上前,按 E,每一条回复都来自一次真实的 /ask 调用。
一个小庭院里的一名守卫,用最小化的方式证明真正的 NPC 能在第一人称游戏场景中运作。
城镇广场周围五名各具人格的 NPC,证明并发的 NPC 之间不会互相串话。
数百个可点击的人群角色,每个都共享 14 个原型 NPC 之一:这种集群模式让后端负载在任何人群规模下都保持有界。
同时与三名 NPC 大声交谈。一个路由器决定由谁回答,他们会用名字互相回应,每个人都有自己的本地声音。
这些演示中的 NPC 用 Kokoro 说话,这是一个小型开源语音模型,运行在托管本站的 CPU 服务器上。下面同样的台词,用两个更大的开源模型生成,带有真实的情感:笑声、叹息、根据一句角色描述设计出的声音。它们需要 GPU 才能在实时对话中跟上节奏,而我们负担不起为这个演示托管一块 GPU。在一台配有现代 GPU 的游戏 PC 上,GameRagKit 可以在本地运行它们,你的 NPC 听起来就会像这样。
这三个都是你可以随产品发布的开源模型(Apache-2.0 / MIT)。Chatterbox 克隆 Qwen 设计的声音,并加上 [laugh] 和 [sigh]。
这些演示中的托管、LLM 使用和每一个声音都是自掏腰包支付的。贡献会直接用于运行它们,以及用于一台 GPU 服务器,让每位来访者都能听到上面那些富有表现力的声音,而不是 CPU 版本。
正文由 探How 从来源站点 RSS 同步,内容未经改写;遇到排版缺失或需要图片、视频时请以原文为准。