Repository navigation
docs: add Mistral AI model provider page for kagent 1.x (#517) - #643
boxcee-interview wants to merge 2 commits into
Conversation
|
The |
| ## How the credential reaches Mistral | ||
|
|
||
| The credential never enters the agent. kagent binds the `apiKeySecret` Secret to one destination and one header, `authorization: Bearer *** scoped to `baseUrl` or `https://api.mistral.ai`, and the Agent Substrate egress gateway injects it into each request. For the full credential model, see [About model providers]({{< link path="setup/model-providers/about-model-providers" >}}). | ||
|
|
||
| A `MISTRAL_API_KEY` environment variable on the runtime is a fallback for an image that reads its own key; it is not the ModelConfig path. |
There was a problem hiding this comment.
No other provider page has this section, and About model providers already explains the mechanism. Remove the section and add a Mistral API key row (authorization: Bearer <key>) to the header table in about-model-providers.md instead.
| | `mistral` | Settings that only the Mistral provider takes. An empty block is valid. | | ||
|
|
||
| A CEL rule rejects a `mistral` block on any other provider: `provider.mistral must be nil if the provider is not Mistral`. |
There was a problem hiding this comment.
The CEL rule arrives after the reader has applied the YAML. Move it into the mistral row.
| | `mistral` | Settings that only the Mistral provider takes. An empty block is valid. | | |
| A CEL rule rejects a `mistral` block on any other provider: `provider.mistral must be nil if the provider is not Mistral`. | |
| | `mistral` | Settings that only the Mistral provider takes. An empty block is valid. A CEL rule rejects a `mistral` block on any other provider. | |
| | `maxTokens` | A cap on the tokens generated in one response. Minimum 1. | | ||
| | `timeout` | How long to wait on a request to the provider, in seconds. Minimum 1. | | ||
|
|
||
| Mistral embeddings (`mistral-embed`) are out of scope for this page. |
There was a problem hiding this comment.
This is scoping guidance from the issue, not reader content. Remove it.
| Mistral embeddings (`mistral-embed`) are out of scope for this page. |
| The `Mistral` provider calls the Mistral API directly. Mistral speaks the OpenAI-compatible wire protocol, but kagent exposes it as its own `provider: Mistral` value rather than routing it through the `OpenAI` provider. | ||
|
|
||
| > [!NOTE] | ||
| > This provider works on the `kagent` and `byo` runtimes, but not on `codex` or `claude`. For more information, see [Agent harness]({{< link path="agents/agent-harness#model-provider-support" >}}). |
There was a problem hiding this comment.
Issue #517 asks for a run against a real Mistral key and an on-cluster check of the kagent/byo-only restriction. Did you run either, and on which kagent version?
Signed-off-by: Moritz Schmitz von Hülst <mschmitzvonhuelst@gmail.com>
Signed-off-by: Moritz Schmitz von Hülst <mschmitzvonhuelst@gmail.com>
9449751 to
af72080
Compare
|
All three applied in af72080:
On the real-key run: no, I did not run either check. The page was verified by building the site (hugo 0.160.1, exit 0, 624 pages) and resolving every internal link, but the ModelConfig was not run against a real Mistral key nor on a cluster, so the |
Closes #517
What was wrong
kagent 1.x gained Mistral support (CRD field, runtimes, Helm values and UI in #2406, the controller translator in #3008), but the 1.x model-providers section had no Mistral page, so a reader following the provider pages had no route through the feature.
What this does
Adds
docs-site/content/kagent/1.x/setup/model-providers/mistral.md, following the shape of the existingopenai.mdandxai.mdpages. Every example usesapi.kagent.dev/v1alpha3, the credential section describes egress header injection (not the runtime reading the key), the runtime restriction is stated askagentandbyoonly, and Mistral embeddings are left out of scope — all per the issue.The two corrections the issue names are already on main, so this PR does not repeat them:
agents/agent-harness.md— the Mistral matrix row already reads ✅ ✅ ❌ ❌ and the intro already says "the three that no harness accepts".setup/model-providers/about-model-providers.md— theproviderenum already lists Mistral as accepted.Both landed via #529 (merged 2026-09-29), which is why this PR is a single new file.
How to Test
Hugo build passes on the repo's pinned toolchain:
The page renders at
/docs/kagent/1.x/setup/model-providers/mistral/, and every internal link target (agent-harness#model-provider-support, api-ref#mistralconfig, about-model-providers, your-first-agent, byo-openai) resolves in the build. External Mistral links are skipped on PR runs by the existing link-check workflow.