Repository navigation
docs: add Mistral AI model provider page for kagent 1.x (#517) - #643
boxcee-interview wants to merge 1 commit into
Conversation
Signed-off-by: Moritz Schmitz von Hülst <mschmitzvonhuelst@gmail.com>
|
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?
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.