Open Hatsu-m opened 1 year ago
This is just a python discord bot that interfaces with AUTOMATIC1111's Stable Diffusion AI Web UI; it doesn't actually do any of the AI stuff. I think you can change the model by changing the model.ckpt file in their project, but I haven't done that before.
If you do manage to change the model in the AUTOMATIC1111 project, this bot should work perfectly fine with the new model. As long as the AUTOMATIC1111 project works, this bot should work 🤞
It's possible to change the model externally. My own bot implementation that I'm running has a (highly volatile) way to do it; it's mostly sending a payload to api/predict.
I haven't had time for a proper implementation, but this is what I have so far as proof of concept. Line 260 on this file.
postSD
is defined at line 180 in that file.
The payload is a 1 line json file https://github.com/Kilvoctu/aiyabot/blob/experimental/resources/json/wd_payload.json The main thing to do is keeping the fn_index up to date dynamically The models could be manually set up, or they could be also populated dynamically.
This was really helpful! I used your suggestion to add a way to find the model-change function id dynamically in my PayloadFormatter class like I've done with the other functions. It looks like it's working on my end, so give it a shot and see if it works for you. To test it use:
!dale model="model name"
Dale will return a list of model names for you to copy from if you input an incorrect model name. The model names are what exist in the models/Stable-diffusion folder of the WebUI project at the time of startup of the WebUI AI. Restart the WebUI AI and then dalebot if dale doesn't return your model
sweet, thanks ging :D
This was really helpful! I used your suggestion to add a way to find the model-change function id dynamically in my PayloadFormatter class like I've done with the other functions. It looks like it's working on my end, so give it a shot and see if it works for you. To test it use:
!dale model="model name"
Dale will return a list of model names for you to copy from if you input an incorrect model name. The model names are what exist in the models/Stable-diffusion folder of the WebUI project at the time of startup of the WebUI AI. Restart the WebUI AI and then dalebot if dale doesn't return your model
the model names arent working
Model name "Mixed20.ckpt" not found. Please make sure model name matches one of: 51.ckpt [e02601f3], 768-v-ema.ckpt [2c02b20a], Anything-V3.0.ckpt [1a7df6b8], artstation-diffusion.ckpt [9622596d], CSR.ckpt [b77538cc], f111.ckpt [7eac8788], leaky.ckpt [925997e9], Mixed15.ckpt [10c92556], Mixed20.ckpt [318230b8], sd14.ckpt [7460a6fa]
Gives me this even though the model name is correct
Sounds like you need both name and hash: "Mixed20.ckpt [318230b8]"
I tried that :(
i tried Mixed20.ckpt [318230b8], Mixed20.ckpt[318230b8], Mixed20.ckpt_[318230b8], Mixed20.ckpt, [318230b8]
You need the quotation marks, so it does have to be "Mixed20.ckpt [318230b8]"
So full command would be !dale model="Mixed20.ckpt [318230b8]"
just found that out lmao thanks
seems num= isnt working its just num=4 for example
Can you post an example of a command that isn't working? When I run !dale test num=3"
, I get a grid of 3 images back as expected
Sounds like you need both name and hash: "Mixed20.ckpt [318230b8]"
You need the quotation marks, so it does have to be
"Mixed20.ckpt [318230b8]"
So full command would be!dale model="Mixed20.ckpt [318230b8]"
I just pushed an update that removes the requirement to include the hash of the model. Now you can just put the model name like !dale model="Mixed20.ckpt"
.
In order to use this, you'll need to update your Stable Diffusion Web-UI. You'll also need to paste a link to the local repo of your SD in your .env file due to how the newest version handles images. Your .env file should look like this:
Hmm that's weird, it works for me.
Can you post your post_obj.json found in the log folder of the dalebot project?
output-onlinejsontools.txt { "fn_index": 101, "data": [ "cancer, queen of cannabis, 1girl, marijuana farm, medium breasts, sapdeq ", "nsfw, lowres, bad anatomy, bad hands, text, error, missing fingers, extra digit, fewer digits, cropped, worst quality, low quality, normal quality, jpeg artifacts, signature, watermark, username, blurry", "None", "None", 35, "Euler a", false, false, 1, 1, 12, -1.0, -1.0, 0.0, 0, 0, false, 768, 512, false, 0.7, 0, 0, "None", "None", "Vertical Mirroring", 0.25, "<div class=\"dynamic-prompting\">\n
Seems ill have to run a clean install of Autos?
This is the file that's in dalebot/log/post_obj.json? It should be formatted like:
{
"fn_index": 50,
"data": [
"1girl, brigitte (overwatch), powered armor ",
"nsfw, lowres, bad anatomy, bad hands, text , error, missing fingers, extra digit, fewer digits, cropped, worst quality, low quality, normal quality, jpeg artifacts, signature, watermark, username, blurry",
"None",
"None",
35,
"Euler a",
false,
false,
3,
1,
12,
-1.0,
-1.0,
0.0,
0,
0,
false,
768,
512,
false,
0.7,
0,
0,
"None",
false,
false,
false,
"",
"Seed",
"",
"Nothing",
"",
true,
false,
false,
[],
"",
""
],
"session_hash": "cucp21gbbx8"
}
Have you pulled the latest from Auto's and mine?
yea i have both updated also getting this error now
even on fresh installs its giving me the typerror message
Can you post the prompt you used and this file: dalebot/log/post_obj.json
!dale penguin girl, snow tundra, fluffy sapdeq res=512x768 samples=35 conform=12 {nsfw, lowres, bad anatomy, bad hands, text, error, missing fingers, extra digit, fewer digits, cropped, worst quality, low quality, normal quality, jpeg artifacts, signature, watermark, username, blurry}
oh nevermind I got it working, lol fixed the env
seems the num= command is still broken
Hmm I'm not sure why that is. It works on my end and it looks like we're using the same inputs
just wondering