Add Bifrost provider dialect and enable model providers in UI#6358
Conversation
There was a problem hiding this comment.
Pull request overview
This PR expands Obot’s model-provider support by re-enabling additional providers in the admin UI, adding provider ID constants, improving provider model-list URL construction, and updating docs to reflect new/changed Azure + Ollama configuration guidance.
Changes:
- Extend the admin “Model Providers” UI to treat additional providers as Nanobot-integrated (not “Coming soon”).
- Add new common provider IDs for Azure (API key) and Azure (Entra ID).
- Update backend model listing to build
/v1/modelsURLs usingurl.URL.JoinPath, and recognize the Bifrost dialect mapping to the generic proxy route. - Refresh model-provider documentation (Azure + Ollama) and update Go dependencies.
Reviewed changes
Copilot reviewed 6 out of 7 changed files in this pull request and generated 2 comments.
Show a summary per file
| File | Description |
|---|---|
| ui/user/src/routes/admin/model-providers/+page.svelte | Expands the set of providers considered integrated with Nanobot for UI “Coming soon” behavior. |
| ui/user/src/lib/constants.ts | Adds AZURE and AZURE_ENTRA provider IDs used by the UI. |
| pkg/gateway/server/dispatcher/availablemodels.go | Uses JoinPath("v1","models") to construct the models endpoint robustly. |
| pkg/controller/handlers/nanobotagent/nanobotagent.go | Adds handling for DialectBifrost to use the generic /api/llm-proxy base URL. |
| docs/docs/configuration/model-providers.md | Updates Azure and Ollama configuration docs to match the new provider behavior. |
| go.mod | Adds new dependencies (incl. Bifrost core) and updates many versions; introduces an otelgrpc replace pin. |
| go.sum | Updates checksums for the dependency changes. |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
There was a problem hiding this comment.
Pull request overview
Copilot reviewed 6 out of 7 changed files in this pull request and generated 1 comment.
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
75b789c to
01842cd
Compare
There was a problem hiding this comment.
Pull request overview
Copilot reviewed 7 out of 8 changed files in this pull request and generated 3 comments.
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
There was a problem hiding this comment.
Pull request overview
Copilot reviewed 8 out of 9 changed files in this pull request and generated 1 comment.
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
0d42019 to
2a53fad
Compare
There was a problem hiding this comment.
Pull request overview
Copilot reviewed 9 out of 10 changed files in this pull request and generated 3 comments.
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
2a53fad to
5e60960
Compare
thedadams
left a comment
There was a problem hiding this comment.
Backend looks good with the understanding that the replace directive is addressed before this goes into main.
* Add Bifrost provider dialect * Enable bedrock provider in UI * Enable Ollama in UI * Enable Azure, AzureEntra in UI * Update docs * Update Nanobot branch * Improve docs for Azure Entra * fix go mod issue * Resolve PR comments * fix go mod * Improve Ollama networking doc for linux users
* Add Bifrost provider dialect * Enable bedrock provider in UI * Enable Ollama in UI * Enable Azure, AzureEntra in UI * Update docs * Update Nanobot branch * Improve docs for Azure Entra * fix go mod issue * Resolve PR comments * fix go mod * Improve Ollama networking doc for linux users
* Add Bifrost provider dialect * Enable bedrock provider in UI * Enable Ollama in UI * Enable Azure, AzureEntra in UI * Update docs * Update Nanobot branch * Improve docs for Azure Entra * fix go mod issue * Resolve PR comments * fix go mod * Improve Ollama networking doc for linux users
* Use Nanobot's new config format + model provider dialects (#6246) * Write .nanobot/nanobot.yaml llmProviders * Simplify docker volume/container inits with runInitContainer * Update some naming to make it clear it is MCP config only * Use Nanobot types when building config * Dynamically build the nanobot.yaml for selected model * Derive Dialect from provider meta * Fix name shadowing * Update go.mod using remote branch * Generate * Fix default proxy for ChatCompletions and add tests * Fix provider config reload with symbolic link * Improve function naming * Improve function naming and other minor changes * Improve ensureCredentials refresh logic * Add Dialect to ModelManifest * regenerate * Always run link for docker * Revert use of nanobottypes * PR comments * Move all config setup to nanobotagent.go * fix boolean condition per copilot comment * Fix error retry check * Add Bifrost provider dialect and enable model providers in UI (#6358) * Add Bifrost provider dialect * Enable bedrock provider in UI * Enable Ollama in UI * Enable Azure, AzureEntra in UI * Update docs * Update Nanobot branch * Improve docs for Azure Entra * fix go mod issue * Resolve PR comments * fix go mod * Improve Ollama networking doc for linux users * Remaining changes: message policies, dependencies, etc. WIP deps Rename NANOBOT_CONFIG_PATH => NANOBOT_CONFIG Fix MessagePolicy for Bifrost Extract and reuse message policies code Include env in BackPopulateModels - This allows the Azure provider to get updated deployments Update kinm + nah improve docs lint generate Improve URL handling * Update pkg/gateway/server/llmproxy.go Co-authored-by: Donnie Adams <donnie@obot.ai> * fix after suggestion applied * Revert "Update pkg/gateway/server/llmproxy.go" This reverts commit 320a47b. * Revert "fix after suggestion applied" This reverts commit 0281a84. * Update Nanobot --------- Co-authored-by: Donnie Adams <donnie@obot.ai>
Addresses #6195
This is merging into a feature branch that already has updated handling for the llmProvider configuration in Nanobot. This re-enables model providers in the UI and updates documentation.
Depends on:
This PR will first be merged into the feature branch. Then, a PR will be opened to main. The others will be merged first, then this will be updated to use the new Nanobot version (for Go library and container image).
Also need to double-check
go.modchanges before going tomain