Open cdoern opened 4 months ago
@leseb
I don't think we should "hide" any options. If we do, how will users discover them?
We have had a few conversations in the past week about the ever increasing complexity of the libraries in instructlab. Its not realistic to expect every option added in the libraries to match 1:1 with cfg options and flags in instructlab, but ilab should also be able to support them all one way or another.
If we are operating under the assumption ilab is the main point of entry into the libraries, it should support all the complex options the libraries have to offer. However, having these all spelled out in the config is pretty bad UX. This would allow us to choose which ones the user would most commonly need to edit while also supporting the more complicated ones, just implicitly.
@leseb
I don't think we should "hide" any options. If we do, how will users discover them?
We have had a few conversations in the past week about the ever increasing complexity of the libraries in instructlab. Its not realistic to expect every option added in the libraries to match 1:1 with cfg options and flags in instructlab, but ilab should also be able to support them all one way or another.
If we are operating under the assumption ilab is the main point of entry into the libraries, it should support all the complex options the libraries have to offer. However, having these all spelled out in the config is pretty bad UX. This would allow us to choose which ones the user would most commonly need to edit while also supporting the more complicated ones, just implicitly.
Ok, that sounds reasonable to me then, I missed that during my initial review. Thanks for the clarification.
@cdoern what is going on with this?
This dev-doc introduces
ilab-config-structure.md
a document meant to discuss how we deal with nested classes in the config. Additionally this document discusses implicit vs explicit arguments that have been previously added in different ways in keyilab
commands.additional_arguments
allows ilab to implicitly support more complex flags from the libraries it calls without adding them directly to the config.