---
title: "模型提供商"
description: "配置 OpenAI 兼容接口或本地模型。"
---

Bi 通过 OpenAI 兼容的接口调用模型，因此大多数服务商都能直接接入。

## 添加提供商

在设置中填入：

- **Base URL** — 服务端点，例如 `https://api.openai.com/v1`
- **API Key** — 你的密钥
- **模型名** — 例如 `gpt-4o`
- **协议类型（Kind）** — `openai` 表示 OpenAI 兼容协议，`ollama` 走 Ollama 原生接口

每个模型还能标注能力（`vision` / `tool` / `reason` / `think`）与上下文窗口，用于界面展示和筛选。

## 密钥存在哪

密钥保存在本地 `.bi/llm.json`，这个文件已在 `.gitignore` 中。**Bi 没有自己的服务器**，密钥只发往你配置的那个服务端点；从旧版 `.bi/config.json` 升级时，其中的 `api_key` 会被自动迁移一次。

## 本地模型

指向本地部署的 OpenAI 兼容端点即可让内容不出本机，常见选择：

- Ollama
- LM Studio
- vLLM

只要服务暴露 `/v1/chat/completions` 就能接入。Ollama 另有原生协议支持（`kind: ollama`），可直接读本机模型列表，并能通过 `extra` 传 `keep_alive`、`num_ctx` 这类专属参数。

## 模型选择与故障转移

`default` 字段有两种取值：

- `"auto"` — 由路由策略自动挑
- `"<提供商ID>/<模型ID>"` — 固定用某一个

`auto` 的语义要理解清楚，它**不是轮换**：

- **不轮换** — 每次都取候选池里第一个健康的模型，它一直正常就一直用
- **失效才切** — 连接失败、超时、401、429、5xx 会把该模型标记为不健康并进入冷却，然后换下一个健康候选重跑这一次调用
- **自动回切** — 冷却到期后它重新成为候选，因排在首位就自然切回来

两个必须知道的限制：

1. **只在 `auto` 模式下生效**。固定模型时不切换。
2. **一旦开始输出 token 就不再切换**。已经开始流式输出的调用重试会产生两份回答，所以此时直接把错误抛给上层；智能体每一轮循环都会重新发起调用，下一轮仍有机会切换。

候选池来自模型的 `in_auto` 标记，或者用 `auto.pool` 显式指定有序列表。默认策略是 `priority`，可重试 2 次，冷却 120 秒。

## 上下文成本

长会话的行为见[上下文管理](/zh/docs/advanced/context)。
