psychedelicious
44c40d7d1a
refactor(mm): remove unused metadata logic, fix tests
...
- Metadata is merged with the config. We can simplify the MM substantially and remove the handling for metadata.
- Per discussion, we don't have an ETA for frontend implementation of tags, and with the realization that the tags from CivitAI are largely useless, there's no reason to keep tags in the MM right now. When we are ready to implement tags on the frontend, we can refer back to the implementation here and use it if it supports the design.
- Fix all tests.
2024-03-05 23:50:19 +11:00
psychedelicious
c3aa985c93
refactor(mm): get metadata working
2024-03-05 23:50:19 +11:00
psychedelicious
7cb0da1f66
refactor(mm): wip schema changes
2024-03-05 23:50:19 +11:00
psychedelicious
f13f5984c0
fix(mm): update db schema & migration
2024-03-05 23:50:19 +11:00
psychedelicious
9378e47a06
feat(mm): add source_type
to model configs
2024-03-05 23:50:19 +11:00
psychedelicious
2c835fd550
refactor(mm): WIP db schema
2024-03-05 23:50:19 +11:00
psychedelicious
a8cd3dfc99
refactor(mm): add models
table (schema WIP), rename "original_hash" -> "hash"
2024-03-05 23:50:19 +11:00
psychedelicious
9b40c28144
tidy(mm): rename ckpy "config" -> "config_path"
2024-03-05 23:50:19 +11:00
psychedelicious
76cbc745e1
refactor(mm): add CheckpointConfigBase
for all ckpt models
2024-03-05 23:50:19 +11:00
psychedelicious
b880a31039
refactor(mm): remove ztsnr_training
field on _MainConfig
...
This is used to determine the CFG Rescale Multiplier setting. We'll handle this in the UI as a default setting.
2024-03-05 23:50:19 +11:00
Mary Hipp Rogers
8b34f5298c
Default model settings ( #5850 )
...
* UI in MM to create trigger phrases
* add scheduler and vaePrecision to config
* UI for configuring default settings for models'
* hook MM default model settings up to API
* add button to set default settings in parameters
* pull out trigger phrases
* back-end for default settings
* lint
* remove log;
gi
* ruff
* ruff format
---------
Co-authored-by: Mary Hipp <maryhipp@Marys-MacBook-Air.local>
2024-03-04 09:39:03 -05:00
Brandon Rising
893bcd16fc
Next: Allow in place local installs of models
2024-03-04 23:11:41 +11:00
Ryan Dick
f6028a4c61
Log a stack trace for invocation errors.
2024-03-04 23:01:56 +11:00
psychedelicious
ae99428883
fix(mm): use UUIDv4 for key
...
This changes the functionality of this PR to only use the updated hashing for model hashes with a UUID for the key.
2024-03-03 14:32:14 +11:00
psychedelicious
86982f3059
feat(mm): make ModelHash instantiatable, taking an algorithm as arg
2024-03-03 14:32:14 +11:00
psychedelicious
982076d7d7
feat(mm): add hashing algos to ModelHash
...
- Some algos are slow, so it is now just called ModelHash
- Added all hashlib algos, plus BLAKE3 and the fast (but incorrect) SHA1 algo
2024-03-03 14:32:14 +11:00
Lincoln Stein
a72056e0df
make model key assignment deterministic
...
- When installing, model keys are now calculated from the model contents.
- .safetensors, .ckpt and other single file models are hashed with sha1
- The contents of diffusers directories are hashed using imohash (faster)
fixup yaml->sql db migration script to assign deterministic key
- this commit also detects and assigns the correct image encoder for
ip adapter models.
2024-03-03 14:32:14 +11:00
Lincoln Stein
0832e1818e
Fix problem of all installed models being assigned "<NOKEY>"
...
- Also fix redundant scanning of models directory at startup.
2024-02-29 22:31:05 -05:00
Lincoln Stein
813a086cfe
fix race condition between downloading last file and starting install
2024-03-01 10:42:33 +11:00
Lincoln Stein
e18533e3b5
add debugging statements and a timeout to download test
2024-03-01 10:42:33 +11:00
psychedelicious
dd9daf8efb
chore: ruff
2024-03-01 10:42:33 +11:00
psychedelicious
753919c6d7
docs(nodes): update all docstrings for public nodes API
2024-03-01 10:42:33 +11:00
psychedelicious
0b0128647b
feat(nodes): revise model load API args
2024-03-01 10:42:33 +11:00
psychedelicious
12e859835b
feat(mm): add log stmt for download complete event
2024-03-01 10:42:33 +11:00
psychedelicious
ea7b7bcf40
chore: ruff
2024-03-01 10:42:33 +11:00
psychedelicious
e22c4987bf
chore: ruff
2024-03-01 10:42:33 +11:00
maryhipp
26a209a00d
add error_reason to ModelInstallJob
2024-03-01 10:42:33 +11:00
Jennifer Player
ea364bdf82
delete model imports and prune all finished, update state with socket messages
2024-03-01 10:42:33 +11:00
Brandon Rising
c778ab8db4
Allow passing in key on register
2024-03-01 10:42:33 +11:00
Brandon Rising
65b91356d0
Remove passing keys in on register
2024-03-01 10:42:33 +11:00
Brandon Rising
de9287a3e4
Run ruff
2024-03-01 10:42:33 +11:00
Brandon Rising
008716040b
Allow users to run model manager without cuda
2024-03-01 10:42:33 +11:00
Lincoln Stein
cc41e8912c
several small model install enhancements
...
- Support extended HF repoid syntax in TUI. This allows
installation of subfolders and safetensors files, as in
`XpucT/Deliberate::Deliberate_v5.safetensors`
- Add `error` and `error_traceback` properties to the install
job objects.
- Rename the `heuristic_import` route to `heuristic_install`.
- Fix the example `config` input in the `heuristic_install` route.
2024-03-01 10:42:33 +11:00
Lincoln Stein
65dd4f4abc
fix repo-id for the Deliberate v5 model
...
prevent lora and embedding file suffixes from being stripped during installation
apply psychedelicious patch to get compel to load proper TI embedding
2024-03-01 10:42:33 +11:00
Lincoln Stein
5bb3aeaccd
remove startup dependency on legacy models.yaml file
2024-03-01 10:42:33 +11:00
psychedelicious
a37b60db13
feat(bulk_download): update response model, messages
2024-03-01 10:42:33 +11:00
psychedelicious
cbb997e7d0
tidy(bulk_download): don't store events service separately
...
Using the invoker object directly leaves no ambiguity as to what `_events_bus` actually is.
2024-03-01 10:42:33 +11:00
psychedelicious
98441ad08d
tidy(bulk_download): do not rely on pagination API to get all images for board
...
We can get all images for the board as a list of image names, then pass that to `_image_handler` to get the DTOs, decoupling from the pagination API.
2024-03-01 10:42:33 +11:00
psychedelicious
80c67dd6e0
tidy(bulk_download): nit - use or
as a coalescing operator
...
Just a bit cleaner.
2024-03-01 10:42:33 +11:00
psychedelicious
38af234108
tidy(bulk_download): use single underscore for private attrs
...
Double underscores are used in the app but it doesn't actually do or convey anything that single underscores don't already do. Considered unpythonic except for actual dunder/magic methods.
2024-03-01 10:42:33 +11:00
psychedelicious
2291122c2b
tidy(bulk_download): remove class-level attr annotations
...
These can be misleading as they shadow actual assigned class attributes. This pattern is in the rest of the app but it shouldn't be.
2024-03-01 10:42:33 +11:00
psychedelicious
bf3b10cb1c
tidy(bulk_download): remove extraneous abstract methods
...
`start`, `stop` and `__init__` are not required in implementations of an ABC or service.
2024-03-01 10:42:33 +11:00
psychedelicious
7f8f182a00
tidy(bulk_download): clean up comments
2024-03-01 10:42:33 +11:00
Stefan Tobler
e51867756a
adding bulk_download_item_name to socket events
2024-03-01 10:42:33 +11:00
Stefan Tobler
a8d7cf4e97
refactoring handlers to do null check
2024-03-01 10:42:33 +11:00
Stefan Tobler
037cac8154
removing dependency on an output folder, embrace python temp folder for bulk download
2024-03-01 10:42:33 +11:00
Stefan Tobler
b5a9ed351d
moving the responsibility of cleaning up board names to the service not the route
2024-03-01 10:42:33 +11:00
Stefan Tobler
f15aa562c2
using temp directory for downloads
2024-03-01 10:42:33 +11:00
Stefan Tobler
d0f3571e59
returning the bulk_download_item_name on response for possible polling
2024-03-01 10:42:33 +11:00
Stefan Tobler
b5ca1643a6
narrowing bulk_download stop service scope
2024-03-01 10:42:33 +11:00