一个基于文本提示生成图片的Discord机器人
项目描述
Droombot
Droombot是一个基于Discord的机器人,可以从文本提示生成图片。
目前,它使用Stability.ai的API调用来生成图片。未来版本可能支持直接运行Stable Diffusion。
https://user-images.githubusercontent.com/7782240/229916443-2cc0aa4d-188b-47c1-947e-9fd1708f4fba.mp4
安装
:zap: 注意:如果使用容器(见下文),此步骤不是必需的
在虚拟环境中运行以下命令,以安装droombot
pip install droombot
如何运行
:zap: 注意:如果使用容器(见下文),此步骤不是必需的
配置您的环境(见配置选项以下),并确保您的网络中有一个正在运行的redis实例(我们建议使用容器)。
要启动机器人,请在虚拟环境中运行以下命令
droombot server
要启动一个工作进程,请在虚拟环境中运行以下命令
droombot worker
如何在Discord中使用
使用/prompt
命令输入您的提示。默认情况下,它使用Stability AI现在认为的“核心”模型。您也可以通过在提示中追加-m sd3
或-m sd3-turbo
来选择Stable Diffusion 3和Stable Diffusion 3 Turbo模型。
您可以通过以下方式给提示中的单个单词添加更多权重; A table with (red:0.5) raspberries and (purple:0.5) blueberries.
组件
Droombot由两个组件组成
server
,这个处理与用户的交互。即,它处理传入的提示和回复。它提供了与Discord机器人用户交互的服务。- 一个或多个
worker
。这些处理实际的图片生成。
Redis用作server
和worker
(s)之间的消息代理。
配置
所有配置都通过环境变量处理。请参阅下表
环境变量 | 说明 | 是否必需 |
---|---|---|
DISCORD_BOT_TOKEN |
您的 Discord 应用程序的令牌 | 是 |
DISCORD_GUILD_IDS |
您希望允许机器人访问的公会(服务器)ID的逗号分隔列表 | 是 |
STABILITY_API_KEY |
来自 Stability AI 的 API 密钥 | 是 |
REDIS_HOST |
Redis 实例的主机名 | 否,默认为 localhost |
REDIS_PORT |
Redis 实例的端口号 | 否,默认为 6379 |
REDIS_KEY_LIFETIME |
键过期的时间(秒数) | 否,默认为 300 |
MAX_REQUESTS_PER_MINUTE |
每分钟对任何远程服务请求的最大数量 | 否,默认为 100 |
容器
Droombot 可以作为一个容器运行。有关使用 Docker 或 Podman 的说明,请参阅 容器文档。
未来计划
- 提供更多选项,例如多个图像和模型选择。
- 能够直接运行 Stable Diffusion,并使用单独的工作类
- 提示翻译,允许用户使用他们自己的语言的提示
项目详情
下载文件
下载您平台的文件。如果您不确定选择哪个,请了解更多关于 安装包 的信息。
源代码分发
构建分发
droombot-0.2.0.tar.gz 的散列
算法 | 散列摘要 | |
---|---|---|
SHA256 | 71fb557fe92ae66cc41d3006cdfaaf7016be043985c425a6f284c8e60258e46a |
|
MD5 | 79cd955e158ee045126148aff465946b |
|
BLAKE2b-256 | 7b5844719d3c488a73ddb07aa670a17501478cdeac99819a471d6578eb42430b |
droombot-0.2.0-py3-none-any.whl 的散列
算法 | 散列摘要 | |
---|---|---|
SHA256 | 4144b72184ce6fd984094060209e3431d5362cd2219792392ca7b1fc71e08bae |
|
MD5 | 707edd0e96b0aee0df26e3c77437c7f6 |
|
BLAKE2b-256 | e8f811a34d70ee95cd1638bb05cf7f693d3588c61e4b2d4f01fc5b2aee319aac |