Bi

模型提供商

配置 OpenAI 兼容接口或本地模型。

Markdown 原文

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 秒。

上下文成本

长会话的行为见上下文管理。