# Configure language models

Connect language models, configure the Fast, Omni, and Agent roles in model groups, and test connectivity.

使用指南 · 模块: admin · 管理人员 · 部署形态：资料未说明 · 已确认产品版本：资料未说明 · 来源：现有文档

AskTable supports a variety of language models. Models must support tool calling to perform data queries, Python calculations, and chart generation.

## Before you begin

- Permissions: the account's “User identity” must be “System administrator.” Model groups are global resources, not isolated by project.
- Entry: lower-left avatar → “System settings” → “Model groups” on the left. The first-deployment setup wizard also guides you through configuration.
- Prepare connection information: AskTable managed compute requires only a “Compute API Key”; your own service requires a Base URL, API Key, and model name.
- For private deployments, confirm that the server can access the model service URL over the internet.
- When connecting a local model that you deploy yourself, the model must meet all of the following: support Function Call (function calling); support clean (pure) JSON mode; support `tool_choice` set to `auto`; have a context window of at least 128K; and have a parameter scale no lower than qwen3.7-35B. Models that only handle ordinary chat and do not meet these conditions may fail to complete data queries after being connected.

## Get an AskTable official compute API Key

The “AskTable official API channel” requires a “Compute API Key.” After deploying AskTable, apply for one as follows. Use the same method on a site that has already been initialized and no longer enters the setup wizard:

1. Open the AskTable SaaS environment `cloud.asktable.com` and sign in.
2. Click your nickname in the lower-left corner and choose “私有部署” (Private deployment).
3. Under “AI算力” (AI compute), apply for an API Key for AskTable's official models.

After you get the Key, enter it as the “Compute API Key” in the “AskTable official API channel” card or an official-type model group on your private deployment site.

## Steps

**First deployment: use the setup wizard**

Opening the site takes you to `/setup`, with two steps at the top: “Create administrator” and “Configure models.”

The “Configure models” page has three cards:

| Card                                                | When it appears                                                               | What to enter                                                                                            |
| --------------------------------------------------- | ----------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------- |
| “Alibaba Cloud Model Studio configuration detected” | Alibaba Cloud Model Studio environment variables are configured on the server | Nothing; the message says “qwen3-max will be used as the default model”                                  |
| “AskTable official API channel”                     | Always                                                                        | “Compute API Key,” next to “No API Key? Click to get one for free”                                       |
| “Custom channel”                                    | Always                                                                        | “Base URL,” “API Key,” and “Model name”; the model name placeholder is “For example, gpt-4o, qwen-3-max” |

Click “Complete configuration” to enter the project list. Sites already initialized do not enter this wizard again.

**Open model group management**

Lower-left avatar → “System settings” → “Model groups” on the left.

The title is “Model group management,” the subtitle is “Manage LLM model group configurations in the system,” and “New model group” appears at the upper right. The left column lists model groups, showing each “Display name” (or “Unique identifier” when blank) and Base URL. Badges include “Official” and “Default”; protocols other than OpenAI show their protocol name, such as “Anthropic.” When nothing is selected, the right column says “Select a model group to view details”; when no groups exist, the left column says “No data.”

**Create a model group**

Click “New model group.” The first step, “Select model group type,” has three cards:

- “AskTable official” — “Use AskTable compute services; only a Compute API Key is required.”
- “OpenAI compatible” — “Connect third-party LLM services with custom configuration.”
- “Anthropic compatible” — “Connect third-party LLM services using the Anthropic protocol.”

The official type requires only “Compute API Key” (placeholder `asktable-`). Custom types require:

| Field               | Description                                                      |
| ------------------- | ---------------------------------------------------------------- |
| “Unique identifier” | Required machine identifier; cannot duplicate an existing group  |
| “Display name”      | Optional; placeholder “Leave blank to use the unique identifier” |
| “API protocol”      | “OpenAI” or “Anthropic”                                          |
| Base URL            | Required, for example `https://api.openai.com/v1`                |
| API Key             | Required; placeholder `sk-...`                                   |

