>_ DevTrendspt

Idioma

Início

Linguagens

Seções

Frontend Backend Mobile DevOps AI / ML GameDev Blockchain Embarcados Segurança
Rust

Como Combinar um Visual Novel com um LLM e um Pet de Desktop em Rust

A maioria das interfaces para trabalhar com redes neurais parecem igualmente sem graça. São要么是 ChatGPT 的克隆版,左侧有线程列表,右侧有输入框,要么是终端的命令行工具。但如果你玩过日本视觉小说(Galgame),你会知道视觉接触、角色情绪变化和发生的事情的背景有多重要。

最近我遇到了一个有趣的项目叫做 LingChat,其作者试图将视觉小说的对话机制、虚拟桌面宠物系统和现代语言模型结合起来。对我们来说最好的部分是:它的核心是诚实的 Rust,而不是另一个资源饥饿的 Electron 应用。

项目内部

LingChat 仓库提供了一种重新思考与 AI 通信的熟悉格式。不是枯燥的聊天窗口,而是一个动画角色,对对话做出反应,跟踪你的日程,并可以参与互动场景。

该项目同时处理几个任务:

  • 情感精灵响应。该模型不仅生成文本,还标记自己的情绪状态。根据回复的语气,角色会改变姿势、面部表情和动画。
  • 桌面宠物模式。该角色生活在你系统打开的窗口之上,在后台对点击和用户操作做出反应。
  • 调度器和任务跟踪器。对话引擎内置了日历和提醒功能,因此助手会及时提醒你电话或截止日期。
  • 分支故事模块。作者添加了场景分支支持,将常规聊天变成带有条件检查和选择的互动游戏。

为什么选择 Rust 很重要

通常,这样的互动应用是用 Electron + React 或 Unity 构建的。这两种方法都有一个不愉快的缺点:资源饥饿。桌面宠物需要整天在后台运行,但不能吃掉你一半的 RAM 并启动你的笔记本电脑风扇。

LingChat 是用 Rust 编写的。这在持续的精灵渲染和鼠标事件处理过程中提供了低资源消耗。核心应用逻辑运行快速,为本地模型推理或并行工作任务留出大部分系统资源。

该代码实现了一个解析系统,用于处理 LLM 响应中的情绪标签。当模型返回响应时,引擎会在屏幕上显示文本之前拦截特殊的心情标记,并同步切换角色的动画帧。

这可以应用在哪里

除了直接使用它来怀旧和怀念像 Shimeji 这样的旧虚拟宠物外,该项目还为开发者提供了有趣的架构想法。

首先,它是创建独立游戏中 NPC 的绝佳参考。如果你想为你的项目添加基于生成式 AI 的角色,你可以在这里寻找灵感,了解如何将模型的文本输出与动画图形状态变化联系起来。

其次,该项目很好地展示了创建有个性化助手的机制。不是无脸的机器人,而是一个伴侣,其行为参数和角色通过系统提示和配置文件进行配置。

从哪里开始

源代码在 AGPL-3.0 许可证下开源。文档和设置指南收集在项目官方网站 https://lingchat.wiki/ 上。

要运行它,你需要配置好的 Rust 工具链和兼容 LLM 提供商的 API 密钥(或本地运行的服务器,如 Ollama / vLLM,支持 OpenAI 兼容 API)。

如果你一直想构建自己的自定义桌面伴侣或通过 LLM 实验动态精灵切换,那么深入研究 SlimeBoyOwO/LingChat 仓库绝对值得。

Projetos relacionados