自带模型通道(BYO Provider)

把对话用的 LLM 换成你自己的 OpenAI 兼容端点:你的 base_url、你的 key、你的模型账单。不配则一切照旧走平台通道;配了之后平台还能在你的通道故障时显式回落兜底(可关)。

是什么

配 BYO 时建议同时在「模型设置」里配上该端点认识的模型名——模型名仍按既有三级回落,留空会用平台默认模型名(你的端点多半不认识它,届时每轮都会触发故障转移)。

怎么配

控制台「自带模型通道」卡:填 Base URL + API Key,选好「失败自动回落」开关,保存。保存后输入框清空,状态行显示 已配置 · <base_url> · key …末4位。改任何一项(含开关)都需连同 Key 一起重新保存。

机器侧同形(Bearer 租户通用 key;App 级 key 一律 403 无管理权):

bash
# 配置(failover 缺省 true)
curl -X PUT "$BASE/v1/provider" \
  -H "Authorization: Bearer $KEY" -H "Content-Type: application/json" \
  -d '{"base_url":"https://api.openai.com/v1","api_key":"sk-…","failover":true}'

# 查看(只回 configured / base_url / key_tail / failover,绝无明文)
curl "$BASE/v1/provider" -H "Authorization: Bearer $KEY"

# 清除(回平台通道)
curl -X DELETE "$BASE/v1/provider" -H "Authorization: Bearer $KEY"

校验规则:base_url 只许 http(s)://、≤300 字符、host 不得是内网字面量(localhost / 127.* / 10.* / 192.168.* / 169.254.* 等);api_key 非空 ≤500 字符。平台未注入加密密钥时配置端点回 503「BYO 未启用」

测试通道

bash
curl -X POST "$BASE/v1/provider/test" -H "Authorization: Bearer $KEY"
# → {"ok":true,"latency_ms":842}
# → {"ok":false,"latency_ms":631,"error":"通道返回 HTTP 401"}

已保存的配置对你的端点真打一发最小补全(max_tokens:1,单次不重试),回连通性 + 时延;错误已脱敏(只有状态码分类,不含 key/URL 细节)。未配置时 400。

故障转移语义(显式,不静默)

安全模型