Click “Create”; the button changes to “Creating...” and success shows “Model group created successfully.” The official type automatically sets Base URL to `https://aiproxy.asktable.com/v1` and presets the three roles to `asktable-fast`, `asktable-omni`, and `asktable-agent`.

**Add models to the available list**

Select a group and use the “Available models” section in the right column:

1. Manual entry: fill in “Model ID (e.g. gpt-4o)” and “Display name (optional),” then click “Add”; a duplicate shows “Model already exists.”
2. Fetch: click “Fetch” to call the upstream model list endpoint and add models not already listed. Newly fetched models are disabled by default.
3. Search and statistics: the search placeholder is “Search models...”; the statistics above read “N models in total, M enabled (enabled models listed first).”

Each row has four controls on the right: a gear for “Model options,” a trash icon for “Remove model,” a lightning icon for “Test model,” and a switch at the far right to enable it. Removing a model also clears role routes that reference it.

**Test each model**

Click the inline “Test model” lightning icon. Success shows “Model X passed the test”; failure shows “Model X failed the test.”

Enable only models that pass: dropdowns under “Model routing” list only enabled models.

**Assign models to the three roles**

“Model routing” has three rows named Fast, Omni, and Agent, each with a dropdown. An unselected row shows “Unspecified”; choices are the enabled models.

Changes save immediately; no additional Save click is needed.

**Adjust model options**

Click a model's gear to open the “Model options” dialog, described as “Configure options for X”:

| Item                                                     | Description                                                                                                         |
| -------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------- |
| “Context window”                                         | Numeric input with placeholder `128000`. When blank, conversation context compression falls back to 65536           |
| “Provider options (JSON)”                                | Parameters passed unchanged upstream; an example in the description is `thinking.type = disabled`                   |
| “Thinking parameters (fast / deep)”                      | Select a provider type, then a level for “Fast mode” and “Deep thinking mode”; levels merge over “Provider options” |
| “Send historical reasoning content (reasoning\_content)” | Switch, enabled by default                                                                                          |

Provider choices for “Thinking parameters” are “Disabled (no override),” “DeepSeek (thinking switch),” “OpenAI (reasoning\_effort),” “Qwen / DashScope (enable\_thinking),” and “Custom (raw JSON).” Selecting a provider defaults fast mode to the most economical level and deep thinking mode to a stronger level; these can be changed. Selecting “Custom (raw JSON)” gives each mode a JSON text box. Invalid JSON is highlighted in red and is not saved.

The description for “Send historical reasoning content (reasoning\_content)” says “Enable for models that continue reasoning, such as DeepSeek V4; disable for models that do not accept this field, such as asktable-fast.”

**Set default, clone, and delete**

The “More” menu at the upper right of the right column has two actions:

- “Set as default”: success shows “Set as default model group.” There is only one default group across the site; it is also the fallback when none is specified.
- “Clone model group”: creates a copy with `-copy` appended to its identifier, including credentials and model configuration.

“Delete” appears only for non-default groups. Its confirmation dialog reads “Are you sure you want to delete model group "X"? This action cannot be undone.” Default groups do not show a Delete button.

**Choose a model group for the project**

Projects follow the system default group by default. To select a specific group, use the left main navigation → “Settings” beside the project name → “General” → “Model group” dropdown. Options are “Default,” “Default (group name),” or a specific group name; the placeholder says “Please select a model group.” When no group is available, the message says “No model groups available. Please contact an administrator to configure models.”

## Key constraints

