Skip to content

ConnectAI-E/Feishu-Stablediffusion

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

古人云:道生一,一生二,二生StableDiffuion,StableDiffusion生万物 image

📷 点击展开完整功能截图

Txt2Img:文生图

image image

Img2Txt:图生文

image

Img2Img:图生图

image


🎭 由stablediffusion赋能的飞书图片生成类机器人

🚀 Feishu SD 🚀

功能点

  • txt2img: 通过正反词生成图片,支持中英双语
  • img2img: 支持以图生图
  • img2txt: 支持 clip 模型识别图片内容
  • 显示StableDiffusion服务器的相关信息
  • 可以选择 model
  • 可以设置生成图片的 size、step 与 seed 等参数
  • 显示图片生成信息
  • ControlNet

部署 Stable Diffusion WebUI

项目使用Stable Diffusion WebUI作为后端(带 --api参数启动),飞书作为前端,通过机器人,不再需要打开网页,在飞书里就可以使用StableDiffusion进行各种创作!

📷 点击查看详细步骤

更新 python 版本

使用 pyenv 安装 Python 3.10.6

按以下命令依次执行

git clone https://github.com/pyenv/pyenv.git ~/.pyenv
cd ~/.pyenv && src/configure && make -C src
echo 'export PYENV_ROOT="$HOME/.pyenv"' >> ~/.bashrc
echo 'command -v pyenv >/dev/null || export PATH="$PYENV_ROOT/bin:$PATH"' >> ~/.bashrc
echo 'eval "$(pyenv init -)"' >> ~/.bashrc
echo 'export PYENV_ROOT="$HOME/.pyenv"' >> ~/.profile
echo 'command -v pyenv >/dev/null || export PATH="$PYENV_ROOT/bin:$PATH"' >> ~/.profile
echo 'eval "$(pyenv init -)"' >> ~/.profile
echo 'export PYENV_ROOT="$HOME/.pyenv"' >> ~/.bash_profile
echo 'command -v pyenv >/dev/null || export PATH="$PYENV_ROOT/bin:$PATH"' >> ~/.bash_profile
echo 'eval "$(pyenv init -)"' >> ~/.bash_profile
sudo apt install wget lzma liblzma-dev build-essential libncursesw5-dev libssl-dev libsqlite3-dev tk-dev libgdbm-dev libc6-dev libbz2-dev libffi-dev zlib1g-dev 
pyenv install 3.10.6
pyenv global 3.10.6

切换国内 Linux 安装镜像

sudo cp /etc/apt/sources.list /etc/apt/sources.list.bak
sudo vim/etc/apt/sources.list

# 修改为下列源内容
deb http://mirrors.aliyun.com/ubuntu/ focal main restricted universe multiverse 
deb http://mirrors.aliyun.com/ubuntu/ focal-security main restricted universe multiverse 
deb http://mirrors.aliyun.com/ubuntu/ focal-updates main restricted universe multiverse 
deb http://mirrors.aliyun.com/ubuntu/ focal-proposed main restricted universe multiverse 
deb http://mirrors.aliyun.com/ubuntu/ focal-backports main restricted universe multiverse 
deb-src http://mirrors.aliyun.com/ubuntu/ focal main restricted universe multiverse 
deb-src http://mirrors.aliyun.com/ubuntu/ focal-security main restricted universe multiverse 
deb-src http://mirrors.aliyun.com/ubuntu/ focal-updates main restricted universe multiverse 
deb-src http://mirrors.aliyun.com/ubuntu/ focal-proposed main restricted universe multiverse 
deb-src http://mirrors.aliyun.com/ubuntu/ focal-backports main restricted universe multiverse
# 源结束结束


sudo apt-get update
sudo apt-get upgrade

安装 Nvidia 驱动

sudo apt update
sudo apt upgrade
sudo apt install nvidia-driver-530 nvidia-dkms-530
sudo reboot

等待重启,重新登录服务器,测试安装驱动成功

nvidia-smi

安装stable-diffusion-webui 并启动服务

