Repository navigation
Conversation
A library can now ship a probe as <name>/<model>/probe/ with probe_head.safetensors and probe_config.json (labels, layer), so --adapters <library> composes it without a manifest. The slot is named <name>_probe, so it can sit next to a LoRA of the same name. The compose report skips LoRA analysis when every slot is a probe, which used to crash. Signed-off-by: IRENEKO <cyko@ibm.com>
Codecov Report✅ All modified and coverable lines are covered by tests. 📢 Thoughts on this report? Let us know! |
|
Thanks Irene! I went over the PR, and it looks good One small gap, in case you'd like to cover it: from a Hub library, when one adapter name has both a LoRA folder ( Why only from the Hub
Where in the code
So for Since probes and adapters should normally have different names and be trained on different data, I don't see this as blocking. If you want to close it: at line 365, keep |
From a Hub library only the preferred LoRA folder of a name was downloaded, so a probe/ under the same name was silently dropped. _resolve_technology now also returns probe, and each technology gets its own download pattern. Signed-off-by: IRENEKO <cyko@ibm.com>
|
Thanks @AlonMalach ! I pushed a new commit and revised at the two places you pointed to.
I added |
Probe slots could only be composed from a YAML manifest. A library can now ship a
probe the same way it ships a LoRA, so
--adapters <library>picks it up:The slot is named
<name>_probe, so a probe can sit next to a LoRA of the samename (in one library, or across two libraries composed together).
layerisoptional; omitted means the final post-norm state, as in the manifest.
Changes:
discover_adaptersacceptsprobeas a technology and requires the probe filesinstead of
adapter_model.safetensors/adapter_config.json. Probes are left outof the module-contribution report, which reads
adapter_config.json.labelsandlayerfrom each discovered probe'sprobe_config.jsoninto the same
probe_metathe manifest path fills.compose used to crash there (
KeyError: 'adapter_names').Hub libraries need no download change: a
probe/folder falls under the existing<name>/<model>/**fallback pattern.Testing
tests/composer/test_adapter_filtering.py: a LoRA and a probe under one name areboth discovered, as
ansandans_probe.tests/composer/test_selective_download.py: a Hub probe folder is in the downloadpatterns.
tests/composer/test_probe_compose.py: two CLI end-to-end composes. One is aprobe-only library (granite-4.0-micro). The other is
answerability/.../lora/plusanswerability/.../probe/(granite-4.1-3b), which gives slotsanswerabilityandanswerability_probe.test_probe_compose.py14/14,test_compose_e2e.py9/9.