diff --git a/_vendor/github.com/docker/model-runner/cmd/cli/docs/reference/docker_model.yaml b/_vendor/github.com/docker/model-runner/cmd/cli/docs/reference/docker_model.yaml index 88068e051a58..6d1588f6f05c 100644 --- a/_vendor/github.com/docker/model-runner/cmd/cli/docs/reference/docker_model.yaml +++ b/_vendor/github.com/docker/model-runner/cmd/cli/docs/reference/docker_model.yaml @@ -7,7 +7,9 @@ pname: docker plink: docker.yaml cname: - docker model bench + - docker model context - docker model df + - docker model gateway - docker model inspect - docker model install-runner - docker model launch @@ -35,7 +37,9 @@ cname: - docker model version clink: - docker_model_bench.yaml + - docker_model_context.yaml - docker_model_df.yaml + - docker_model_gateway.yaml - docker_model_inspect.yaml - docker_model_install-runner.yaml - docker_model_launch.yaml diff --git a/_vendor/github.com/docker/model-runner/cmd/cli/docs/reference/docker_model_context.yaml b/_vendor/github.com/docker/model-runner/cmd/cli/docs/reference/docker_model_context.yaml new file mode 100644 index 000000000000..05a532ba7272 --- /dev/null +++ b/_vendor/github.com/docker/model-runner/cmd/cli/docs/reference/docker_model_context.yaml @@ -0,0 +1,24 @@ +command: docker model context +short: Manage Docker Model Runner contexts +long: Manage Docker Model Runner contexts +pname: docker model +plink: docker_model.yaml +cname: + - docker model context create + - docker model context inspect + - docker model context ls + - docker model context rm + - docker model context use +clink: + - docker_model_context_create.yaml + - docker_model_context_inspect.yaml + - docker_model_context_ls.yaml + - docker_model_context_rm.yaml + - docker_model_context_use.yaml +deprecated: false +hidden: false +experimental: false +experimentalcli: false +kubernetes: false +swarm: false + diff --git a/_vendor/github.com/docker/model-runner/cmd/cli/docs/reference/docker_model_context_create.yaml b/_vendor/github.com/docker/model-runner/cmd/cli/docs/reference/docker_model_context_create.yaml new file mode 100644 index 000000000000..47e5bb49db1d --- /dev/null +++ b/_vendor/github.com/docker/model-runner/cmd/cli/docs/reference/docker_model_context_create.yaml @@ -0,0 +1,61 @@ +command: docker model context create +short: Create a named Model Runner context +long: Create a named Model Runner context +usage: docker model context create NAME +pname: docker model context +plink: docker_model_context.yaml +options: + - option: description + value_type: string + description: Optional human-readable description for this context + deprecated: false + hidden: false + experimental: false + experimentalcli: false + kubernetes: false + swarm: false + - option: host + value_type: string + description: Model Runner API base URL (e.g. http://192.168.1.100:12434) + deprecated: false + hidden: false + experimental: false + experimentalcli: false + kubernetes: false + swarm: false + - option: tls + value_type: bool + default_value: "false" + description: Enable TLS for connections to this context + deprecated: false + hidden: false + experimental: false + experimentalcli: false + kubernetes: false + swarm: false + - option: tls-ca-cert + value_type: string + description: Path to a custom CA certificate PEM file for TLS verification + deprecated: false + hidden: false + experimental: false + experimentalcli: false + kubernetes: false + swarm: false + - option: tls-skip-verify + value_type: bool + default_value: "false" + description: Skip TLS server certificate verification + deprecated: false + hidden: false + experimental: false + experimentalcli: false + kubernetes: false + swarm: false +deprecated: false +hidden: false +experimental: false +experimentalcli: false +kubernetes: false +swarm: false + diff --git a/_vendor/github.com/docker/model-runner/cmd/cli/docs/reference/docker_model_context_inspect.yaml b/_vendor/github.com/docker/model-runner/cmd/cli/docs/reference/docker_model_context_inspect.yaml new file mode 100644 index 000000000000..82c897dd3874 --- /dev/null +++ b/_vendor/github.com/docker/model-runner/cmd/cli/docs/reference/docker_model_context_inspect.yaml @@ -0,0 +1,13 @@ +command: docker model context inspect +short: Display detailed information about one or more contexts +long: Display detailed information about one or more contexts +usage: docker model context inspect NAME [NAME...] +pname: docker model context +plink: docker_model_context.yaml +deprecated: false +hidden: false +experimental: false +experimentalcli: false +kubernetes: false +swarm: false + diff --git a/_vendor/github.com/docker/model-runner/cmd/cli/docs/reference/docker_model_context_ls.yaml b/_vendor/github.com/docker/model-runner/cmd/cli/docs/reference/docker_model_context_ls.yaml new file mode 100644 index 000000000000..cf97594f1df3 --- /dev/null +++ b/_vendor/github.com/docker/model-runner/cmd/cli/docs/reference/docker_model_context_ls.yaml @@ -0,0 +1,14 @@ +command: docker model context ls +aliases: docker model context ls, docker model context list +short: List Model Runner contexts +long: List Model Runner contexts +usage: docker model context ls +pname: docker model context +plink: docker_model_context.yaml +deprecated: false +hidden: false +experimental: false +experimentalcli: false +kubernetes: false +swarm: false + diff --git a/_vendor/github.com/docker/model-runner/cmd/cli/docs/reference/docker_model_context_rm.yaml b/_vendor/github.com/docker/model-runner/cmd/cli/docs/reference/docker_model_context_rm.yaml new file mode 100644 index 000000000000..2efa303bb1b0 --- /dev/null +++ b/_vendor/github.com/docker/model-runner/cmd/cli/docs/reference/docker_model_context_rm.yaml @@ -0,0 +1,14 @@ +command: docker model context rm +aliases: docker model context rm, docker model context remove +short: Remove one or more Model Runner contexts +long: Remove one or more Model Runner contexts +usage: docker model context rm NAME [NAME...] +pname: docker model context +plink: docker_model_context.yaml +deprecated: false +hidden: false +experimental: false +experimentalcli: false +kubernetes: false +swarm: false + diff --git a/_vendor/github.com/docker/model-runner/cmd/cli/docs/reference/docker_model_context_use.yaml b/_vendor/github.com/docker/model-runner/cmd/cli/docs/reference/docker_model_context_use.yaml new file mode 100644 index 000000000000..720281626cfe --- /dev/null +++ b/_vendor/github.com/docker/model-runner/cmd/cli/docs/reference/docker_model_context_use.yaml @@ -0,0 +1,15 @@ +command: docker model context use +short: Set the active Model Runner context +long: |- + Set the active Model Runner context. Pass "default" to revert to + automatic backend detection. +usage: docker model context use NAME +pname: docker model context +plink: docker_model_context.yaml +deprecated: false +hidden: false +experimental: false +experimentalcli: false +kubernetes: false +swarm: false + diff --git a/_vendor/github.com/docker/model-runner/cmd/cli/docs/reference/docker_model_gateway.yaml b/_vendor/github.com/docker/model-runner/cmd/cli/docs/reference/docker_model_gateway.yaml new file mode 100644 index 000000000000..b6cf57a39bdc --- /dev/null +++ b/_vendor/github.com/docker/model-runner/cmd/cli/docs/reference/docker_model_gateway.yaml @@ -0,0 +1,182 @@ +command: docker model gateway +short: Run an OpenAI-compatible LLM gateway +long: |- + `docker model gateway` starts a local OpenAI-compatible HTTP gateway that routes + requests to one or more configured LLM providers. It supports Docker Model Runner + as a first-class provider, alongside Ollama, OpenAI, Anthropic, Groq, Mistral, + Azure OpenAI, and many other OpenAI-compatible endpoints. + + The gateway is configured through a YAML file that declares the model list, + provider routing, load-balancing, retries, and fallbacks. + + ### Configuration file format + + ```yaml + model_list: + - model_name: + params: + model: / + api_base: + api_key: + + general_settings: + master_key: + num_retries: + fallbacks: + - : [, ...] + ``` + + The `model` field under `params` uses the format `provider/model-name`. + Supported provider prefixes include: `docker_model_runner`, `openai`, + `anthropic`, `ollama`, `groq`, `mistral`, `together_ai`, `deepseek`, + `fireworks_ai`, `openrouter`, `perplexity`, `xai`, `nvidia_nim`, + `cerebras`, `sambanova`, `deepinfra`, `azure`, `azure_ai`, `vllm`, + `lm_studio`, `huggingface`. + + API keys can be supplied inline, as `os.environ/VAR_NAME` references, or as + `${VAR_NAME}` references. The gateway resolves well-known environment variables + automatically (for example, `OPENAI_API_KEY`, `ANTHROPIC_API_KEY`). +usage: docker model gateway +pname: docker model +plink: docker_model.yaml +options: + - option: config + shorthand: c + value_type: string + description: Path to the YAML configuration file + deprecated: false + hidden: false + experimental: false + experimentalcli: false + kubernetes: false + swarm: false + - option: host + value_type: string + default_value: 0.0.0.0 + description: Host address to bind to + deprecated: false + hidden: false + experimental: false + experimentalcli: false + kubernetes: false + swarm: false + - option: port + shorthand: p + value_type: uint16 + default_value: "4000" + description: Port to listen on + deprecated: false + hidden: false + experimental: false + experimentalcli: false + kubernetes: false + swarm: false + - option: verbose + shorthand: v + value_type: bool + default_value: "false" + description: Enable verbose (debug) logging + deprecated: false + hidden: false + experimental: false + experimentalcli: false + kubernetes: false + swarm: false +examples: |- + ### Route requests to Docker Model Runner + + ```yaml + model_list: + - model_name: smollm2 + params: + model: docker_model_runner/ai/smollm2 + api_base: http://localhost:12434/engines/llama.cpp/v1 + ``` + + ```console + $ docker model gateway --config config.yaml + ``` + + The gateway starts on `http://0.0.0.0:4000`. Send requests using any + OpenAI-compatible client: + + ```console + $ curl http://localhost:4000/v1/chat/completions \ + -H "Content-Type: application/json" \ + -d '{ + "model": "smollm2", + "messages": [{"role": "user", "content": "Hello"}] + }' + ``` + + ### Route requests to multiple providers with fallback + + ```yaml + model_list: + - model_name: fast + params: + model: groq/llama-3.1-8b-instant + api_key: os.environ/GROQ_API_KEY + - model_name: smart + params: + model: openai/gpt-4o + api_key: os.environ/OPENAI_API_KEY + - model_name: local + params: + model: docker_model_runner/ai/smollm2 + api_base: http://localhost:12434/engines/llama.cpp/v1 + + general_settings: + num_retries: 2 + fallbacks: + - fast: [local] + - smart: [fast, local] + ``` + + ```console + $ docker model gateway --config config.yaml --port 8080 + ``` + + ### Secure the gateway with an API key + + ```yaml + model_list: + - model_name: smollm2 + params: + model: docker_model_runner/ai/smollm2 + api_base: http://localhost:12434/engines/llama.cpp/v1 + + general_settings: + master_key: os.environ/GATEWAY_API_KEY + ``` + + ```console + $ GATEWAY_API_KEY=my-secret docker model gateway --config config.yaml + ``` + + Clients must then pass the key as a Bearer token or via the `x-api-key` header: + + ```console + $ curl http://localhost:4000/v1/chat/completions \ + -H "Content-Type: application/json" \ + -d '{"model": "smollm2", "messages": [{"role": "user", "content": "Hi"}]}' + ``` + + ### Use a custom host and port + + ```console + $ docker model gateway --config config.yaml --host 127.0.0.1 --port 9000 + ``` + + ### Enable debug logging + + ```console + $ docker model gateway --config config.yaml --verbose + ``` +deprecated: false +hidden: false +experimental: false +experimentalcli: false +kubernetes: false +swarm: false + diff --git a/_vendor/github.com/docker/model-runner/cmd/cli/docs/reference/docker_model_package.yaml b/_vendor/github.com/docker/model-runner/cmd/cli/docs/reference/docker_model_package.yaml index ce868c1e5d1c..7bc696c5b7ca 100644 --- a/_vendor/github.com/docker/model-runner/cmd/cli/docs/reference/docker_model_package.yaml +++ b/_vendor/github.com/docker/model-runner/cmd/cli/docs/reference/docker_model_package.yaml @@ -71,6 +71,17 @@ options: experimentalcli: false kubernetes: false swarm: false + - option: format + value_type: string + default_value: docker + description: | + output artifact format: "docker" (default) or "cncf" (CNCF ModelPack spec) + deprecated: false + hidden: false + experimental: false + experimentalcli: false + kubernetes: false + swarm: false - option: from value_type: string description: reference to an existing model to repackage diff --git a/_vendor/github.com/docker/model-runner/cmd/cli/docs/reference/docker_model_unload.yaml b/_vendor/github.com/docker/model-runner/cmd/cli/docs/reference/docker_model_unload.yaml index 03f151ad0929..ee0de45bb327 100644 --- a/_vendor/github.com/docker/model-runner/cmd/cli/docs/reference/docker_model_unload.yaml +++ b/_vendor/github.com/docker/model-runner/cmd/cli/docs/reference/docker_model_unload.yaml @@ -1,4 +1,5 @@ command: docker model unload +aliases: docker model unload, docker model stop short: Unload running models long: Unload running models usage: docker model unload (MODEL [MODEL ...] [--backend BACKEND] | --all) diff --git a/_vendor/github.com/docker/model-runner/cmd/cli/docs/reference/model.md b/_vendor/github.com/docker/model-runner/cmd/cli/docs/reference/model.md index c34bfbdc4e2b..e26c01924be3 100644 --- a/_vendor/github.com/docker/model-runner/cmd/cli/docs/reference/model.md +++ b/_vendor/github.com/docker/model-runner/cmd/cli/docs/reference/model.md @@ -8,7 +8,9 @@ Docker Model Runner | Name | Description | |:------------------------------------------------|:-----------------------------------------------------------------------| | [`bench`](model_bench.md) | Benchmark a model's performance at different concurrency levels | +| [`context`](model_context.md) | Manage Docker Model Runner contexts | | [`df`](model_df.md) | Show Docker Model Runner disk usage | +| [`gateway`](model_gateway.md) | Run an OpenAI-compatible LLM gateway | | [`inspect`](model_inspect.md) | Display detailed information on one model | | [`install-runner`](model_install-runner.md) | Install Docker Model Runner (Docker Engine only) | | [`launch`](model_launch.md) | Launch an app configured to use Docker Model Runner | diff --git a/_vendor/github.com/docker/model-runner/cmd/cli/docs/reference/model_context.md b/_vendor/github.com/docker/model-runner/cmd/cli/docs/reference/model_context.md new file mode 100644 index 000000000000..d5c05658ce3b --- /dev/null +++ b/_vendor/github.com/docker/model-runner/cmd/cli/docs/reference/model_context.md @@ -0,0 +1,19 @@ +# docker model context + + +Manage Docker Model Runner contexts + +### Subcommands + +| Name | Description | +|:--------------------------------------|:--------------------------------------------------------| +| [`create`](model_context_create.md) | Create a named Model Runner context | +| [`inspect`](model_context_inspect.md) | Display detailed information about one or more contexts | +| [`ls`](model_context_ls.md) | List Model Runner contexts | +| [`rm`](model_context_rm.md) | Remove one or more Model Runner contexts | +| [`use`](model_context_use.md) | Set the active Model Runner context | + + + + + diff --git a/_vendor/github.com/docker/model-runner/cmd/cli/docs/reference/model_context_create.md b/_vendor/github.com/docker/model-runner/cmd/cli/docs/reference/model_context_create.md new file mode 100644 index 000000000000..cee0c6338275 --- /dev/null +++ b/_vendor/github.com/docker/model-runner/cmd/cli/docs/reference/model_context_create.md @@ -0,0 +1,18 @@ +# docker model context create + + +Create a named Model Runner context + +### Options + +| Name | Type | Default | Description | +|:--------------------|:---------|:--------|:--------------------------------------------------------------| +| `--description` | `string` | | Optional human-readable description for this context | +| `--host` | `string` | | Model Runner API base URL (e.g. http://192.168.1.100:12434) | +| `--tls` | `bool` | | Enable TLS for connections to this context | +| `--tls-ca-cert` | `string` | | Path to a custom CA certificate PEM file for TLS verification | +| `--tls-skip-verify` | `bool` | | Skip TLS server certificate verification | + + + + diff --git a/_vendor/github.com/docker/model-runner/cmd/cli/docs/reference/model_context_inspect.md b/_vendor/github.com/docker/model-runner/cmd/cli/docs/reference/model_context_inspect.md new file mode 100644 index 000000000000..75357d4a1d61 --- /dev/null +++ b/_vendor/github.com/docker/model-runner/cmd/cli/docs/reference/model_context_inspect.md @@ -0,0 +1,8 @@ +# docker model context inspect + + +Display detailed information about one or more contexts + + + + diff --git a/_vendor/github.com/docker/model-runner/cmd/cli/docs/reference/model_context_ls.md b/_vendor/github.com/docker/model-runner/cmd/cli/docs/reference/model_context_ls.md new file mode 100644 index 000000000000..5d9e980d85d4 --- /dev/null +++ b/_vendor/github.com/docker/model-runner/cmd/cli/docs/reference/model_context_ls.md @@ -0,0 +1,12 @@ +# docker model context ls + + +List Model Runner contexts + +### Aliases + +`docker model context ls`, `docker model context list` + + + + diff --git a/_vendor/github.com/docker/model-runner/cmd/cli/docs/reference/model_context_rm.md b/_vendor/github.com/docker/model-runner/cmd/cli/docs/reference/model_context_rm.md new file mode 100644 index 000000000000..65a408590f82 --- /dev/null +++ b/_vendor/github.com/docker/model-runner/cmd/cli/docs/reference/model_context_rm.md @@ -0,0 +1,12 @@ +# docker model context rm + + +Remove one or more Model Runner contexts + +### Aliases + +`docker model context rm`, `docker model context remove` + + + + diff --git a/_vendor/github.com/docker/model-runner/cmd/cli/docs/reference/model_context_use.md b/_vendor/github.com/docker/model-runner/cmd/cli/docs/reference/model_context_use.md new file mode 100644 index 000000000000..f6544f63fd1d --- /dev/null +++ b/_vendor/github.com/docker/model-runner/cmd/cli/docs/reference/model_context_use.md @@ -0,0 +1,9 @@ +# docker model context use + + +Set the active Model Runner context. Pass "default" to revert to +automatic backend detection. + + + + diff --git a/_vendor/github.com/docker/model-runner/cmd/cli/docs/reference/model_gateway.md b/_vendor/github.com/docker/model-runner/cmd/cli/docs/reference/model_gateway.md new file mode 100644 index 000000000000..630ef5ecc96c --- /dev/null +++ b/_vendor/github.com/docker/model-runner/cmd/cli/docs/reference/model_gateway.md @@ -0,0 +1,150 @@ +# docker model gateway + + +Run an OpenAI-compatible LLM gateway that routes requests to configured providers. + +Supported providers include Docker Model Runner, Ollama, OpenAI, Anthropic, +Groq, Mistral, Azure OpenAI, and many more OpenAI-compatible endpoints. + +### Options + +| Name | Type | Default | Description | +|:------------------|:---------|:----------|:------------------------------------| +| `-c`, `--config` | `string` | | Path to the YAML configuration file | +| `--host` | `string` | `0.0.0.0` | Host address to bind to | +| `-p`, `--port` | `uint16` | `4000` | Port to listen on | +| `-v`, `--verbose` | `bool` | | Enable verbose (debug) logging | + + + + +## Description + +`docker model gateway` starts a local OpenAI-compatible HTTP gateway that routes +requests to one or more configured LLM providers. It supports Docker Model Runner +as a first-class provider, alongside Ollama, OpenAI, Anthropic, Groq, Mistral, +Azure OpenAI, and many other OpenAI-compatible endpoints. + +The gateway is configured through a YAML file that declares the model list, +provider routing, load-balancing, retries, and fallbacks. + +### Configuration file format + +```yaml +model_list: + - model_name: + params: + model: / + api_base: + api_key: + +general_settings: + master_key: + num_retries: + fallbacks: + - : [, ...] +``` + +The `model` field under `params` uses the format `provider/model-name`. +Supported provider prefixes include: `docker_model_runner`, `openai`, +`anthropic`, `ollama`, `groq`, `mistral`, `together_ai`, `deepseek`, +`fireworks_ai`, `openrouter`, `perplexity`, `xai`, `nvidia_nim`, +`cerebras`, `sambanova`, `deepinfra`, `azure`, `azure_ai`, `vllm`, +`lm_studio`, `huggingface`. + +API keys can be supplied inline, as `os.environ/VAR_NAME` references, or as +`${VAR_NAME}` references. The gateway resolves well-known environment variables +automatically (for example, `OPENAI_API_KEY`, `ANTHROPIC_API_KEY`). + +## Examples + +### Route requests to Docker Model Runner + +```yaml +model_list: + - model_name: smollm2 + params: + model: docker_model_runner/ai/smollm2 + api_base: http://localhost:12434/engines/llama.cpp/v1 +``` + +```console +$ docker model gateway --config config.yaml +``` + +The gateway starts on `http://0.0.0.0:4000`. Send requests using any +OpenAI-compatible client: + +```console +$ curl http://localhost:4000/v1/chat/completions \ + -H "Content-Type: application/json" \ + -d '{ + "model": "smollm2", + "messages": [{"role": "user", "content": "Hello"}] + }' +``` + +### Route requests to multiple providers with fallback + +```yaml +model_list: + - model_name: fast + params: + model: groq/llama-3.1-8b-instant + api_key: os.environ/GROQ_API_KEY + - model_name: smart + params: + model: openai/gpt-4o + api_key: os.environ/OPENAI_API_KEY + - model_name: local + params: + model: docker_model_runner/ai/smollm2 + api_base: http://localhost:12434/engines/llama.cpp/v1 + +general_settings: + num_retries: 2 + fallbacks: + - fast: [local] + - smart: [fast, local] +``` + +```console +$ docker model gateway --config config.yaml --port 8080 +``` + +### Secure the gateway with an API key + +```yaml +model_list: + - model_name: smollm2 + params: + model: docker_model_runner/ai/smollm2 + api_base: http://localhost:12434/engines/llama.cpp/v1 + +general_settings: + master_key: os.environ/GATEWAY_API_KEY +``` + +```console +$ GATEWAY_API_KEY=my-secret docker model gateway --config config.yaml +``` + +Clients must then pass the key as a Bearer token or via the `x-api-key` header: + +```console +$ curl http://localhost:4000/v1/chat/completions \ + -H "Content-Type: application/json" \ + -d '{"model": "smollm2", "messages": [{"role": "user", "content": "Hi"}]}' +``` + +### Use a custom host and port + +```console +$ docker model gateway --config config.yaml --host 127.0.0.1 --port 9000 +``` + +### Enable debug logging + +```console +$ docker model gateway --config config.yaml --verbose +``` diff --git a/_vendor/github.com/docker/model-runner/cmd/cli/docs/reference/model_package.md b/_vendor/github.com/docker/model-runner/cmd/cli/docs/reference/model_package.md index ade44149ba55..571b77c1fa36 100644 --- a/_vendor/github.com/docker/model-runner/cmd/cli/docs/reference/model_package.md +++ b/_vendor/github.com/docker/model-runner/cmd/cli/docs/reference/model_package.md @@ -42,17 +42,18 @@ Packaging behavior: ### Options -| Name | Type | Default | Description | -|:--------------------|:--------------|:--------|:---------------------------------------------------------------------------------------| -| `--chat-template` | `string` | | absolute path to chat template file (must be Jinja format) | -| `--context-size` | `uint64` | `0` | context size in tokens | -| `--dduf` | `string` | | absolute path to DDUF archive file (Diffusers Unified Format) | -| `--from` | `string` | | reference to an existing model to repackage | -| `--gguf` | `string` | | absolute path to gguf file | -| `-l`, `--license` | `stringArray` | | absolute path to a license file | -| `--mmproj` | `string` | | absolute path to multimodal projector file | -| `--push` | `bool` | | push to registry (if not set, the model is loaded into the Model Runner content store) | -| `--safetensors-dir` | `string` | | absolute path to directory containing safetensors files and config | +| Name | Type | Default | Description | +|:--------------------|:--------------|:---------|:---------------------------------------------------------------------------------------| +| `--chat-template` | `string` | | absolute path to chat template file (must be Jinja format) | +| `--context-size` | `uint64` | `0` | context size in tokens | +| `--dduf` | `string` | | absolute path to DDUF archive file (Diffusers Unified Format) | +| `--format` | `string` | `docker` | output artifact format: "docker" (default) or "cncf" (CNCF ModelPack spec) | +| `--from` | `string` | | reference to an existing model to repackage | +| `--gguf` | `string` | | absolute path to gguf file | +| `-l`, `--license` | `stringArray` | | absolute path to a license file | +| `--mmproj` | `string` | | absolute path to multimodal projector file | +| `--push` | `bool` | | push to registry (if not set, the model is loaded into the Model Runner content store) | +| `--safetensors-dir` | `string` | | absolute path to directory containing safetensors files and config | diff --git a/_vendor/github.com/docker/model-runner/cmd/cli/docs/reference/model_unload.md b/_vendor/github.com/docker/model-runner/cmd/cli/docs/reference/model_unload.md index 70d7f8f2884c..17060c649651 100644 --- a/_vendor/github.com/docker/model-runner/cmd/cli/docs/reference/model_unload.md +++ b/_vendor/github.com/docker/model-runner/cmd/cli/docs/reference/model_unload.md @@ -3,6 +3,10 @@ Unload running models +### Aliases + +`docker model unload`, `docker model stop` + ### Options | Name | Type | Default | Description | diff --git a/_vendor/modules.txt b/_vendor/modules.txt index e83e2b91df14..eed74d6eeaa3 100644 --- a/_vendor/modules.txt +++ b/_vendor/modules.txt @@ -3,4 +3,4 @@ # github.com/docker/buildx v0.33.0 # github.com/docker/cli v29.4.0+incompatible # github.com/docker/compose/v5 v5.1.2 -# github.com/docker/model-runner v1.1.28 +# github.com/docker/model-runner v1.1.36 diff --git a/go.mod b/go.mod index 5444fe2f5dfa..940d31cf8c66 100644 --- a/go.mod +++ b/go.mod @@ -11,7 +11,7 @@ require ( github.com/docker/buildx v0.33.0 github.com/docker/cli v29.4.0+incompatible github.com/docker/compose/v5 v5.1.2 - github.com/docker/model-runner v1.1.28 + github.com/docker/model-runner v1.1.36 github.com/moby/buildkit v0.29.0 github.com/moby/moby/api v1.54.1 ) diff --git a/go.sum b/go.sum index d1ac59891a4f..456778bac57a 100644 --- a/go.sum +++ b/go.sum @@ -45,6 +45,8 @@ github.com/containerd/platforms v1.0.0-rc.2 h1:0SPgaNZPVWGEi4grZdV8VRYQn78y+nm6a github.com/containerd/platforms v1.0.0-rc.2/go.mod h1:J71L7B+aiM5SdIEqmd9wp6THLVRzJGXfNuWCZCllLA4= github.com/containerd/platforms v1.0.0-rc.3 h1:YdvwaHtrN6wHcGJ2mYRYP3Nso8OcysuqFe9Hxm1X/tI= github.com/containerd/platforms v1.0.0-rc.3/go.mod h1:gw0R+alP3nFQPh1L4K9bv13fRWeeyokLGLu2fKuqI10= +github.com/containerd/platforms v1.0.0-rc.4 h1:M42JrUT4zfZTqtkUwkr0GzmUWbfyO5VO0Q5b3op97T4= +github.com/containerd/platforms v1.0.0-rc.4/go.mod h1:lKlMXyLybmBedS/JJm11uDofzI8L2v0J2ZbYvNsbq1A= github.com/containerd/stargz-snapshotter v0.17.0 h1:djNS4KU8ztFhLdEDZ1bsfzOiYuVHT6TgSU5qwRk+cNc= github.com/containerd/stargz-snapshotter v0.18.2 h1:Ev/sxfQUjwzJQ9eqy3XzttcQ3osMIqkQgMYlcET+10M= github.com/containerd/stargz-snapshotter/estargz v0.17.0 h1:+TyQIsR/zSFI1Rm31EQBwpAA1ovYgIKHy7kctL3sLcE= @@ -118,6 +120,8 @@ github.com/docker/model-runner v1.1.24 h1:SmlaZOlXJ5YC5ouxgwBj1qkfFSdgIw4BSFqnA3 github.com/docker/model-runner v1.1.24/go.mod h1:Sz8p8xoQiRW4Kbx8u7zAGynPESSJc/EZrPjHi+Ghtoo= github.com/docker/model-runner v1.1.28 h1:SrGTSP8X0v3z5m1jEzZu5n3OnOJbDZom6UMmrSZ3iQE= github.com/docker/model-runner v1.1.28/go.mod h1:AVBP5brJ8TkQD94cLKMVTn5jkrV1o8/b20hkeL8WTsE= +github.com/docker/model-runner v1.1.36 h1:S4a8klEIgNZh+0xwhnEUhKdAmJqPuhOs3bPGFT1C9pk= +github.com/docker/model-runner v1.1.36/go.mod h1:+ReAxM83s9+TLIBcZkHlng8nfn204CZYzbx4Sg7fSrE= github.com/docker/model-runner/cmd/cli v1.0.3 h1:oycm6fHwhFBNM47Y2Ka7nUSsrbSG3FL7NMShjTRuxak= github.com/docker/model-runner/cmd/cli v1.0.3/go.mod h1:86LCLsk93vuevYRDKoBxwGusyGlW+UnKCnbXJ7m6Zjo= github.com/docker/model-runner/pkg/go-containerregistry v0.0.0-20251121150728-6951a2a36575 h1:N2yLWYSZFTVLkLTh8ux1Z0Nug/F78pXsl2KDtbWhe+Y= @@ -134,6 +138,7 @@ github.com/fatih/color v1.19.0 h1:Zp3PiM21/9Ld6FzSKyL5c/BULoe/ONr9KlbYVOfG8+w= github.com/felixge/httpsnoop v1.0.4 h1:NFTV2Zj1bL4mc9sqWACXbQFVBBg2W3GPvqp8/ESS2Wg= github.com/felixge/httpsnoop v1.0.4/go.mod h1:m8KPJKqk1gH5J9DgRY2ASl2lWCfGKXixSwevea8zH2U= github.com/fsnotify/fsnotify v1.4.9/go.mod h1:znqG4EE+3YCdAaPaxE2ZRY/06pZUdp0tY4IgpuI1SZQ= +github.com/fsnotify/fsnotify v1.6.0/go.mod h1:sl3t1tCWJFWoRz9R8WJCbQihKKwmorjAbSClcnxKAGw= github.com/fsnotify/fsnotify v1.9.0 h1:2Ml+OJNzbYCTzsxtv8vKSFD9PbJjmhYF14k/jKC7S9k= github.com/fsnotify/fsnotify v1.9.0/go.mod h1:8jBTzvmWwFyi3Pb8djgCCO5IBqzKJ/Jwo8TRcHyHii0= github.com/fvbommel/sortorder v1.1.0 h1:fUmoe+HLsBTctBDoaBwpQo5N+nrCp8g/BjKb/6ZQmYw= @@ -173,6 +178,8 @@ github.com/jaypipes/ghw v0.19.1 h1:Lhybk6aadgEJqIxeS0h07UOL/EgMGIdxbAy6V8J7RgY= github.com/jaypipes/ghw v0.19.1/go.mod h1:GPrvwbtPoxYUenr74+nAnWbardIZq600vJDD5HnPsPE= github.com/jaypipes/ghw v0.23.0 h1:WOL4hpLcIu1kIm+z5Oz19Tk1HNw/Sncrx/6GS8O0Kl0= github.com/jaypipes/ghw v0.23.0/go.mod h1:fUNUjMZ0cjahKo+/u+32m9FutIx53Nkbi0Ti0m7j5HY= +github.com/jaypipes/ghw v0.24.0 h1:6RBrJzvHvZ0t+hSvqPmOd5b21C4fMsyiyFzWljEj8Wg= +github.com/jaypipes/ghw v0.24.0/go.mod h1:Qk3UjdH8Xu/OiVyb/eDJqnDsUc+awHU75y23ErZU33s= github.com/jaypipes/pcidb v1.1.1 h1:QmPhpsbmmnCwZmHeYAATxEaoRuiMAJusKYkUncMC0ro= github.com/jaypipes/pcidb v1.1.1/go.mod h1:x27LT2krrUgjf875KxQXKB0Ha/YXLdZRVmw6hH0G7g8= github.com/jessevdk/go-flags v1.4.0/go.mod h1:4FA24M0QyGHXBuZZK/XkWh8h0e1EYbRYJSGM75WSRxI= @@ -187,6 +194,7 @@ github.com/klauspost/compress v1.18.2/go.mod h1:R0h/fSBs8DE4ENlcrlib3PsXS61voFxh github.com/klauspost/compress v1.18.4 h1:RPhnKRAQ4Fh8zU2FY/6ZFDwTVTxgJ/EMydqSTzE9a2c= github.com/klauspost/compress v1.18.4/go.mod h1:R0h/fSBs8DE4ENlcrlib3PsXS61voFxhIs2DeRhCvJ4= github.com/klauspost/compress v1.18.5 h1:/h1gH5Ce+VWNLSWqPzOVn6XBO+vJbCNGvjoaGBFW2IE= +github.com/klauspost/compress v1.18.5/go.mod h1:cwPg85FWrGar70rWktvGQj8/hthj3wpl0PGDogxkrSQ= github.com/kolesnikovae/go-winjob v1.0.0 h1:OKEtCHB3sYNAiqNwGDhf08Y6luM7C8mP+42rp1N6SeE= github.com/kolesnikovae/go-winjob v1.0.0/go.mod h1:k0joOLP3/NBrRmDQjPV2+oN1TPmEWt6arTNtFjVeQuM= github.com/lucasb-eyer/go-colorful v1.2.0 h1:1nnpGOrhyZZuNyfu1QjKiUICQ74+3FNCN69Aj6K7nkY= @@ -202,6 +210,7 @@ github.com/mattn/go-runewidth v0.0.16 h1:E5ScNMtiwvlvB5paMFdw9p4kSQzbXFikJ5SQO6T github.com/mattn/go-runewidth v0.0.16/go.mod h1:Jdepj2loyihRzMpdS35Xk/zdY8IAYHsh153qUoGf23w= github.com/mattn/go-runewidth v0.0.20 h1:WcT52H91ZUAwy8+HUkdM3THM6gXqXuLJi9O3rjcQQaQ= github.com/mattn/go-runewidth v0.0.21 h1:jJKAZiQH+2mIinzCJIaIG9Be1+0NR+5sz/lYEEjdM8w= +github.com/mattn/go-runewidth v0.0.23 h1:7ykA0T0jkPpzSvMS5i9uoNn2Xy3R383f9HDx3RybWcw= github.com/mattn/go-shellwords v1.0.12 h1:M2zGm7EW6UQJvDeQxo4T51eKPurbeFbe8WtebGE2xrk= github.com/mattn/go-shellwords v1.0.12/go.mod h1:EZzvwXDESEeg03EKmM+RmDnNOPKG4lLtQsUlTZDWQ8Y= github.com/microcosm-cc/bluemonday v1.0.27 h1:MpEUotklkwCSLeH+Qdx1VJgNqLlpY2KXwXFM08ygZfk= @@ -237,6 +246,8 @@ github.com/moby/sys/sequential v0.6.0 h1:qrx7XFUd/5DxtqcoH1h438hF5TmOvzC/lspjy7z github.com/moby/sys/sequential v0.6.0/go.mod h1:uyv8EUTrca5PnDsdMGXhZe6CCe8U/UiTWd+lL+7b/Ko= github.com/moby/term v0.5.2 h1:6qk3FJAFDs6i/q3W/pQ97SX192qKfZgGjCQqfCJkgzQ= github.com/moby/term v0.5.2/go.mod h1:d3djjFCrjnB+fl8NJux+EJzu0msscUP+f8it8hPkFLc= +github.com/modelpack/model-spec v0.0.7 h1:3fAxau4xUqF0Pf1zzFC5lItF0gEaiXLxaCcPAH8PW8I= +github.com/modelpack/model-spec v0.0.7/go.mod h1:5Go37og1RmvcTdVI5Remd+PpQRNLlKSNwSNbXmEqu50= github.com/modern-go/concurrent v0.0.0-20180228061459-e0a39a4cb421/go.mod h1:6dJC0mAP4ikYIbvyc7fijjWJddQyLn8Ig3JB5CqoB9Q= github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd h1:TRLaZ9cD/w8PVh93nsPXa1VrQ6jlwL5oN8l14QlcNfg= github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd/go.mod h1:6dJC0mAP4ikYIbvyc7fijjWJddQyLn8Ig3JB5CqoB9Q= @@ -255,6 +266,8 @@ github.com/munnerz/goautoneg v0.0.0-20191010083416-a7dc8b61c822 h1:C3w9PqII01/Oq github.com/munnerz/goautoneg v0.0.0-20191010083416-a7dc8b61c822/go.mod h1:+n7T8mK8HuQTcFwEeznm/DIxMOiR9yIdICNftLE1DvQ= github.com/nxadm/tail v1.4.8 h1:nPr65rt6Y5JFSKQO7qToXr7pePgD6Gwiw05lkbyAQTE= github.com/nxadm/tail v1.4.8/go.mod h1:+ncqLTQzXmGhMZNUePPaPqPvBxHAIsmXswZKocGu+AU= +github.com/nxadm/tail v1.4.11 h1:8feyoE3OzPrcshW5/MJ4sGESc5cqmGkGCWlco4l0bqY= +github.com/nxadm/tail v1.4.11/go.mod h1:OTaG3NK980DZzxbRq6lEuzgU+mug70nY11sMd4JXXHc= github.com/olekukonko/tablewriter v0.0.5 h1:P2Ga83D34wi1o9J6Wh1mRuqd4mF/x/lgBS7N7AbDhec= github.com/olekukonko/tablewriter v0.0.5/go.mod h1:hPp6KlRPjbx+hW8ykQs1w3UBbZlj6HuIJcUGPhkA7kY= github.com/opencontainers/go-digest v1.0.0 h1:apOUWs51W5PlhuyGyz9FCeeBIOUDA/6nW8Oi/yOhh5U= @@ -320,6 +333,8 @@ go.opentelemetry.io/otel v1.40.0 h1:oA5YeOcpRTXq6NN7frwmwFR0Cn3RhTVZvXsP4duvCms= go.opentelemetry.io/otel v1.40.0/go.mod h1:IMb+uXZUKkMXdPddhwAHm6UfOwJyh4ct1ybIlV14J0g= go.opentelemetry.io/otel v1.42.0 h1:lSQGzTgVR3+sgJDAU/7/ZMjN9Z+vUip7leaqBKy4sho= go.opentelemetry.io/otel v1.42.0/go.mod h1:lJNsdRMxCUIWuMlVJWzecSMuNjE7dOYyWlqOXWkdqCc= +go.opentelemetry.io/otel v1.43.0 h1:mYIM03dnh5zfN7HautFE4ieIig9amkNANT+xcVxAj9I= +go.opentelemetry.io/otel v1.43.0/go.mod h1:JuG+u74mvjvcm8vj8pI5XiHy1zDeoCS2LB1spIq7Ay0= go.opentelemetry.io/otel/exporters/otlp/otlpmetric/otlpmetricgrpc v1.38.0 h1:vl9obrcoWVKp/lwl8tRE33853I8Xru9HFbw/skNeLs8= go.opentelemetry.io/otel/exporters/otlp/otlpmetric/otlpmetricgrpc v1.38.0/go.mod h1:GAXRxmLJcVM3u22IjTg74zWBrRCKq8BnOqUVLodpcpw= go.opentelemetry.io/otel/exporters/otlp/otlpmetric/otlpmetricgrpc v1.40.0 h1:NOyNnS19BF2SUDApbOKbDtWZ0IK7b8FJ2uAGdIWOGb0= @@ -335,6 +350,8 @@ go.opentelemetry.io/otel/metric v1.40.0 h1:rcZe317KPftE2rstWIBitCdVp89A2HqjkxR3c go.opentelemetry.io/otel/metric v1.40.0/go.mod h1:ib/crwQH7N3r5kfiBZQbwrTge743UDc7DTFVZrrXnqc= go.opentelemetry.io/otel/metric v1.42.0 h1:2jXG+3oZLNXEPfNmnpxKDeZsFI5o4J+nz6xUlaFdF/4= go.opentelemetry.io/otel/metric v1.42.0/go.mod h1:RlUN/7vTU7Ao/diDkEpQpnz3/92J9ko05BIwxYa2SSI= +go.opentelemetry.io/otel/metric v1.43.0 h1:d7638QeInOnuwOONPp4JAOGfbCEpYb+K6DVWvdxGzgM= +go.opentelemetry.io/otel/metric v1.43.0/go.mod h1:RDnPtIxvqlgO8GRW18W6Z/4P462ldprJtfxHxyKd2PY= go.opentelemetry.io/otel/sdk v1.38.0 h1:l48sr5YbNf2hpCUj/FoGhW9yDkl+Ma+LrVl8qaM5b+E= go.opentelemetry.io/otel/sdk v1.38.0/go.mod h1:ghmNdGlVemJI3+ZB5iDEuk4bWA3GkTpW+DOoZMYBVVg= go.opentelemetry.io/otel/sdk v1.40.0 h1:KHW/jUzgo6wsPh9At46+h4upjtccTmuZCFAc9OJ71f8= @@ -349,6 +366,8 @@ go.opentelemetry.io/otel/trace v1.40.0 h1:WA4etStDttCSYuhwvEa8OP8I5EWu24lkOzp+ZY go.opentelemetry.io/otel/trace v1.40.0/go.mod h1:zeAhriXecNGP/s2SEG3+Y8X9ujcJOTqQ5RgdEJcawiA= go.opentelemetry.io/otel/trace v1.42.0 h1:OUCgIPt+mzOnaUTpOQcBiM/PLQ/Op7oq6g4LenLmOYY= go.opentelemetry.io/otel/trace v1.42.0/go.mod h1:f3K9S+IFqnumBkKhRJMeaZeNk9epyhnCmQh/EysQCdc= +go.opentelemetry.io/otel/trace v1.43.0 h1:BkNrHpup+4k4w+ZZ86CZoHHEkohws8AY+WTX09nk+3A= +go.opentelemetry.io/otel/trace v1.43.0/go.mod h1:/QJhyVBUUswCphDVxq+8mld+AvhXZLhe+8WVFxiFff0= go.opentelemetry.io/proto/otlp v1.7.1 h1:gTOMpGDb0WTBOP8JaO72iL3auEZhVmAQg4ipjOVAtj4= go.opentelemetry.io/proto/otlp v1.7.1/go.mod h1:b2rVh6rfI/s2pHWNlB7ILJcRALpcNDzKhACevjI+ZnE= go.opentelemetry.io/proto/otlp v1.9.0 h1:l706jCMITVouPOqEnii2fIAuO3IVGBRPV5ICjceRb/A= @@ -403,6 +422,7 @@ golang.org/x/sys v0.0.0-20200625212154-ddb9806d33ae/go.mod h1:h1NjWce9XRLGQEsW7w golang.org/x/sys v0.0.0-20200930185726-fdedc70b468f/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20210616094352-59db8d763f22/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20220715151400-c0bba94af5f8/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.0.0-20220908164124-27713097b956/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.1.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.6.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.38.0 h1:3yZWxaJjBmCWXqhN1qh02AkOnCQ1poK6oF+a7xWL6Gc= @@ -413,12 +433,15 @@ golang.org/x/sys v0.41.0 h1:Ivj+2Cp/ylzLiEU89QhWblYnOE9zerudt9Ftecq2C6k= golang.org/x/sys v0.41.0/go.mod h1:OgkHotnGiDImocRcuBABYBEXf8A9a87e/uXjp9XT3ks= golang.org/x/sys v0.42.0 h1:omrd2nAlyT5ESRdCLYdm3+fMfNFE/+Rf4bDIQImRJeo= golang.org/x/sys v0.42.0/go.mod h1:4GL1E5IUh+htKOUEOaiffhrAeqysfVGipDYzABqnCmw= +golang.org/x/sys v0.43.0 h1:Rlag2XtaFTxp19wS8MXlJwTvoh8ArU6ezoyFsMyCTNI= +golang.org/x/sys v0.43.0/go.mod h1:4GL1E5IUh+htKOUEOaiffhrAeqysfVGipDYzABqnCmw= golang.org/x/term v0.37.0 h1:8EGAD0qCmHYZg6J17DvsMy9/wJ7/D/4pV/wfnld5lTU= golang.org/x/term v0.37.0/go.mod h1:5pB4lxRNYYVZuTLmy8oR2BH8dflOR+IbTYFD8fi3254= golang.org/x/term v0.38.0 h1:PQ5pkm/rLO6HnxFR7N2lJHOZX6Kez5Y1gDSJla6jo7Q= golang.org/x/term v0.38.0/go.mod h1:bSEAKrOT1W+VSu9TSCMtoGEOUcKxOKgl3LE5QEF/xVg= golang.org/x/term v0.40.0 h1:36e4zGLqU4yhjlmxEaagx2KuYbJq3EwY8K943ZsHcvg= golang.org/x/term v0.41.0 h1:QCgPso/Q3RTJx2Th4bDLqML4W6iJiaXFq2/ftQF13YU= +golang.org/x/term v0.42.0 h1:UiKe+zDFmJobeJ5ggPwOshJIVt6/Ft0rcfrXZDLWAWY= golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= golang.org/x/text v0.3.3/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= golang.org/x/text v0.31.0 h1:aC8ghyu4JhP8VojJ2lEHBnochRno1sgL6nEi9WGFGMM=