Commit Graph

18601 Commits

Author SHA1 Message Date
psychedelicious
3af42c56d2 feat: allow users to edit models freely 2025-10-13 10:30:09 +11:00
psychedelicious
e5935a39e4 tests(mm): fix remaining MM tests 2025-10-13 10:30:09 +11:00
psychedelicious
adc332b9e3 feat(mm): add flag for updating models to allow class changes 2025-10-13 10:30:09 +11:00
psychedelicious
d81a55401a feat(mm): use ValueError for model id sanity checks 2025-10-13 10:30:09 +11:00
psychedelicious
db2a8306c2 fix(mm): omit type/format/base when creating unknown config instance 2025-10-13 10:30:08 +11:00
psychedelicious
a16d0b8301 tests(mm): refactor model identification tests
Overhaul of model identification (probing) tests. Previously we didn't
test the correctness of probing except in a few narrow cases - now we
do.

See tests/model_identification/README.md for a detailed overview of the
new test setup. It includes instructions for adding a new test case. In
brief:

- Download the model you want to add as a test case
- Run a script against it to generate the test model files
- Fill in the expected model type/format/base/etc in the generated test
metadata JSON file

Included test cases:
- All starter models
- A handful of other models that I had installed
- Models present in the previous test cases as smoke tests, now also
tested for correctness
2025-10-13 10:30:08 +11:00
psychedelicious
2206b28576 refactor(mm): continued iteration on model identifcation 2025-10-13 10:30:08 +11:00
psychedelicious
4f20a0db2e feat(mm): do not log when multiple non-unknown model matches 2025-10-13 10:30:08 +11:00
psychedelicious
d258af0a14 feat(mm): add method to get main model defaults from a base 2025-10-13 10:30:08 +11:00
psychedelicious
fc2175ae03 fix(mm): ModelOnDisk skips dirs when looking for weights
Previously a path w/ any of the known weights suffixes would be seen as
a weights file, even if it was a directory. We now check to ensure the
candidate path is actually a file before adding it to the list of
weights.
2025-10-13 10:30:08 +11:00
psychedelicious
d11cb34d22 fix(mm): vae checkpoint probe checking for dir instead of file 2025-10-13 10:30:08 +11:00
psychedelicious
381827fd54 fix(mm): false negative on flux lora 2025-10-13 10:30:08 +11:00
psychedelicious
17c3d15488 feat(db): run migrations 23 and 24 2025-10-13 10:30:08 +11:00
psychedelicious
5a681d51c9 fix(db): migration 23 fall back to unknown model when config change fails 2025-10-13 10:30:08 +11:00
psychedelicious
f57ee304bc fix(db): migration 22 insert only real cols 2025-10-13 10:30:08 +11:00
psychedelicious
55d7d2e396 fix(mm): pop base/type/format when creating unknown model config 2025-10-13 10:30:08 +11:00
psychedelicious
347a33f77c refactor(mm): split big migration into 3
Split the big migration that did all of these things into 3:

- Migration 22: Remove unique contraint on base/name/type in models
table
- Migration 23: Migrate configs to v6.8.0 schemas
- Migration 24: Normalize file storage
2025-10-13 10:30:07 +11:00
psychedelicious
34cb88ef23 fix(mm): duplicate import 2025-10-13 10:30:07 +11:00
psychedelicious
e676b9d075 feat(mm): add model config schema migration logic 2025-10-13 10:30:07 +11:00
psychedelicious
26dc155ad8 feat(mm): fix clip vision starter model bases, add ref to actual models 2025-10-13 10:30:07 +11:00
psychedelicious
b5aa31526f feat(mm): clearer naming for main config class hierarchy 2025-10-13 10:30:07 +11:00
psychedelicious
99d3f16eb4 docs(mm): add reminder for self for field migrations 2025-10-13 10:30:07 +11:00
psychedelicious
01ca74e622 feat(mm): add sanity checks before probing paths 2025-10-13 10:30:07 +11:00
psychedelicious
25619684c0 fix(mm): clip vision identification 2025-10-13 10:30:07 +11:00
psychedelicious
d336aa45f5 feat(mm): more flexible config matching utils 2025-10-13 10:30:07 +11:00
psychedelicious
303acdb4ac fix(mm): sdxl ip adapter identification 2025-10-13 10:30:07 +11:00
psychedelicious
2e5ec1c98b fix(mm): t5 identification 2025-10-13 10:30:07 +11:00
psychedelicious
56e31ca4ac fix(mm): ensure unknown model configs get unknown attrs 2025-10-13 10:30:07 +11:00
psychedelicious
74e4dd4393 docs(mm): remove extraneous comment 2025-10-13 10:30:07 +11:00
psychedelicious
233b286893 feat(mm): satisfy type checker in flux denoise 2025-10-13 10:30:07 +11:00
psychedelicious
07a667ad9f feat(mm): add helper method for legacy configs 2025-10-13 10:30:07 +11:00
psychedelicious
7437a14301 docs(mm): document flux variant attr 2025-10-13 10:30:07 +11:00
psychedelicious
09fef01786 docs(mm): update docsstrings in factory.py 2025-10-13 10:30:07 +11:00
psychedelicious
83fe40e7ee fix(mm): inverted condition 2025-10-13 10:30:07 +11:00
psychedelicious
13b2f9d12b refactor(mm): remove legacy probe, new configs dir structure, update imports 2025-10-13 10:30:07 +11:00
psychedelicious
0214afc3d1 chore(ui): typegen 2025-10-13 10:30:07 +11:00
psychedelicious
e23ac6d813 docs(mm): add comments for identification utils 2025-10-13 10:30:07 +11:00
psychedelicious
9faffe93f9 refactor(mm): split configs into separate files 2025-10-13 10:30:07 +11:00
psychedelicious
edfd90f2a4 tidy(mm): consistent class names 2025-10-13 10:30:06 +11:00
psychedelicious
e48e354bf1 fix(mm): tag generation & scattered probe fixes 2025-10-13 10:30:06 +11:00
psychedelicious
4ded5b5a80 feat(mm): consistent naming for all model config classes 2025-10-13 10:30:06 +11:00
psychedelicious
ee5808355d refactor(mm): diffusers loras
w
2025-10-13 10:30:06 +11:00
psychedelicious
af305250cb refactor(mm): make config classes narrow
Simpler logic to identify, less complexity to add new model, fewer
useless attrs that do not relate to the model arch, etc
2025-10-13 10:30:06 +11:00
psychedelicious
c065655a1d tidy(mm): flux lora format util 2025-10-13 10:30:06 +11:00
psychedelicious
a0a4eb9a5a tidy(mm): clean up ModelOnDisk caching 2025-10-13 10:30:06 +11:00
psychedelicious
c53c731371 tidy(mm): clean up model heuristic utils 2025-10-13 10:30:06 +11:00
psychedelicious
951635fbee feat(mm): wip port main models to new api 2025-10-13 10:30:06 +11:00
psychedelicious
044648fe61 tidy(mm): removed unused model merge class 2025-10-13 10:30:06 +11:00
psychedelicious
111782d6c9 docs(mm): add todos 2025-10-13 10:30:06 +11:00
psychedelicious
f5cbf60fc0 feat(mm): wip port of main models to new api 2025-10-13 10:30:06 +11:00