diff --git a/commands/unload.go b/commands/unload.go index 4e9ce3f4..b56b2252 100644 --- a/commands/unload.go +++ b/commands/unload.go @@ -12,16 +12,12 @@ func newUnloadCmd() *cobra.Command { var all bool var backend string - cmdArgs := "(MODEL [--backend BACKEND] | --all)" + cmdArgs := "(MODEL [MODEL ...] [--backend BACKEND] | --all)" c := &cobra.Command{ Use: "unload " + cmdArgs, Short: "Unload running models", - RunE: func(cmd *cobra.Command, args []string) error { - var model string - if len(args) > 0 { - model = args[0] - } - unloadResp, err := desktopClient.Unload(desktop.UnloadRequest{All: all, Backend: backend, Model: model}) + RunE: func(cmd *cobra.Command, models []string) error { + unloadResp, err := desktopClient.Unload(desktop.UnloadRequest{All: all, Backend: backend, Models: models}) if err != nil { err = handleClientError(err, "Failed to unload models") return handleNotRunningError(err) @@ -58,9 +54,6 @@ func newUnloadCmd() *cobra.Command { "See 'docker model unload --help' for more information.", ) } - if len(args) > 1 { - return fmt.Errorf("too many arguments, expected " + cmdArgs) - } return nil } c.Flags().BoolVar(&all, "all", false, "Unload all running models") diff --git a/desktop/desktop.go b/desktop/desktop.go index 0b9df45c..07e6e364 100644 --- a/desktop/desktop.go +++ b/desktop/desktop.go @@ -501,9 +501,9 @@ func (c *Client) DF() (DiskUsage, error) { // UnloadRequest to be imported from docker/model-runner when https://github.com/docker/model-runner/pull/46 is merged. type UnloadRequest struct { - All bool `json:"all"` - Backend string `json:"backend"` - Model string `json:"model"` + All bool `json:"all"` + Backend string `json:"backend"` + Models []string `json:"models"` } // UnloadResponse to be imported from docker/model-runner when https://github.com/docker/model-runner/pull/46 is merged. diff --git a/docs/reference/docker_model_unload.yaml b/docs/reference/docker_model_unload.yaml index 589afe59..ba581bdc 100644 --- a/docs/reference/docker_model_unload.yaml +++ b/docs/reference/docker_model_unload.yaml @@ -1,7 +1,7 @@ command: docker model unload short: Unload running models long: Unload running models -usage: docker model unload (MODEL [--backend BACKEND] | --all) +usage: docker model unload (MODEL [MODEL ...] [--backend BACKEND] | --all) pname: docker model plink: docker_model.yaml options: