Brandon Rising
c74c1927ec
Gracefully error without deleting invokeai.yaml
2024-03-11 15:53:00 -04:00
Brandon Rising
c454ccc65c
Run ruff
2024-03-11 15:53:00 -04:00
Brandon Rising
46fd3465ce
Skip list logic if the list only contains primitives
2024-03-11 15:53:00 -04:00
Brandon Rising
97afa6e2a6
Allow lists of basemodel objects in omegaconf
2024-03-11 15:53:00 -04:00
psychedelicious
8c2ff794d5
fix(nodes): ip adapter uses valid ModelIdentifierField
for image encoder model
...
- Add class method to `ModelIdentifierField` to construct the field from a model config
- Use this to construct a valid IP adapter model field
2024-03-10 17:28:58 -05:00
Ryan Dick
145bb45858
Remove dead code related to an old symmetry feature.
2024-03-10 00:13:18 -06:00
psychedelicious
9376b13435
fix(mm): models lose file extension when syncing
...
We were stripping the file extension from file models when moving them in `_sync_model_path`. For example, `some_model.safetensors` would be moved to `some_model`, which of course breaks things.
Instead of using the model's name as the new path, use the model's path's last segment. This is the same behaviour for directories, but for files, it retains the file extension.
2024-03-10 13:36:09 +11:00
psychedelicious
eec82afd89
fix(mm): fix models.yaml
backup filename
...
Was erroneously `models.bak`, now `models.yaml.bak`
2024-03-10 13:36:09 +11:00
psychedelicious
c47dbf7258
docs(mm): format docstrings for ModelSearch
2024-03-10 12:09:47 +11:00
psychedelicious
92b2e8186a
tidy(mm): simplify types for ModelSearch
...
- Use `set` instead of `Set`
- Methods accept only `Path`s
2024-03-10 12:09:47 +11:00
psychedelicious
70a88c6b99
docs(mm): update docstrings for ModelSearch
2024-03-10 12:09:47 +11:00
psychedelicious
56e7c04475
tidy(mm): remove extraneous dependencies in model search
...
- `config` is unused
- `stats` is created on instantiation
- `logger` uses the app logger
2024-03-10 12:09:47 +11:00
psychedelicious
bd5b43c00d
tidy(mm): ModelSearch cleanup
...
- No need for it to by a pydantic model. Just a class now.
- Remove ABC, it made it hard to understand what was going on as attributes were spread across the ABC and implementation. Also, there is no other implementation.
- Add tests
2024-03-10 12:09:47 +11:00
dunkeroni
631e789195
fix(canvas): create masked latents when None
2024-03-10 11:58:41 +11:00
psychedelicious
133c90e116
fix(ui): update all components and logic to use enriched ModelIdentifierField
2024-03-10 11:03:38 +11:00
psychedelicious
4433b78e59
chore(ui): typegen
2024-03-10 11:03:38 +11:00
psychedelicious
daeb766468
feat(api): add ModelIdentifierField to openapi schema
...
- Also add `ProgressImage`
2024-03-10 11:03:38 +11:00
psychedelicious
92b0d13d0e
feat(nodes): "ModelField" -> "ModelIdentifierField", add hash/name/base/type
2024-03-10 11:03:38 +11:00
psychedelicious
5b51ebf1c4
docs: regenerate config docstrings
2024-03-10 10:38:52 +11:00
psychedelicious
59228643a9
docs: skip_model_hash
-> model install category, use_memory_db
-> development category
2024-03-10 10:38:52 +11:00
psychedelicious
b24657df11
docs: roll back adding examples to config docstrings
...
This isn't a valid docstring syntax and breaks the autogeneration
2024-03-10 10:38:52 +11:00
psychedelicious
d4686b7f64
fix(mm): yaml migration fixup
...
- If the metadata yaml has an invalid version, exist the app. If we don't, the app will crawl the models dir and add models to the db without having first parsed `models.yaml`. This should not happen often, as the vast majority of users are on v3.0.0 models.yaml files.
- Fix off-by-one error with models count (need to pop the `__metadata__` stanza
- After a successful migration, rename `models.yaml` to `models.yaml.bak` to prevent the migration logic from re-running on subsequent app startups.
2024-03-09 08:37:45 -06:00
psychedelicious
67163c2224
fix(mm): only move model files if necessary
...
The old logic to check if a model needed to be moved relied on the model path being a relative path. Paths are now absolute, causing this check to fail. We then assumed the paths were different and moved the model from its current location to, well, its current location.
Use more resilient method to check if a model should be moved.
2024-03-09 22:58:26 +11:00
Brandon Rising
f01e81d382
Run ruff
2024-03-08 18:46:17 -05:00
maryhipp
a50e0a4802
use correct key name from yaml
2024-03-08 18:46:17 -05:00
maryhipp
df0a5aa92a
pass config_path to migration path, make sure it uses absolute path
2024-03-08 18:46:17 -05:00
Brandon Rising
0bd9a0a9ea
Add ability to provide config examples in docs
2024-03-08 16:31:39 -05:00
Brandon Rising
4ae2cd242e
Update to include remote_api_tokens in the config docs
2024-03-08 16:31:39 -05:00
psychedelicious
deb1d4eb14
docs: run script to update config class's docstring
2024-03-08 16:31:39 -05:00
psychedelicious
eba1fc1355
docs: autogenerated app config docs
...
mkdocs can autogenerate python class docs from its docstrings. Our config is a pydantic model.
It's tedious and error-prone to duplicate docstrings from the pydantic field descriptions to the class docstrings.
- Add helper function to generate a mkdocs-compatible docstring from the InvokeAIAppConfig class fields
2024-03-08 16:31:39 -05:00
psychedelicious
96702c395e
feat(config): add deprecated category for config settings
...
It's not clear why these are still in the config class.
2024-03-08 16:31:39 -05:00
psychedelicious
3361aec065
docs(nodes): update config field descriptions
2024-03-08 16:31:39 -05:00
Brandon Rising
8ba4b2a150
Run ruff
2024-03-08 15:36:14 -05:00
Brandon Rising
df12e12e09
Run ruff
2024-03-08 15:36:14 -05:00
Brandon Rising
ee38fbe89c
Remove check for models dir in model deletion, update tests to always assume the model path is an absolute path
2024-03-08 15:36:14 -05:00
Brandon Rising
6e2cef1db5
Remove instances making models relative to the model dir
2024-03-08 15:36:14 -05:00
Brandon Rising
b1f5ac4548
fix path
2024-03-08 15:36:14 -05:00
Brandon Rising
e52274ecac
Experiment with using absolute paths within model management
2024-03-08 15:36:14 -05:00
maryhipp
66f0ff5b13
add ordering to search_by_attr that is used for model lists
2024-03-08 13:38:38 -06:00
Mary Hipp
cab5b64f0b
only render convert button if ckpt model
2024-03-08 13:19:08 -06:00
blessedcoolant
a42812d78d
ui(model_manager): Remember Scan Path
2024-03-08 14:05:57 -05:00
maryhipp
281222df3c
remove old data migration from previous schema version
2024-03-08 13:10:27 -05:00
maryhipp
d5674150fa
ruff
2024-03-08 13:02:04 -05:00
maryhipp
0cb2cf6644
wrap version check in try/except
2024-03-08 13:02:04 -05:00
maryhipp
da87266c9c
remove log
2024-03-08 13:02:04 -05:00
maryhipp
35731a6f51
fix null description, add logging
2024-03-08 13:02:04 -05:00
Brandon Rising
a3dfa161a8
Run ruff
2024-03-08 13:02:04 -05:00
Brandon Rising
42d606f07c
use register instead of heuristic import, get rid of typing warnings
2024-03-08 13:02:04 -05:00
maryhipp
9063b1ae61
on model manager start, look to see if yaml needs to be migrated and do it if so
2024-03-08 13:02:04 -05:00
Brandon Rising
6aae88bd88
Rerun typegen
2024-03-08 12:44:58 -05:00
psychedelicious
57c1954da7
feat(ui): use control adapter processor helper in metadata parser
2024-03-08 12:44:58 -05:00
psychedelicious
a10dccdd43
fix(mm): fix bug in control adapter probe default settings
...
Wasn't checking for matches correctly.
2024-03-08 12:44:58 -05:00
psychedelicious
a3570901f7
fix(ui): do not show default settings for refiner models
2024-03-08 12:44:58 -05:00
psychedelicious
fd457955bc
feat(ui): update default settings for control adapters
...
- Split out main model defaults
- Add controlnet/t2i defaults (which includes only the preprocessor)
2024-03-08 12:44:58 -05:00
psychedelicious
1f69613f5d
chore(ui): typegen
2024-03-08 12:44:58 -05:00
psychedelicious
7a87ebb3b2
fix(mm): add control adapter default settings to ModelRecordChanges schema
...
This is needed to update Control Adapter defaults.
2024-03-08 12:44:58 -05:00
psychedelicious
4ee4a801c6
feat(ui): update default settings for main models
...
Needed some massaging now that only main models get main model default settings.
2024-03-08 12:44:58 -05:00
psychedelicious
53b7f6be37
feat(ui): use default settings for control adapters for processor
2024-03-08 12:44:58 -05:00
psychedelicious
dbd7c94e7c
chore(ui): typegen
2024-03-08 12:44:58 -05:00
psychedelicious
50bb9a6b41
fix(mm): remove default settings from IP adapter config
2024-03-08 12:44:58 -05:00
psychedelicious
13bb3c5e15
feat(mm): add control adapter default settings while probing
2024-03-08 12:44:58 -05:00
psychedelicious
80c2a4b925
feat(mm): add AnyDefaultSettings union
2024-03-08 12:44:58 -05:00
psychedelicious
8ce485b036
feat(mm): add default settings for control adapters
...
Only includes `preprocessor` at this time.
2024-03-08 12:44:58 -05:00
psychedelicious
6fc3e86061
tidy(mm): only main models get the main default settings
2024-03-08 12:44:58 -05:00
Brandon Rising
33ded359e6
Run typegen
2024-03-08 11:10:44 -05:00
psychedelicious
effbd8a1ba
chore: ruff
2024-03-08 11:10:44 -05:00
psychedelicious
ddde355b09
fix(mm): add ui_type to model fields
...
Recently the schema for models was changed to a generic `ModelField`, and the UI was unable to derive the type of those fields. This didn't affect functionality, but it did break the styling of handles.
Add `ui_type` to the affected fields and update the UI to use the correct capitalizations.
2024-03-08 11:10:44 -05:00
psychedelicious
fe2c6f621a
fix(ui): do not allow model add when no location is provided
2024-03-08 14:41:03 +11:00
psychedelicious
d0fcdbe8a3
tweak(ui): simplify layout of inplace install form elements
2024-03-08 14:41:03 +11:00
Mary Hipp
a28547b3dd
make inplace optional, default to true
2024-03-08 14:41:03 +11:00
Mary Hipp
c7b2bdb846
allow inplace installs
2024-03-08 14:41:03 +11:00
psychedelicious
4a20377fef
tidy(config): move version
"setting" to new CLIArgs category
...
It's not actually a setting.
2024-03-08 13:59:59 +11:00
psychedelicious
ed803640f7
tidy(mm): move remote_api_tokens to new ModelInstall
category
2024-03-08 13:59:59 +11:00
psychedelicious
576bb4a61d
feat(mm): support generic API tokens via regex/token pairs in config
...
A list of regex and token pairs is accepted. As a file is downloaded by the model installer, the URL is tested against the provided regex/token pairs. The token for the first matching regex is used during download, added as a bearer token.
2024-03-08 13:59:59 +11:00
Brandon Rising
b6065d6328
Run ruff with newest version of ruff
2024-03-08 13:59:59 +11:00
Brandon Rising
04229f4a21
Run ruff
2024-03-08 13:59:59 +11:00
Brandon Rising
73a190fb6e
Add remote_repo_api_key config to be added as a token query param for all remote url model downloads
2024-03-08 13:59:59 +11:00
Brandon Rising
952d97741e
Remove civit ai from tests and documentation
2024-03-08 13:59:59 +11:00
Brandon Rising
afd08c5f46
Regenerate typegen
2024-03-08 13:59:59 +11:00
Brandon Rising
d1f859a446
Remove civit AI model install resources
2024-03-08 13:59:59 +11:00
psychedelicious
5118160282
docs(mm): update comment about model images
2024-03-08 12:26:35 +11:00
psychedelicious
8e694992bb
chore(ui): lint
2024-03-08 12:26:35 +11:00
psychedelicious
4077dfe0c3
fix(ui): clear pending trigger phrase immediately
...
If we don't clear it, there's an awkward flash of error state as the mutation completes.
2024-03-08 12:26:35 +11:00
psychedelicious
fe8e391aad
fix(ui): display trigger phrases for loras in mm editor
2024-03-08 12:26:35 +11:00
psychedelicious
ac8f606d99
fix(ui): default settings linked incorrectly
2024-03-08 12:26:35 +11:00
psychedelicious
0aa2070ce0
perf(mm): add manual query cache updates for the update model route
...
This greatly reduces the number of network requests when editing models.
2024-03-08 12:26:35 +11:00
psychedelicious
ff66779aa3
tweak(ui): add colors to base/format badges
2024-03-08 12:26:35 +11:00
psychedelicious
2ca65ab9fa
tweak(ui): style trigger phrases
2024-03-08 12:26:35 +11:00
psychedelicious
b34624a2a8
tweak(ui): style model edit
2024-03-08 12:26:35 +11:00
psychedelicious
b8aa9752f1
tweak(ui): update default settings layouts
2024-03-08 12:26:35 +11:00
psychedelicious
1b5d8eb9e7
tweak(ui): use check icon for model save button
2024-03-08 12:26:35 +11:00
psychedelicious
773182f425
fix(ui): reset model edit form state with new values
...
Without this, the form will incorrectly compare its state to its initial default values to determine if it is dirty. Instead, it should reset its default values to the new values after successful submit.
2024-03-08 12:26:35 +11:00
psychedelicious
6386109fc5
feat(ui): move model save/close buttons to model header
2024-03-08 12:26:35 +11:00
psychedelicious
c008704bc8
feat(ui): model header styling
2024-03-08 12:26:35 +11:00
psychedelicious
a3a42d25d3
fix(mm): model images reload when changed
...
When we change a model image, its URL remains the same. The browser will aggressively cache the image. The easiest way to fix this is to append a random query parameter to the URL whenever we build a model config in the API.
2024-03-08 12:26:35 +11:00
psychedelicious
8959d1bf51
fix(ui): do not persist model manager state
2024-03-08 12:26:35 +11:00
psychedelicious
8fd9342712
fix(ui): typing issues related to trigger phrase changes
2024-03-08 12:26:35 +11:00
psychedelicious
f0b815aa9b
fix(ui): missing translation
2024-03-08 12:26:35 +11:00
psychedelicious
3a5b0b819c
chore(ui): typegen
2024-03-08 12:26:35 +11:00
psychedelicious
bbcbcd9b63
fix(mm): only loras and main models get trigger_phrases
2024-03-08 12:26:35 +11:00