Metabase AI 设置详解:AI 供应商接入、模型选择与 Metabot 管理

发布时间:2026/9/13 16:18:23
Metabase AI 设置详解:AI 供应商接入、模型选择与 Metabot 管理 Metabase AI 设置详解AI 供应商接入、模型选择与 Metabot 管理【免费下载链接】metabaseThe easy-to-use open source Business Intelligence and Embedded Analytics tool that lets everyone work with data :bar_chart:项目地址: https://gitcode.com/GitHub_Trending/me/metabase本文系统讲解 Metabase 管理后台Admin AI页面的全部配置能力如何接入 AI 供应商或启用 Metabase AI service、为各项 AI 功能指定默认模型与轻量模型、分别配置内部与嵌入式 Metabot以及用描述、语义类型和术语表提升 Metabot 回答质量。读完本文你可以独立完成一次生产环境的 AI 配置并能从源码层面理解这些设置的底层存储与生效机制。启用 AI 功能AI 功能在 Metabase Cloud 与自托管 Metabase 上均可用接入自己的 AI 供应商不要求付费的 Metabase 计划。开启步骤进入Admin AI。在Connect to an AI provider卡片中点击Add a provider。选择供应商并填写凭证参考下文选择 AI 供应商。点击Connect。随后配置 Metabot 及页面下方的其他 AI 功能。从源码看整个实例的 AI 总开关是设置项ai-features-enabled?默认值为true见 src/metabase/llm/settings.clj它对应页面底部的 “Disable all AI features” 拨动开关见后文。选择 AI 供应商在Admin AI页面你决定 Metabase 可以使用哪些 AI 供应商自托管 Metabase且想使用 Metabot需要用自己的凭证 接入一个 AI 供应商。Metabase Cloud可以用自己的凭证接入供应商、使用 Metabase AI service或两者并用。注意在 AI settings 中配置的供应商驱动的是 Metabase内置AI 功能Metabot、SQL 生成等而不是 MCP server——MCP server 模式下 AI 由你的客户端提供参见 MCP 文档。Metabase AI service在 Metabase Cloud 上可以让 Metabase 公司代为管理 AI。适合两种场景你没有偏好的 AI 供应商或希望所有 Metabase AI 成本都通过 Metabase 结算。模型由 Metabase 侧根据内部基准测试选取并持续迭代。使用该服务按 token 用量计费在 Metabase Cloud 订阅费之外。为 Metabot 启用 Metabase AI service 的步骤进入Admin AI。点击Add a provider选择Metabase AI service。同意服务条款。点击Connect。移除服务在供应商列表中点击Metabase AI service旁的...然后点Remove。该连接用实例的 license token 认证无需填写 API key且只能连接一次。在源码中它被标记为 singleton/managed 类型src/metabase/llm/api/provider.clj 的创建端点会拒绝重复连接删除该连接还要求超级用户权限并在 Enterprise 版中取消背后的 Store 订阅cancel-managed-ai-subscription!。接入自己的 AI 供应商Metabase 支持一批供应商完整清单、每个供应商需要的凭证字段与可用模型见 支持的 AI 供应商。大多数供应商只需一个 API key例外包括Amazon Bedrock 需要 AWS 访问密钥对Google Gemini Enterprise 需要服务账号密钥文件或 OAuth token。步骤进入Admin AI。点击Add a provider。选择供应商。填写凭证。表单中的Where do I find this?链接会在新标签页打开对应供应商的密钥管理页面。点击Connect。一个便利细节如果已经复制了 API key直接把 key 粘贴到供应商网格的任何位置Metabase 会自动选中匹配的供应商并帮你填好——请核对供应商是否匹配。这个“按前缀识别供应商”的能力来自源码中的供应商类型注册表每个类型定义了 key 的:prefix如 Anthropic 的sk-ant-、OpenAI 的sk-、OpenRouter 的sk-or-v1-见 src/metabase/llm/provider.clj。连接保存后其模型会出现在Models卡片中供你为每个 AI 功能指定模型见 为每个 AI 功能选择模型。值得注意的实现细节连接不会在凭证被验证通过之前落库。POST /api/llm/providers端点在保存前会调用verify-credentials!实际向供应商发起一次模型列表请求对支持探针的类型还会真正执行一次生成来验证工具调用能力凭证被拒时直接返回 400 并携带供应商的原始错误信息见 src/metabase/llm/api/provider.clj 与 L441-L448。因此界面里“连上了”即代表凭证当时可用。连接多个供应商可以连接任意数量的供应商。添加第一个之后卡片标题变为AI providers按钮变为Add another provider。同类型可以连接多个比如两个 Anthropic key 或两个 Azure 部署。通过连接表单中的Advanced settings填写Display name来区分它们该名称会同时出现在Default model与Mini model下拉框中于是 “Anthropic” 和 “Anthropic (evals)” 可以并列存在。唯一的例外是 Metabase AI service只能连接一次。从源码看每条连接是一个{:key ... :type ... :name ... :config {...}}结构存在单一设置项llm-providers的连接列表中:key是 URL 安全的 slug缺省等于供应商类型所以单连接实例的模型引用读起来与旧版一连接一类型时完全一致见 src/metabase/llm/provider.clj。编辑或删除供应商连接每条连接的...菜单提供Edit修改显示名、凭证或 API base URL。无需重输 API key——只要不替换Metabase 会保留已存储的 key。Remove删除连接及其存储凭证。如果Default model来自该连接Metabase 会自动切换到剩余连接中某个可用的模型若没有剩余连接则把 Metabot 报告为未配置。若Mini model选自该连接则回退为从默认模型推导。对应后端逻辑在DELETE /api/llm/providers/:key删除后检查llm-mini-model与llm-metabot-provider是否指向被删连接指向则清空 mini model 或用fallback-model-ref重新指向第一个可服务模型见 src/metabase/llm/api/provider.clj。Metabase AI service 连接只提供Remove因为它没有自己的凭证可编辑。连接错误与警告某条连接的凭证失效时只有该连接报告错误不影响其他连接模型列表端点对每条连接独立 try/catch一条坏连接不会清空其他连接见 src/metabase/llm/api/provider.clj。缺少必填字段的连接显示警告图标在补齐之前 Metabot 无法使用该连接。用环境变量设置供应商凭证自托管时可以改用环境变量代替管理界面配置供应商。这类连接在列表中显示为只读并附注其来源变量。环境变量还可以覆盖 UI 管理连接的单个字段。例如只设置MB_LLM_ANTHROPIC_API_BASE_URL时base URL 取自环境连接其余部分仍可编辑。源码层面每个单供应商设置项的 getter/setter 都代理到llm-providers连接列表环境变量值“阴影化”shadow连接中的对应字段——读写都经过连接列表见 src/metabase/llm/settings.clj 中connection-field-getter/connection-field-setter与llm-anthropic-api-key定义。把整个列表交给环境管理则设置MB_LLM_PROVIDERS为 JSON 连接数组每个条目含keyURL 安全的 slug、type、显示name和config凭证 map。此时供应商列表在 UI 中只读管理方式为修改MB_LLM_PROVIDERS并重启。API 端点对此有硬校验当检测到llm-providers由环境变量设置时任何经 API 的增删改都会返回 400check-connections-not-env-managed!。常用环境变量速查完整列表见 environment-variables.md变量用途默认值MB_LLM_ANTHROPIC_API_KEY/MB_LLM_OPENAI_API_KEY等各供应商 API key无MB_LLM_PROVIDER_API_BASE_URL各供应商 base URL如 Anthropic 默认https://api.anthropic.com、DeepSeek 默认https://api.deepseek.com见各供应商MB_LLM_PROVIDERSJSON 数组整列表环境化管理UI 只读[]MB_LLM_ALLOWED_NETWORKS供应商 base URL 允许的网络external-only/allow-private/allow-all自托管内网 vLLM 需调整external-onlyMB_LLM_METABOT_PROVIDER格式连接key/模型名如anthropic/claude-haiku-4-5anthropic/claude-sonnet-4-6MB_LLM_MINI_MODEL轻量任务模型同连接key/模型名格式无从默认模型连接推导MB_LLM_MAX_TOKENSLLM 响应最大 token 数4096MB_LLM_CONNECTION_TIMEOUT_MSTCP 连接超时毫秒快速失败不可达供应商10000MB_LLM_REQUEST_TIMEOUT_MS流式响应的分片间读超时毫秒限制块间间隔而非总时长120000MB_LLM_RATE_LIMIT_PER_USER/MB_LLM_RATE_LIMIT_PER_IPSQL 生成限流每分钟20/100MB_LLM_FAST_MODE在模型支持时以供应商 fast mode 运行 Metabot更快、单价更高false在 Metabase Cloud 上需要环境变量请联系支持团队为你的实例设置。为每个 AI 功能选择模型Models卡片决定每个 AI 功能运行在哪个模型上。它按连接分组列出各连接可用的模型条目同时标注连接名与模型名形如 “Anthropic · Claude Sonnet 4.6”。模型列表来自GET /api/llm/models服务端对每条连接并发查询结果带 60 秒 TTL 缓存且缓存键包含配置哈希与所选模型——凭证一轮换旧列表立即失效见 models-cache。默认模型Default modelMetabot、AI explorations 和 SQL 生成 都运行在Default model上。嵌入式 Metabot 同样运行在Default model上Embedded标签页没有单独的模型设置因此两个 Metabot 使用同一选择。源码中该选择即llm-metabot-provider设置值为连接key/模型名字符串默认anthropic/claude-sonnet-4-6见 src/metabase/metabot/settings.clj。模型引用字符串由resolve-model-ref解析为供应商类型、模型与凭证。轻量模型Mini model快速、高频的轻量任务例如给对话命名运行在Mini model上它应该是比默认模型更便宜、更快的模型。可以不显式选择 mini model默认使用与默认模型同一连接中最快的模型各供应商在注册表中声明了:mini-model如 Anthropic 的claude-haiku-4-5-20251001、OpenAI 的gpt-5.4-mini见 src/metabase/llm/provider.clj。某些供应商没有更小模型时mini model 回退到默认模型本身。配置 MetabotMetabot settings卡片分Internal与Embedded两个标签页可将内部 Metabase 的 Metabot 与嵌入式 Metabase 上下文分别配置。例如自己用 Metabase 时开启 Metabot但不给嵌入式 Metabase 的用户开放 Metabot。每个标签页各有独立的启用开关、verified-content 设置、允许集合与提示词建议。启用 MetabotInternal 标签页。为你的 Metabase 开启或关闭 Metabot。Metabot默认启用。启用后Metabot 可帮助用户创建问题、分析数据、解答关于数据的问题关闭后Metabot 图标与键盘快捷键被隐藏。要将 Metabot 限定到特定用户/租户组或限制 token 用量见 AI controls。关闭 Metabot 只关闭应用内的 Metabot 功能如果启用了 MCP server 和 Agent API它们仍然可用。源码层面metabot-enabled?的 getter 是ai-features-enabled?与自身值的逻辑与见 src/metabase/metabot/settings.clj因此总开关一开任何功能开关都被强制关闭API 入口统一经过check-metabot-enabled!校验src/metabase/metabot/config.clj。启用 Embedded MetabotEmbedded 标签页。Enable Embedded Metabot开关控制嵌入式 Metabot同时影响整应用嵌入与模块化嵌入整应用嵌入Metabot 图标和键盘快捷键仅在 Metabot 启用时出现关闭后这些入口一并隐藏。模块化嵌入该开关不会在任何地方“添加” Metabot——必须显式在应用中包含聊天组件如 SDK 的MetabotQuestion。但如果你已经加入了组件再关闭 Embedded Metabot 开关组件将停止工作此时应同时移除或隐藏应用中的组件。Verified contentInternal 与 Embedded 标签页均可用独立配置。Pro 与 Enterprise 版的管理员可以指示 Metabot 只使用经过验证的 models 和 metrics且只使用 models 与 metrics。把 Metabot 限制在已验证的 models/metrics 上有助于产出更可靠的回答——因为你知道 Metabot 能用的数据至少经过人工审核。自然语言查询使用的集合Internal 标签页。选择一个集合含子集合限制 Metabot 在 AI exploration 中搜索的范围。点击Pick a different collection更改选择。该设置只影响从 New AI exploration发起的对话。注意两个边界用户在 AI exploration 中仍可以 -mention 集合之外的条目Metabot 还能看到使用者当前的上下文例如正在浏览的 dashboard即使它不在所选集合中。Embedded Metabot 可使用的集合Embedded 标签页。把嵌入式 Metabot 指向另一个集合用于创建查询时搜索 metrics、models 与已保存的问题。点击Pick a different collection选择集合含子集合。选Our analytics等同没有选——想真正收窄范围请选择更小的集合。另外一旦设置了集合tables 会从嵌入式 Metabot 的搜索结果中消失因此要选一个包含你希望人们基于其构建内容的 metrics 与 models 的集合。这个设置只收窄搜索范围不是权限替代品嵌入式 Metabot 仍能读取和查询使用者有权限的任何内容也能看到该用户最近浏览的条目无论其属于哪个集合。将 Metabot 限制到 verified content 可以把这些近期条目进一步收窄到 verified、official 与 Library 内容但仍不限制在你所选集合内。要控制嵌入中人们能触达的数据请设置数据权限。另见 Set up AI chat in Metabase。提示词建议Prompt suggestionsInternal 与 Embedded 标签页均可用独立配置。用户打开新的 Metabot 对话时Metabase 会基于实例中热门的 models 与 metrics 展示若干建议提示词。点击Regenerate suggested prompts重新生成一组。也可以逐条运行提示词以测试 Metabot 的回答或删除无用的提示词。Internal 与 Embedded 各自维护独立的一组建议在一个标签页重新生成不影响另一个。后端实现是删除旧提示后重新生成见 src/metabase/metabot/api/metabot.clj 中delete-all-metabot-prompts与generate-sample-prompts的组合调用。禁用全部 AI 功能AI 功能页面底部的Disable all AI features是一个总闸。打开后无论上面各功能开关状态如何整个实例的所有 AI 功能都会被隐藏——Metabot、行内 SQL 生成、MCP server、Agent API 以及所有嵌入式聊天组件。它适用于“全实例关停而不用断开供应商、也不必逐个改功能开关”的场景再次关闭即恢复原有配置。对应设置项ai-features-enabled?默认true见 src/metabase/llm/settings.clj如前所述metabot-enabled?与embedded-metabot-enabled?的 getter 都以它为前置条件。需要更细粒度的控制见 AI usage controls。让 Metabot 发挥最大价值的技巧提升 Metabot 表现最核心的做法是把数据整理得像为新人类同事入职做准备一样。具体是为数据与内容添加描述确保每个字段的语义类型正确在术语表中定义领域术语为数据与内容添加描述为 models、metrics、dashboards 和 questions 添加描述。描述应提供上下文、定义术语、解释业务逻辑。管理员还可以整理 table 元数据为表及其字段添加描述。例如一个提供额外上下文的好描述This is a unique ID for the product. It is also called the Invoice number or Confirmation number in customer facing emails and screens.你也可以让 Metabot 帮你写描述。但 Metabot 只能访问数据库里的数据它不可能知道“这个 ID 在 Web 应用里叫 Invoice number”这类值得记录的业务上下文。确保每个字段的语义类型正确确保每个字段的语义类型准确反映其“含义”。例如created_at这类字段应使用 Creation date 语义类型。Metabase 会尝试自动设置语义类型但应逐字段确认其相关语义类型参见 Data types and semantic types。也可以为 models 设置语义类型。在术语表中定义领域术语把组织内的术语、缩写与业务专有名词加入术语表glossary。提交提示词时Metabot 可以查术语表来更好地理解请求。例如在术语表中把 “MRR” 定义为 “Monthly Recurring Revenue”那么当有人问 “Whats our MRR for Q4?” 时 Metabot 就知道你在说什么。这对行业黑话、内部产品名或组织专属缩写尤其有用。Metabot 的权限就是 Metabase 的权限Metabot 继承与其对话的用户的权限因此无需为 Metabot 单独设置权限。任何人使用 Metabot 时Metabot 只能看到该用户有权限看到与执行的内容。也就是说要限制每个人眼中 Metabot 能看到的数据只需像往常一样对其组应用数据与集合权限即可这些权限同样适用于该用户通过 Metabot 的一切操作。查看 Metabot 用量使用Metabase AI service时可前往Admin AI查看本月 Metabot 请求数。若未登录 Metabase Store需先登录商店再回到 Metabase 的 license 页面查看用量。使用自己的供应商凭证时用量与成本可在该供应商的仪表盘跟踪。Pro/Enterprise 版还可使用详细的 AI usage auditing按用户、工具、功能等维度查看 AI 用量明细。延伸阅读使用 Metabot支持的 AI 供应商MCP serverAI 隐私AI 访问与用量控制AI 用量审计Metabot 定制Metabot 系统提示词【免费下载链接】metabaseThe easy-to-use open source Business Intelligence and Embedded Analytics tool that lets everyone work with data :bar_chart:项目地址: https://gitcode.com/GitHub_Trending/me/metabase创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考