feat(providers): add Docker Model Runner provider#1312
Conversation
|
/ok to test 4158928 |
|
@ericcurtin this looks good to me, fix the merge conflicts and I'll approve |
| protocol: rest | ||
| access: read-write | ||
| enforcement: enforce | ||
| binaries: [/usr/local/bin/docker] |
There was a problem hiding this comment.
Is docker making the API call or would it be a model harness, agent workload, etc?
There was a problem hiding this comment.
In this instance it's the inference provider. Docker model runner is effectively an alternative to ollama.
|
Label |
PR Review StatusValidation: this is project-valid provider-v2 work for a built-in local inference provider. The merge-conflict blocker is resolved, and gator has moved this PR back to review. Review findings:
Docs: updated for the direct UX change, but currently inaccurate until no-credential routing works as documented. Checks: Branch Checks are failing. The Rust jobs fail in E2E: Next state: |
|
I'm also curious if there's been a full e2e smoke test done here? What does a deployment actually look like? |
Add model-runner as a built-in inference provider so agents running inside OpenShell sandboxes can route inference requests to the local Docker Model Runner daemon via model-runner.docker.internal. No credentials are required; Docker Model Runner is accessed over the Docker-internal network without authentication by default. Add an InferenceProviderProfile for model-runner in openshell-core so the model-runner type can be used with inference.local. The default base URL is http://model-runner.docker.internal/engines/llama.cpp/v1. Override with MODEL_RUNNER_BASE_URL if needed. Add documentation on par with the Ollama integration: - Tutorial: docs/get-started/tutorials/inference-docker-model-runner.mdx - model-runner added to the Supported Provider Types table - model-runner added to the Supported Inference Providers table - Docker Model Runner tab added to inference-routing.mdx
4158928 to
3fb5d0c
Compare
|
/ok to test 3fb5d0c |
|
I'm heading on PTO, unless someone wants to take this over like @ilopezluna or @doringeman it will probably stay stagnant... But I don't think they are vouched for |
|
@johntmyers looking at the PR Review Status, I get the impression the coding agent is assuming that docker is doing some sort of pass through of provider and credentials instead of serving local inference similar to ollama. |
Ah yes, probably thinks that b/c I steered it that way. I'd still prefer not to populate legacy v1 providers with newer ones. So I think this could be reduced to only use the provider v2 profile. Since it could be stale for a while I'll close it and if someone wants to re-open and adjust that works for me. |
Summary
model-runneras a built-in inference provider for OpenShellmodel-runner.docker.internalmodel-runneris now a first-class inference routing type forinference.local(on par with Ollama, LM Studio, and other local providers)Related Issue
N/A — new provider addition from the Docker ecosystem.
Changes
providers/model-runner.yaml— declarative profile: inference category,model-runner.docker.internal:80endpoint,dockerbinarycrates/openshell-providers/src/providers/model_runner.rs—ModelRunnerProviderplugin; always returns a default discovered provider since the service is localcrates/openshell-providers/src/providers/mod.rs— exposemodel_runnermodulecrates/openshell-providers/src/profiles.rs— embed YAML at compile timecrates/openshell-providers/src/lib.rs— register plugin inProviderRegistry; addmodel-runnerandmodel_runneraliases tonormalize_provider_typecrates/openshell-core/src/inference.rs— addInferenceProviderProfileformodel-runnerso it can be used withinference.local; default base URL ishttp://model-runner.docker.internal/engines/llama.cpp/v1; overridable viaMODEL_RUNNER_BASE_URLcrates/openshell-server/src/inference.rs— addmodel-runnerto the supported-types error messagedocs/get-started/tutorials/inference-docker-model-runner.mdx— new tutorial on par with the Ollama tutorialdocs/get-started/tutorials/index.mdx— add Docker Model Runner tutorial carddocs/sandboxes/inference-routing.mdx— add Docker Model Runner tab to the Create a Provider section and Next Stepsdocs/sandboxes/manage-providers.mdx— addmodel-runnerto Supported Provider Types and Supported Inference Providers tablesTesting
openshell-providersunit tests passmodel_runner.rscovering id and discoveryopenshell-corefor themodel-runnerinference profilecargo clippy -p openshell-providers -p openshell-core— cleancargo fmt --all— cleanChecklist
default_profiles_are_sorted_by_idtest)