🌟 一个有长期记忆、表情动作立绘显示、操控电脑和语音功能,更适合Galgame角色的AI桌宠 🌟
视频演示:
- 长期记忆:使用Letta实现AI长期记忆,并且发展拓展性格和个性。
- 表情动作:采用Galgame立绘的方式而不是Live2d,使得角色可以有更多的动作和表情
- 立绘动画:采用类似Galgame立绘的动画演出,提升视觉体验。
- 语音交互:支持语音输入、直接对话、唤醒和回复打断功能。
- 语音合成:支持Vits等多种语音合成工具,让声音更真实。
一图看懂ZcChat的工作原理:
- 将角色数据中的立绘放入
/characters/{名称}
文件夹。 - 在
ZcChat > 通用设置 > 角色选择
中选中角色。
最终的项目结构应为
/characters/{名称}/正常.png...
- 安装Letta 并启动。
- 创建agent,并在
LettaADE > agent > Persona
中填入角色数据的提示词(核心记忆)。 - 将Letta地址填入
ZcChat > AI模型配置 > Letta地址
。Letta默认地址为
http://localhost:8283
- 将agentID填入
ZcChat > 角色配置 > AI模型 > agentID
。
🎉🎉🎉至此,ZcChat已经可以基本使用了,以下是一些进阶功能的使用:🎉🎉🎉
- 安装vits-simple-api 并启动。
- 将URL填入
ZcChat > 语言合成设置 > vits-simple-api地址
。vits-simple-api默认地址为
http://localhost:23456
ZcChat > 角色配置 > 语音合成
中配置相关项
- 开启自定义模式。
- 填入API调用地址,确保输出为mp3文件,并使用
{msg}
作为文本占位符,例如:http://127.0.0.1:23456/voice/vits?id=0&text={msg}&format=mp3
ZcChat > 角色配置 > 语音合成
中配置相关项
- 安装whisper-asr-webservice 并启动。
- 将URL填入
ZcChat > 语言输入设置 > whisper-asr-webservice地址
。默认地址为
http://localhost:9000
- 在百度智能云控制台创建短语音识别应用。
- 将API Key和Secret Key填入
ZcChat > 语言输入设置 > API Key/Secret Key
。
-
先配置好语音输入
-
观察
语言输入设置 > 语音能量赋值
,不说话和说话的能量应该会有较大区别,寻找的适合自己的阈值填入设置。由于VAD算法较为简单,语音唤醒和打断对环境要求较高,请仔细配置。
- 将文档内提示词追加到角色提示词即可。
Letta使用不同LLM文档,设置环境变量即可。
添加环境变量 OPENAI_API_BASE
即可。
通常是由于Letta版本更新导致数据库格式变化。如果不介意数据丢失,可以删除用户文件夹下的 .letta
文件夹后重新启动。
可能是AI忘记了或受到误导性词语的影响。尝试改进提示词,或用命令的语气告诉AI使用正确的格式回复。效果取决于所使用的模型。
本项目的特色就是使用了类Galgame的立绘方式,使得拥有表情和动作变化,并且降低了角色制作成本。如果你在找一个Live2d桌宠,我推荐LogChat。
你需要使用Letta Desktop而不是Docker部署,Letta Desktop是一个纯本地运行的ADE。然后连接如ollama等本地LLM。
- log159/LogChat: 一个开源免费的AI聊天客户端!
- letta-ai/letta: Letta (formerly MemGPT) is a framework for creating LLM services with memory.
- Artrajz/vits-simple-api: A simple VITS HTTP API, developed by extending Moegoe with additional features.
- ahmetoner/whisper-asr-webservice: OpenAI Whisper ASR Webservice API
- Liniyous/ElaWidgetTools: Fluent-UI For QT-Widget
- nlohmann/json: JSON for Modern C++