跳转到主要内容

一个基于文本提示生成图片的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由两个组件组成

  1. server,这个处理与用户的交互。即,它处理传入的提示和回复。它提供了与Discord机器人用户交互的服务。
  2. 一个或多个worker。这些处理实际的图片生成。

Redis用作serverworker(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 的说明,请参阅 容器文档

未来计划

  1. 提供更多选项,例如多个图像和模型选择。
  2. 能够直接运行 Stable Diffusion,并使用单独的工作类
  3. 提示翻译,允许用户使用他们自己的语言的提示

项目详情


下载文件

下载您平台的文件。如果您不确定选择哪个,请了解更多关于 安装包 的信息。

源代码分发

droombot-0.2.0.tar.gz (13.8 kB 查看散列)

上传时间 源代码

构建分发

droombot-0.2.0-py3-none-any.whl (18.7 kB 查看散列)

上传时间 Python 3

由以下支持

AWS AWS 云计算和安全赞助商 Datadog Datadog 监控 Fastly Fastly CDN Google Google 下载分析 Microsoft Microsoft PSF 赞助商 Pingdom Pingdom 监控 Sentry Sentry 错误日志 StatusPage StatusPage 状态页面