Telemetry off
Documentation

Documentation

2. Setting Up an AI Provider

Created
Jun 5, 2026
Updated
Sep 9, 2026

The assistant talks to a language model through a provider you choose. Configure the provider and credential in the AI assistant tab of Chart Settings (or from the assistant panel), then pick a model.

Model IDs and provider behavior on this page were verified on 2026-09-09 against the assistant's implemented registry and the linked provider catalogs.

Supported providers

ProviderCredentialConnection
OpenAIOpenAI API keyDirect from the browser
AnthropicAnthropic API keyDirect from the browser
GoogleGoogle AI Studio keyDirect from the browser
AWS BedrockBedrock API keyThrough the app's server proxy
Google Vertex AIService-account JSONThrough the app's server proxy

Model discovery

The model selector asks the provider what it currently serves and caches the answer in your browser for a day, so a model released today can be selected without an app update. The lists below are the built-in seed: they show instantly, keep working offline or before a key is pasted, and supply readable names where a provider returns none.

  • OpenAI, Anthropic, Google: the browser queries the provider's model-list endpoint directly with your key, the same way it sends chat requests. Nothing leaves your browser except to that provider.
  • AWS Bedrock, Google Vertex AI: the list is fetched through the app's server proxy, because those catalogue APIs are not reachable from a browser. Both are entitlement-sensitive: an inference-only Bedrock API key and an AI Studio Express Vertex project cannot list models at all. When that happens the picker keeps the built-in seed and the refresh button explains why. Every seed entry is kept alongside whatever the catalogue returns, since such projects can often invoke a model they are not permitted to list.
  • OpenAI returns every model on the account, so the list is filtered to chat families (gpt-*, o*, chatgpt-*), other modalities are dropped, and date-pinned snapshots are hidden when their rolling alias is also available.

Use the refresh button next to the model picker to re-query immediately. A background refresh is silent; an explicit refresh always reports the outcome, including a bad key or a permission problem. Removing a provider's key also drops its cached list.

Provider availability can still vary by account, project, rollout, or region.

Seed models and defaults

OpenAI

  • Default: gpt-5.6-terra
  • Also available: gpt-5.6-sol, gpt-5.6-luna
  • Official catalog: OpenAI models

Anthropic

  • Default: claude-sonnet-5
  • Also available: claude-opus-5, claude-fable-5, claude-haiku-4-5-20251001
  • Official catalog: Claude models overview

Claude Fable 5 retention notice: claude-fable-5 requires 30-day data retention and is not available under zero data retention (ZDR). Do not select it when your organization requires ZDR. See Anthropic's Fable 5 availability notes.

Google

  • Default: gemini-3.7-flash
  • Also available: gemini-3.6-flash, gemini-3.5-flash, gemini-3.1-pro-preview Preview
  • Official catalog: Gemini API models

AWS Bedrock

  • Default: global.anthropic.claude-sonnet-5
  • Also available: global.anthropic.claude-opus-5, global.anthropic.claude-opus-4-8, global.anthropic.claude-haiku-4-5-20251001-v1:0, global.amazon.nova-2-lite-v1:0
  • Official catalog: Amazon Bedrock models at a glance

Google Vertex AI

  • Default: gemini-3.5-flash
  • Also available: gemini-3.7-flash, gemini-3.6-flash, gemini-3.1-pro-preview Preview, claude-opus-4-7, claude-opus-4-6, claude-sonnet-4-6, claude-haiku-4-5@20251001
  • Official catalog: Vertex AI Model Garden

Stored model selections

When the seed catalog changes, a known older stored model ID is migrated to its maintained, tier-equivalent replacement. For example, older flagship, balanced, and lightweight OpenAI selections move to the corresponding GPT-5.6 tier, and known older Claude or Gemini IDs move to their current seed counterparts.

Any other non-empty stored ID is kept as-is. With runtime discovery, an ID the seed does not recognise is far more likely to be a newer model you picked from the live list than an invalid one, and resetting it would silently downgrade your selection on every reload. Only an empty or malformed stored value falls back to the provider's default model. This normalization happens when a selection is read and when it is saved.

Cloud routing caveats

AWS Bedrock inference profiles and regions

The Bedrock entries above are callable inference-profile IDs. The app preserves the selected ID exactly when invoking Bedrock: it does not add, remove, or rewrite prefixes such as global. and does not convert the ID into a foundation-model ID.

The region encoded in a Bedrock API key takes precedence; otherwise the selected Bedrock region is used. That region is the request's source Region, not a promise about where inference runs. The source Region must support the selected inference profile. A global. profile can route the request to any destination Region in that AWS profile, and AWS can expand a global profile's destination list over time. IAM and service-control policies must permit all required destinations or the request can fail. Review AWS inference-profile regions and IDs, especially when data residency matters.

Vertex AI global routing

This integration sends Vertex AI requests with location: global; it does not currently expose a regional endpoint selector. Global routing improves availability, but it does not guarantee data residency or in-region ML processing, and the chosen model must support the global endpoint in your project. If your workload requires regional processing, do not rely on this integration's current Vertex route. See Vertex AI deployment and endpoint locations.

Sampling behavior

The assistant normally sends temperature: 0.2 where the model supports it. For GPT-5.6 reasoning models, all Claude models, and Gemini 3 models, it deliberately omits temperature; it also does not send a user-selected top_p or another manual sampling control. These families use provider-managed reasoning or adaptive-thinking behavior, where fixed sampling controls can be unsupported or conflict with the model's native reasoning mode. Omitting them lets the provider apply compatible model defaults; for GPT-5.6, the app requests low reasoning effort instead.

How credentials are used

  • OpenAI, Anthropic, and Google are called directly from your browser using the key you enter.
  • AWS Bedrock and Google Vertex AI are routed through server-side routes under /api/ai/.... Vertex expects a service-account JSON key rather than a plain string.
  • The assistant can run a lightweight connection test before you start chatting.

Security: where your credential is stored

Your credential is stored in this browser's local storage on this device. Direct-provider credentials are sent from the browser to that provider; Bedrock and Vertex credentials are sent to this app's proxy for the request.

  • Use credentials scoped to the minimum permissions you need, and prefer credentials you can rotate or revoke.
  • Avoid entering credentials on shared or untrusted machines; clearing site data removes stored credentials.
  • Credentials are not synced across devices or shared between browsers.

Next steps

With a provider configured, start a conversation.

Next: Chatting With Your Chart