| Item                                | Value or default                                                                                | Where to change it                                        |
| ----------------------------------- | ----------------------------------------------------------------------------------------------- | --------------------------------------------------------- |
| Model group scope                   | Global, not isolated by project                                                                 | Avatar → “System settings” → “Model groups”               |
| Default model group                 | One is required and cannot be deleted                                                           | “Model groups” → target group → “More” → “Set as default” |
| Official channel Base URL           | `https://aiproxy.asktable.com/v1`                                                               | Set automatically when creating the official type         |
| Official channel preset roles       | Fast is `asktable-fast`, Omni is `asktable-omni`, Agent is `asktable-agent`                     | “Model groups” → “Model routing”                          |
| Model roles                         | Three: Fast, Omni, Agent                                                                        | “Model groups” → “Model routing”                          |
| “API protocol”                      | “OpenAI” or “Anthropic”                                                                         | “Model groups” → “Connection configuration”               |
| “Context window”                    | Blank by default; context compression falls back to 65536 when blank                            | Model options                                             |
| “Send historical reasoning content” | Enabled by default                                                                              | Model options                                             |
| “Thinking parameters”               | “Disabled (no override)” by default                                                             | Model options                                             |
| “Extra request headers”             | Blank by default                                                                                | “Model groups” → “Extra request headers”                  |
| Fields visible for official groups  | Only “Display name” and “Compute API Key” by default; others are under “Advanced configuration” | “Model groups” → “Advanced configuration”                 |
| Project model group                 | Follows the system default by default                                                           | Project settings → “General” → “Model group”              |
| Official group's “Top up”           | Appears only in private deployments                                                             | “Model groups” → official group's right column            |

The values above are defaults and can be adjusted in the administration console.

## Troubleshooting

| Symptom                                                                                                    | Identifying condition                                              | Resolution                                                                                     |
| ---------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------ | ---------------------------------------------------------------------------------------------- |
| Conversation reports “Model group X authentication failed; check the group's API key or balance”           | Error code `LLM_AUTH_ERROR`                                        | Reenter the API Key in “Model groups,” or top up the account                                   |
| Conversation reports “Model group X connection failed”                                                     | Error code `LLM_CONNECTION_ERROR`                                  | Check Base URL; in private deployments, also confirm the server can reach it over the internet |
| Conversation reports “Model group X service error; try again later”                                        | Error code `LLM_ERROR`                                             | The upstream service is failing; retry later or check upstream status                          |
| Conversation reports “AI service returned an invalid response”                                             | Error code `LLM_BAD_RESPONSE`                                      | The model's tool-calling support is incomplete; change models or adjust “Provider options”     |
| Conversation reports “Input triggered content safety review; revise and retry”                             | Error code `LLM_CONTENT_FILTERED`                                  | Rephrase; this is the upstream content review, not an AskTable block                           |
| Reports “This feature is available only when the official AI proxy channel is configured”                  | Error code `ASKTABLE_LLM_ONLY`                                     | The feature requires an “AskTable official” group; create one and “Set as default”             |
| Project settings reports “Model group "X" does not exist; using the default model group”                   | The project's selected group was deleted                           | Select another in “Model group,” or “Set as default” for the current group                     |
| Project settings reports “No model groups available. Please contact an administrator to configure models.” | No model group exists                                              | Create a group first                                                                           |
| “Test model” fails                                                                                         | Clicking the lightning icon shows “Model X failed the test”        | Confirm that the model ID matches upstream and that the Key can call this model                |
| Desired model is missing from “Model routing”                                                              | Dropdowns list only enabled models                                 | Enable it under “Available models”                                                             |
| Delete button is unavailable                                                                               | The group is the default                                           | “Set as default” for another group, then delete this one                                       |
| “Deep thinking mode” has no effect                                                                         | The model has no deep level configured under “Thinking parameters” | Model options → “Thinking parameters” → choose a level for “Deep thinking mode”                |
| “Thinking parameters” cannot be saved                                                                      | A red JSON text box indicates invalid JSON                         | Correct the JSON, then save                                                                    |
| A model to remove still has role references in the model list                                              | The model occupies a role route when removed                       | After removal, select a new model for that role in “Model routing”                             |

## Next steps

- Use a different model group for each project: Project settings → “General” → “Model group”
- Remove private deployment limits: [Commercial licensing](https://docs.asktable.com/en/admin/license)
- Connect data, then start a conversation: [Connect data sources](https://docs.asktable.com/en/data/connect)
- Deployment parameters and operational responsibilities: [Deployment overview](https://docs.asktable.com/en/deploy/overview)
