AIYA
一个用于Stable Diffusion的Discord机器人界面
<img src=https://raw.githubusercontent.com/Kilvoctu/kilvoctu.github.io/master/pics/preview.png width=50% height=50%>
使用方法
要从文本生成图像,请使用/draw命令并在查询中包含您的提示。
<img src=https://raw.githubusercontent.com/Kilvoctu/kilvoctu.github.io/master/pics/preview2.png>
要从几个词生成提示,请使用/generate命令并在查询中包含您的文本。
目前支持的选项
- 实时预览
- 负面提示
- 切换模型/检查点(参见维基)
- 采样步数
- 宽度/高度
- CFG比例
- 采样方法
- 种子
- Web UI样式
- 额外网络(超网络、LoRA)
- 面部修复
- 高分辨率修复
- CLIP跳过
- 图像到图像
- 去噪强度
- 批次数量
- 与SD.Next兼容
- "全质量"VAE开关
额外功能
- /settings命令 - 为支持的选项设置每个频道的默认值(参见注释!):
- 还可以设置最大步数限制和最大批次数量限制
- 刷新(用Web UI的任何更改更新AIYA的选项)
- /identify命令 - 为您的图像创建说明。
- /generate命令 - 使用https://huggingface.co/Gustavosta/MagicPrompt-Stable-Diffusion从文本生成提示。
- /stats命令 - 显示已使用的/draw命令数量。
- /queue命令 - 显示每个队列的大小。
- /info命令 - 基本使用指南、其他信息和下载批量图像。
- /upscale命令 - 调整图像大小。
- 按钮 - 某些输出将包含按钮。
- 🖋 - 编辑提示,然后使用相同参数生成新图像。
- 🎲 - 随机化种子,然后使用相同参数生成新图像。
- 📋 - 查看生成图像的信息。
- ⬆️ - 使用默认设置放大生成的图像。批量网格需要使用下拉菜单
- ❌ - 删除生成的图像。在实时预览中,此按钮会中断生成过程
- ➡️ - 在实时预览中跳过当前图像生成并转到下一批(如果有多个)
- 下拉菜单 - 批量图像为前25张图像生成两个下拉菜单。
- 第一个菜单提示机器人仅以单张图像发送您选择的图像
- 第二个菜单提示机器人放大批次中选定的图像。
- 上下文菜单选项 - 您可以在任何消息上尝试的命令。
- 获取图像信息 - 查看由Stable Diffusion生成的图像信息。
- 快速放大 - 无需设置选项即可放大图像。
- 批量下载 - 无需指定batch_id和image_id即可下载批量图像集的所有图像
- 将图像标记为隐藏内容
- 每张图像(在
/draw
上) - 使用
/settings
设置频道范围的默认值或基于角色强制设置
- 每张图像(在
- 配置文件 - 可以更改AIYA的一些操作方面。
设置要求
- 设置AUTOMATIC1111的Stable Diffusion AI Web UI或SD.Next
- AIYA目前在Web UI的提交
20ae71faa8ef035c31aa3a410b707d792c8203a3
上进行测试。 - 对于SD.Next,目前在2024-03-01的主分支上测试(
325ed10a04775c49c36fc3308559507a4a82271b
)
- AIYA目前在Web UI的提交
- 以本地主机和API运行Web UI(
COMMANDLINE_ARGS= --api
)。 - 克隆此仓库。
- 在克隆的仓库中创建一个名为".env"的文件,格式如下:
# .env
TOKEN = 在此处放置您的机器人令牌
- 通过运行launch.bat(或Linux上的launch.sh)来运行AIYA
使用Docker部署
AIYA可以使用Docker部署。
Docker镜像支持通过添加环境变量或更新配置文件来进行额外配置,详情请参阅维基。
Docker运行
docker run --name aiyabot --network=host --restart=always -e TOKEN=your_token_here -e TZ=America/New_York -v ./aiyabot/outputs:/app/outputs -v ./aiyabot/resources:/app/resources -d ghcr.io/kilvoctu/aiyabot:latest
注意以下环境变量适用于Docker镜像:
TOKEN
- [必需] Discord 机器人令牌。URL
- Web UI API 的 URL。默认为http://localhost:7860
。TZ
- 容器的时区,格式为America/New_York
。默认为America/New_York
。APIUSER
- 如果你的 Web UI 实例需要,则为 API 用户名。APIPASS
- 如果你的 Web UI 实例需要,则为 API 密码。USER
- 如果你的 Web UI 实例需要,则为用户名。PASS
- 如果你的 Web UI 实例需要,则为密码。USE_GENERATE
- 设置是否启用/generate
命令以及是否安装所需的包(torch nvidia transformers
)。
Docker compose
- 克隆仓库并参考
deploy
目录中的docker-compose.yml
文件。 - 将
/deploy/.env.example
文件重命名为.env
,并用你的机器人令牌更新TOKEN
变量(以及任何其他所需的配置)。 - 运行
docker-compose up -d
启动机器人。
注意事项
- 查看 wiki 了解额外配置的注意事项。
- 查看 wiki 了解更换模型的注意事项。
- 📋 需要 Web UI 脚本。请查看 wiki 了解详情。
- 邀请 AIYA 到你的 Discord 服务器时,确保选择
bot
和application.commands
范围,并启用意图。 - 由于 /settings 可能被滥用,请考虑审查谁可以访问该命令。这可以通过服务器设置中的 Apps -> Integrations 完成。在此处阅读更多关于 /settings 的信息。
- AIYA 使用 Web UI 的传统高分辨率修复方法。为确保正常工作,请在 Web UI 设置中启用此选项:"对于高分辨率修复,使用宽度/高度滑块设置最终分辨率而不是第一次传递"
- 对于内存/CPU 较少的系统,或如果不需要
/generate
命令,可以通过为 docker/cli 设置环境变量USE_GENERATE=false
来禁用它。
致谢
基础
AIYA 的存在要感谢这些了不起的人:
- AUTOMATIC1111 和所有 Web UI 仓库的贡献者。
- vladmandic 和所有 SD.Next 的贡献者
- harubaru,我进入 Stable Diffusion(通过 Waifu Diffusion)的入口,也是 AIYA Discord 机器人的基础。
重要贡献者
这些人在某些方面对 AIYA 的开发起到了重要作用:
- solareon,开发了一种更合理的方式来显示和交互批量图像。
- danstis,将 AIYA 容器化。
- ashen-sensored,开发了一种解决 Discord 移除图像上传 PNG 信息的变通方法。编辑 Discord 目前不再这样做,但仍然值得赞扬。
- gingivere0,为原始 API 开发了 PayloadFormatter 类。没有它,我一开始就会放弃。还有一个很棒的 Discord 机器人作为无斜杠命令的替代方案。
- 你,使用 AIYA 并通过 PR、错误报告、反馈等方式做出贡献!