git clone https://github.com/AUTOMATIC1111/stable-diffusion-webui.git ~/stable-diffusion-webui
cd ~/stable-diffusion-webui && bash webui.sh --api --listen
## 等待安装完成,运行成功后,Ctrl+C停止进程,然后运行下面命令后台运行 stable-diffusion-webui
cd ~/stable-diffusion-webui && nohup bash webui.sh --api --listen &

部署飞书机器人

  1. config-example.yml复制为config.yml
  2. 编辑config.yml,添加机器人以及 StableDiffusionWebUI 的服务器信息;
  3. (可选)创建 Python 虚拟环境 python3 -m venv .venv && source .venv/bin/activate
  4. 安装依赖库 pip install -r requirements.txt,然后运行 python3 src/main.py
  5. 其他飞书配置步骤,参考 飞书-OpenAI 部署指南

操作方式

  • 以/开头的为操作命令
    • eg: /model
  • 只发文字消息为 txt2img,消息内容作为 prompt 和参数,通过#号分开正反词
    • eg: 1girl # lowres,bad anatomy,bad hands
  • 发图片带文字为 img2img,图片为基图,文字为 prompt 和参数
  • 只发图片为 img2txt,返回图片识别的内容

操作命令

  • 不带参数的:
命令 功能
/help 显示帮助
/list_models 显示可用的模型
/list_sampler 显示可用的采样器
/list_upscalers 显示可用的放大器
/host_info 显示最大内存,可用内存,最大显存,可用显存
/quene 查询当前生成队列里的任务情况
/model 显示当前模型
  • 带参数的:
命令 参数 功能
/model str 设置 StableDiffuion 模型

设置关键词:

  • 使用关键词的格式--key [value]
    • eg: --sampler [DPM++ 2S a Karras] --steps [30] --height [768] (bool 类型的不用带参数,写了就是 True)
参数 类型 功能 默认值
--sampler str 设置采样器 "Euler a"
--steps int 设置采样步数 20
--width int 设置宽度 512
--height int 设置高度 512
--batch_size int 设置批次大小 1
--batch_count int 设置批次数量 1
--seed int 设置种子 -1
--cfg_scale float 设置提示词的控制度 7.0
--restore_faces bool 设置是否修复面容 False
--enable_hr bool 设置是否高清修复 False
--hr_upscaler str 设置放大器 Latent
--hr_scale flat 设置放大倍率 2
--denoising_strength float 设置重绘强度 0.7
--resize_mode int 设置缩放模式 0

探索企联AI

AI
SDK Application
🎒OpenAI Go-OpenAI 🏅Feishu-OpenAI, 🎖Lark-OpenAI, Feishu-EX-ChatGPT, 🎖Feishu-OpenAI-Stream-Chatbot, Feishu-TLDR,Feishu-OpenAI-Amazing, Feishu-Oral-Friend, Feishu-OpenAI-Base-Helper, Feishu-Vector-Knowledge-Management, Feishu-OpenAI-PDF-Helper, 🏅Dingtalk-OpenAI, Wework-OpenAI, WeWork-OpenAI-Node, llmplugin
🤖 AutoGPT ------ 🏅AutoGPT-Next-Web
🎭 Stablediffusion ------ 🎖Feishu-Stablediffusion
🍎 Midjourney Go-Midjourney 🏅Feishu-Midjourney, 🔥MidJourney-Web, Dingtalk-Midjourney
🍍 文心一言 Go-Wenxin Feishu-Wenxin, Dingtalk-Wenxin, Wework-Wenxin
💸 Minimax Go-Minimax Feishu-Minimax, Dingtalk-Minimax, Wework-Minimax
⛳️ CLAUDE Go-Claude Feishu-Claude, DingTalk-Claude, Wework-Claude
🥁 PaLM Go-PaLM Feishu-PaLM,DingTalk-PaLM,Wework-PaLM
🎡 Prompt ------ 📖 Prompt-Engineering-Tutior
🍋 ChatGLM ------ Feishu-ChatGLM
⛓ LangChain ------ 📖 LangChain-Tutior
🪄 One-click ------ 🎖Awesome-One-Click-Deployment