Skip to main content

AI Model Providers

A provider is the model vendor Linkiir sends prompts to — an AWS account reached through Bedrock, an Azure resource, a vendor's own API, or a model you run yourself. Each provider carries its own credentials and its own list of models this instance may use.

At least one provider with at least one enabled model is required before the assistant can answer anything. Until then the chat panel has nothing to send a prompt to.

Providers are configured in Settings → AI → Setup, which needs the AI settings permission. Each provider is a card with two groups of fields — Connection (where it is) and Credentials (how we sign in) — followed by its Permitted models table.

Supported provider types

UI label (Type)Use it forPage
AWS BedrockClaude, GPT-OSS, Amazon Nova, MiniMax and others through an AWS accountAWS Bedrock
Azure AI FoundryModels deployed in an Azure AI Foundry resourceAzure AI Foundry
Azure OpenAIAn Azure OpenAI resourceAzure OpenAI
OpenAIOpenAI directlyOpenAI
xAI (Grok)xAI's Grok modelsxAI (Grok)
MiniMaxMiniMax's own APIMiniMax
Ollama (self-hosted)A model you run yourselfOllama
Other OpenAI-compatible APIAny service exposing an OpenAI-compatible APIOther OpenAI-compatible API

You can configure several providers at once. They coexist: a Bedrock account, an Azure resource and a self-hosted model can all be live, and every enabled model from every provider appears in the chat model picker.

API shapes

The API shape is the wire protocol a provider is addressed by. Choosing a Type normally settles it, so the form states the resolved shape as a sentence with an Override link rather than asking you again.

API shapeUsed byWeb search
converseAWS BedrockNo
chat_completionsOpenAI-compatible services, MiniMax, OllamaNo
responsesAzure OpenAI, Azure AI Foundry, OpenAI, xAI (Grok)Yes
The one consequence to remember

Web search only works on a responses provider. On any other shape the Web column shows and cannot be switched on. If people need the assistant to search the web, that provider has to be a responses one.

Connection fields

FieldShown forPurpose
NameAllUnique on this instance. Keys the stored credential.
TypeAllThe service. Sets the protocol, narrows the sign-in methods below, and drives the vendor badge in chat.
API shapeAllconverse, chat_completions or responses. Normally derived from the Type and shown as a sentence with an Override link. Only responses can carry web search.
API version (optional)responses providersBlank for a GA resource. Set preview for an Azure resource on the preview API.
RegionAWS and Azure typesThe provider region, for example us-east-1.
EndpointRequired for Ollama and Other OpenAI-compatible APIWhere the provider is reached. For the other types it is optional and tucked behind a disclosure link, for a VPC/PrivateLink or Private Link endpoint, a custom domain, or a proxy.

Credentials fields

FieldPurpose
Sign-in methodNarrowed to the methods the selected Type actually has. Platform identity is listed first because it stores no secret.
Credential idThe non-secret half of the credential, named for the method: Access key ID, Role ARN (optional), Client ID, or Managed identity (optional). Kept readable so the form can show which credential is configured. An API key is a single opaque value and has no companion field.
Secret / Secret access keyStored encrypted, never shown again. Leave the mask to keep the current secret.
Platform identity is not a guaranteed default

The platform-identity sign-in methods — AWS IAM role (platform identity), Entra ID managed identity (platform identity) and Entra ID service principal (platform identity) — store no secret and resolve an identity at request time. Confirm with Test connection that the principal reported is the one you meant. If it fails to resolve, use a key-based method instead and raise the identity problem with your vendor.

Permitted models

Model ids are typed, not discovered. Nothing fetches a catalogue from the vendor, so the id you enter is the id used in the request — verbatim. Copy it from the vendor's console.

ColumnDefaultMeaning
Model idThe provider's own model id, used verbatim
Display nameFalls back to the idWhat the chat model picker shows
OnOnWhether this instance may use the model
Cost1.0A relative multiplier you set. 1.0 means "the everyday model". Auto compares these to pick the cheapest capable model. Nothing fetches a price list.
AutoFollows OnWhether Auto may pick this model
WebOffProvider-hosted web search. Shows when the API shape cannot carry it

For a responses provider only, each row also has a deployment name sub-field under the model id: what the request is addressed by when it differs from the model id. Azure routes by deployment name, so this is where an Azure deployment name goes.

Capabilities are not entered

Context window, tool support and image support are not fields. They ship with the release, per model family. A model the release does not recognise is treated conservatively — small context, no tools, no images — so it is still offered for simple questions but is never chosen for Build or for a prompt containing an image. If a model you rely on behaves that way, check the id for a typo first.

Saving is refused with an explanatory error if Web is on for a model whose API shape cannot carry web search.

Which model should I enable?

  • At least one model that supports tools. Build needs tool calls; a model without them can answer questions but cannot make changes.
  • One model that can read images, if people will paste screenshots into the chat.
  • Cost ratings that mean something. Leave your everyday model at 1.0, rate a cheap small model below it and an expensive frontier model above it. Auto's "cheapest capable" choice is only as good as these numbers.
  • Auto on for the models you are happy to be picked automatically. Turning Auto off for a model keeps it available in the picker while excluding it from automatic selection.

How model availability is decided

A model is offered in the chat picker when its provider has a supported API shape, has credentials configured, and is reachable. When one of those is missing the model is not hidden — it appears greyed out with the reason, so an operator can see that a model exists and what is stopping it, rather than wondering where it went.

Test connection

Test connection appears on a provider card in edit mode. It sends one fixed synthetic prompt — reply with the single word: ok — through exactly the path a real chat turn uses, then reports the principal the provider authenticated as and one row per enabled model.

It tests the saved provider, not what is currently typed into the form. So the order is:

  1. Paste your values.
  2. Save.
  3. Test connection.

Each model row shows the stage it reached, because the stages have different fixes:

StageWhat it meansWhat to do
OKThe round trip worked. The row shows the reply, the latency and the token countsNothing
IncompleteA field this provider needs is emptyFill the field the card flags
No credentialNo credential is stored for this providerEnter the secret, or pick a sign-in method that matches what you have
Bad credentialThe credential was rejectedRe-copy the key or secret from the vendor. Keys get rotated
Not allowedThe credential is valid but the policy is too narrowWiden the IAM policy (or Azure role) to allow invoking this model
Not enabled for accountThe vendor account is not entitled to this modelGrant model access on the vendor side. This is not a settings fix
Rate limitedThe deployment's capacity is exhaustedRaise the deployment's TPM quota, or test fewer models at once
Unknown modelThe provider does not recognise the model idRe-copy the exact id from the vendor console
UnreachableThe request never arrivedCheck network egress from the Linkiir host, and TLS trust for a private endpoint
FailedThe call errored for another reasonRead the detail on the row

A pass is stamped with the time it was made. It is a fact about that moment, not a standing guarantee.

Verify it worked

  • Test connection reports OK for every model you enabled, and the principal shown is the one you intended.
  • The chat model picker lists your enabled models under the right vendor badge, none of them greyed out.
  • A short question in the chat panel gets an answer.

Next