模型提供商
配置 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 会把该模型标记为不健康并进入冷却,然后换下一个健康候选重跑这一次调用
- 自动回切 — 冷却到期后它重新成为候选,因排在首位就自然切回来
两个必须知道的限制:
- 只在
auto模式下生效。固定模型时不切换。 - 一旦开始输出 token 就不再切换。已经开始流式输出的调用重试会产生两份回答,所以此时直接把错误抛给上层;智能体每一轮循环都会重新发起调用,下一轮仍有机会切换。
候选池来自模型的 in_auto 标记,或者用 auto.pool 显式指定有序列表。默认策略是 priority,可重试 2 次,冷却 120 秒。
上下文成本
长会话的行为见上下文管理。