ElvisChenML / Waifu

QChatGPT 插件,用于创建真实感聊天机器人,探索真实的聊天体验。
GNU Affero General Public License v3.0
30 stars 1 forks source link

Waifu

Github stars github top language License Static Badge

介绍🔎

这是一个QChatGPT的插件,旨在利用程式逻辑搭配LLM创建真实感聊天机器人,探索真实的聊天体验。

版本记录

Waifu 2.0 预告

Waifu 1.6

Waifu 1.5

Waifu 1.4

Waifu 1.3

Waifu 1.2

Waifu 1.1

Waifu 1.0

已实现功能

✅ 画饼: 画一个不大不小的饼

底层模块 Cells(独立运作、不调用任何其他模块)

✅ 问答模块 generator.py:通过QChatGPT调用LLM进行问答。

✅ 角色模块 cards.py:Waifu的人物预设识别模块,采用LangGPT格式。

✅ 配置模块 config.py:实现yaml格式的配置加载及写入。

✅ 文字分析模块 text_analyzer.py:通过TexSmart API分词功能实现情感识别、生成TAGS。

基础模块 Organs

✅ 思考模块 thoughts.py:使Bot通过预定义的思考链进行思考决策。

✅ 记忆数据库 memories.py:自动总结对话内容并导入记忆数据库,根据用户的提问引入上下文,从而实现长时记忆。

功能实现 Systems

✅ 旁白 narrator.py:根据上下文推进角色状态改变。

✅ 状态栏 value_game.py:给与角色一个状态数值,不同数值可影响角色表现。

辅助文件 Water

✅ 配置文件模板 templates:若无配置文件,将由模板生成。

✅ 配置文件 config:由模板生成的配置文件。

✅ 配置文件 cards:Waifu人物预设资料夹,请根据示例default.json修改创建。

✅ 过程文件 data:AI运行时产出的文件,包含记忆、人物相关生成物等,调用“删除记忆”指令时会被清空。

待实现功能(画饼)

⬜ 情绪感知 emotions.py:模拟当前场景情绪,并做出相应反馈。

⬜ 事件 events.py:根据状态及行为触发事件引入上下文并主动发起消息。

⬜ 联网搜索 searching.py:根据用户的信息,自主构造搜索决策,并引入上下文。

⬜ AI 绘图支持 portrait.py:将绘图引入思考链,使 AI 可以生成图片,例如 AI 自拍。

安装💻

配置完成 QChatGPT 主程序后使用管理员账号向机器人发送命令即可安装:

!plugin get https://github.com/ElvisChenML/Waifu

或查看详细的插件安装说明

使用✏️

命令列表

Command Description Usage Usage Example
列出命令 列出目前支援所有命令及介绍 [列出命令] 列出命令
全部记忆 显示目前所有长短期记忆 [全部记忆] 全部记忆
删除记忆 删除所有长短期记忆 [删除记忆] 删除记忆
修改数值 修改Value Game的数字 [修改数值][数值] 修改数值100
态度 显示当前Value Game所对应的“态度Manner” [态度] 态度
加载配置 重新加载所有配置文件(仅Waifu) [加载配置] 加载配置
停止活动 停止旁白计时器 [停止活动] 停止活动
开场场景 主动触发旁白输出角色卡中的“开场场景Prologue” [开场场景] 开场场景
旁白 主动触发旁白推进剧情 [旁白] 旁白
继续 主动触发Bot继续回复推进剧情 [继续] 继续
控制人物 控制角色发言(行动)或触发AI生成角色消息 [控制人物][角色名称/assistant]|[发言(行动)/继续] 控制人物杰克|(向你挥手)需要帮忙吗
推进剧情 自动依序调用:旁白 -> 控制人物,角色名称省略默认为user [推进剧情][角色名称] 推进剧情杰克
撤回 从短期记忆中删除最后的对话 [撤回] 撤回
请设计 调试:设计一个列表 [请设计][设计内容] 请设计请设计心情的种类
请选择 调试:从给定列表中选择 [请选择][问题]|[选项1,选项2,……] 请选择最符合现状的心情|开心,难过
回答数字 调试:返回数字答案 [回答数字][问题] 回答数字吃饭需要多长时间
回答问题 调试:可自定系统提示的问答模式 [回答问题][系统提示语]|[用户提示语]/[回答问题][用户提示语] 回答问题你什么都说不知道|今天星期几

参数配置

协助开发

  1. clone QChatGPT
  2. clone Waifu
  3. 于QChatGPT新建目录plugins
  4. 将Waifu放在 ”QChatGPT\plugins\“ 目录下

鸣谢🎉

感谢 QChatGPT 提供Bot功能及其他基础方法

感谢 LangGPT 提供人物预设提示词范式

感谢 腾讯人工智能实验室 提供的 文本理解系统 TexSmart API

感谢 CyberWaifu koishi-plugin-aikanojo Spit_chatBot 提供的思路和代码