
发布日期:2026 年 9 月 1 日
GitHub Release:
https://github.com/bfenetworks/bfe/releases/tag/v1.8.6
项目地址:
https://github.com/bfenetworks/bfe
一、版本概览
BFE(Beyond Front End)作为 CNCF 沙盒项目、百度开源的企业级七层负载均衡软件,于 2026 年 9 月 1 日 正式发布 v1.8.6 版本。本次版本聚焦 AI 网关计费精细化、协议兼容性与会话级调度能力,在 v1.8.5 带来多 API Key 后端调度、RMB 配额、fallback 稳定性之后,继续完善企业级大模型推理服务的流量治理方案。
v1.8.6 是一次 面向成本核算与多厂商兼容的深化迭代:新增缓存 Token 计费、音频 Token 计费、图像生成按张计费,支持 RMB 峰时 / 非峰时分时定价,补齐 Anthropic Claude 协议转发,并引入同集群会话级 API-Key 亲和性与请求体大小条件原语,让 AI 流量在计费精度、协议覆盖和会话连续性上更进一步。
特别说明 :BFE v1.8.6 的 AI 网关功能可与 壬远 AI 网关(https://github.com/rainway-ai-gateway)配套使用,共同构建企业级大模型推理服务的全栈流量治理方案。
二、核心更新亮点
1. AI 计费能力精细化
v1.8.6 在 v1.8.5 的 RMB 配额基础上,进一步扩展计费维度,覆盖缓存、音频、图像等更多 AI 请求场景,并支持分时定价。
1.1 缓存 Token 计费
大模型推理服务 increasingly 支持 prompt 缓存命中机制以降低成本。v1.8.6 新增对 缓存 Token 的计费支持:
-
解析后端响应中的缓存相关 usage 字段;
-
区分
input_tokens与缓存命中 token,分别计入成本; -
特别针对 DeepSeek 等厂商的缓存字段格式进行了识别适配。
这使得企业能够准确核算缓存命中带来的实际成本节省,而不再将所有输入 token 按统一单价计算。
1.2 音频 Token RMB 计费
针对语音类大模型请求,v1.8.6 支持对 音频 Token 进行 RMB 计费:
-
从响应 usage 中识别音频输入 / 输出 token;
-
按模型配置的音频单价独立核算;
-
与文本 token 成本合并后统一扣减 RMB 配额。
该能力让语音对话、语音合成等场景能够纳入统一的成本管控体系。
1.3 图像生成按张计费
图像生成模型(如 DALL·E、Stable Diffusion 等)通常不按 Token 计费,而是按生成图片数量计费。v1.8.6 新增 image generation per-image billing:
-
根据响应中的图像生成数量统计;
-
按模型配置的 "每张图单价" 计算成本;
-
支持将图像生成成本纳入 RMB 配额扣减。
1.4 RMB 峰时 / 非峰时分时定价
v1.8.6 支持在同一模型上配置 分时单价(tiers):
-
按 Provider 时区定义峰时(peak)与非峰时(off-peak)时段;
-
不同时段可配置不同 input / output 单价;
-
BFE 根据请求发生时间匹配对应 tier,计算实际成本。
这一能力让企业能够根据业务节奏优化调用成本,例如将非紧急任务调度到低价时段执行。
💡 场景示例:某企业统一使用 Claude 模型,白天高峰期按标准价计费,夜间非高峰期自动切换至优惠单价,月度 AI 调用成本降低 20% 以上。
2. 支持 Anthropic Claude 协议转发
v1.8.6 新增对 Anthropic Claude 协议 的转发支持,扩展了 BFE 在 AI 网关场景下的多厂商兼容能力。
-
通过
model_protocols匹配请求应使用的协议; -
BFE 按 Claude 协议格式完成请求转发与响应处理;
-
可与现有 OpenAI 兼容流程共存,统一入口支持多厂商后端。
这意味着企业可以在同一 BFE 入口后同时接入 OpenAI、DeepSeek、Claude 等不同协议的后端,由 BFE 根据模型或路由规则自动选择对应协议。
3. 同集群会话级 API-Key 亲和性
v1.8.6 在集群粒度新增 session-level API-Key affinity:同一 session 的多次请求会尽量命中同一个后端 API Key。
3.1 解决的问题
在 AI 对话场景中,部分后端厂商或服务对 API Key 的上下文状态有依赖:
-
同一 session 内切换 Key 可能导致上下文不一致;
-
某些按 Key 维度的限流或缓存策略希望保持稳定;
-
客户端希望由 BFE 自动处理 Key 选择,无需关心后端 Key 分配。
3.2 工作方式
-
在集群
AIConf中开启KeyAffinity配置; -
BFE 根据 session 标识(如 API Key、请求头或自定义键)计算一致性哈希;
-
同一 session 的后续请求优先复用已选中的后端 API Key;
-
v1.8.6 将亲和性 TTL 改为 idle timeout 模式,默认 600 秒,无活动后自动释放,避免 Key 长期占用。
💡 最佳实践:对于对话类应用,建议开启 KeyAffinity 以提升上下文连续性;对于纯 Stateless 推理任务,可关闭以降低 Key 选择偏差。
4. 路由条件原语扩展:请求体大小匹配
v1.8.6 在 BFE 条件表达式中新增两个原语,用于基于请求体大小进行路由:
-
req_body_larger_than:请求体大于指定字节数时匹配; -
req_body_less_than:请求体小于指定字节数时匹配。
典型用法:
req_body_larger_than(1048576)
req_body_less_than(4096)
企业可据此将大上下文请求路由到高吞吐集群,将小请求路由到低成本集群,实现基于负载特征的精细调度。
5. Token 认证与限流稳定性优化
5.1 token_rule.data 字段简化与 TagLevel 扩展
v1.8.6 简化了 mod_ai_token_auth 导出的 token_rule.data 字段,并扩展 ApikeyTag 支持 TagLevel,便于控制面按层级(如 level1--level5)对 API Key 打标签,支撑后续多维度的配额统计与可观测分析。
5.2 AI 限流 Redis Key 统一
v1.8.6 使用控制面生成的 redis_key 作为 AI 限流计数器的 Redis Key,替代原先由 BFE 内部生成的规则,使得:
-
限流 Key 在控制面与数据面之间保持一致;
-
API Key / Entity 删除或限流规则移除时,Redis Key 可被完整清理;
-
便于多 BFE 实例共享同一套限流状态,避免重复计数或残留。
5.3 批量读取配额余额
redis_client 新增 GetInt64Batch 接口,支持批量读取多个配额余额,提升高并发场景下配额校验的性能。
6. 其他修复与改进
-
修复跨集群重试时的模型名丢失问题 :在
ServeHTTPForAI的集群间重试过程中,确保TargetModel等字段正确传递,避免计费与日志记录失真。 -
修复价格 JSON 序列化精度问题 :
PriceMap/TierPriceMap序列化时保留 8 位小数精度,避免浮点误差导致计费偏差。 -
新增 BFE AI 网关错误码文档:便于运维与开发者快速定位 AI 请求处理过程中的各类错误。
三、版本演进脉络:AI 网关能力持续完善
回顾 BFE v1.8.x 系列的演进路径,可以清晰看到项目从传统七层负载均衡向 AI 原生网关 的战略转型:
| 版本 | 发布时间 | 核心特性 |
|---|---|---|
| v1.8.0 | 2025-09 | 引入 AI 网关基础功能、支持第三方 WAF 集成、后端 HTTPS 转发 |
| v1.8.1 | 2026-02 | 外部 Web Server 支持、完整 Kubernetes Demo、AI 功能 Bug 修复 |
| v1.8.2 | 2026-05 | EPP 负载均衡、SSE 支持增强 |
| v1.8.3 | 2026-07 | AI 限流(RPM/TPM/Concurrency)、Token 认证升级、PB 日志、会话保持、功能开关 |
| v1.8.4 | 2026-08 | AI 路由(mod_ai_route)、Token 估算开关 |
| v1.8.5 | 2026-08 | 多 API Key 后端调度、RMB 配额、fallback 稳定性、provider/model 前缀裁剪 |
| v1.8.6 | 2026-09 | 缓存/音频/图像计费、分时定价、Claude 协议、会话 Key 亲和性 |
v1.8.6 的发布,标志着 BFE 的 AI 网关能力在 认证 → 限流 → 路由 → 计费 → 会话保持 → 日志 → fallback 容错 → 多厂商协议兼容 全链路上形成了更完整的闭环。
四、下载与升级
配置示例:启用 AI 网关并体验 v1.8.6 新特性
bfe.conf
[Server]
EnableAiGateway = true
EstimateToken = true
AccessibleBodySize = 1048576
TotalBodyBufferSize = 104857600
Modules = ...
mod_ai_route
mod_ai_token_auth
mod_ai_rate_limit
mod_body_process
mod_session_sticky
...
ai_token_auth.data(含 RMB 配额)
{
"Version": "v1.8.6",
"Config": {
"AI_product": [
{
"cond": "default_t()",
"action": {
"cmd": "CHECK_TOKEN"
}
}
]
},
"QuotaPlans": {
"AI_product": [
{
"id": "plan-rmb-tiered",
"unlimited": false,
"pass_no_quota": false,
"redis_key": "quota:rmb:proj-a",
"expired_time": -1,
"quota": 1000000000000,
"unit": "RMB"
}
]
},
"Tokens": {
"AI_product": {
"sk-abc123": {
"key": "sk-abc123",
"key_id": "proj-a-claude",
"enabled": true,
"expired_time": -1,
"unlimited_quota": false,
"quota_plans": ["plan-rmb-tiered"]
}
}
}
}
说明:
quota为定点整数,1000000000000 表示 10000.00 元(精度 1e-8 元)。
cluster_conf.data(含 Claude 协议、分时定价与 Key 亲和性)
{
"ClusterBasic": {...},
"BackendConf": {...},
"AIConf": {
"Type": 0,
"Provider": "anthropic",
"Protocol": "claude",
"Keys": [
{
"Name": "default",
"Key": "sk-xxx",
"Weight": 100
}
],
"KeyPolicy": {
"Strategy": "weighted_random",
"MaxRetries": 0,
"RetryBackoffInitial": 500,
"RetryBackoffMax": 5000
},
"KeyAffinity": {
"Enabled": true,
"IdleTimeout": 600
},
"ModelTable": {
"Currency": "RMB",
"Models": [
{
"Provider": "anthropic",
"Model": "claude-sonnet-4.6",
"BaseModel": "claude-sonnet-4.6",
"Mode": "chat",
"Prices": {
"input_cost_per_token": 0.000003,
"output_cost_per_token": 0.000015
},
"Tiers": [
{
"Name": "peak",
"StartTime": "09:00",
"EndTime": "21:00",
"Prices": {
"input_cost_per_token": 0.000004,
"output_cost_per_token": 0.000020
}
},
{
"Name": "off-peak",
"StartTime": "21:00",
"EndTime": "09:00",
"Prices": {
"input_cost_per_token": 0.000002,
"output_cost_per_token": 0.000010
}
}
]
}
]
}
}
}
ai_route.data(含请求体大小路由条件)
{
"Version": "v1.8.6",
"route_rules": {
"global_default": {
"type": "global",
"owner": "platform",
"rules": [
{
"name": "large_context_claude",
"Cond": "req_body_json_prefix_in(\"model\", \"claude-\") && req_body_larger_than(1048576)",
"targets": [
{ "ClusterName": "cluster_claude_high_cap", "Model": "claude-sonnet-4.6", "Weight": 100 }
]
},
{
"name": "default_claude",
"Cond": "req_body_json_prefix_in(\"model\", \"claude-\")",
"targets": [
{ "ClusterName": "cluster_claude_default", "Model": "claude-sonnet-4.6", "Weight": 100 }
]
}
]
}
}
}
五、结语
BFE v1.8.6 的发布,进一步夯实了这款源自百度万亿级流量锤炼的七层负载均衡软件在 AI 原生网关 赛道上的技术底座。缓存 Token、音频 Token、图像生成按张计费与 RMB 分时定价,让企业能够按真实业务形态精细化核算 AI 成本;Anthropic Claude 协议转发补齐了多厂商兼容版图;同集群会话级 API-Key 亲和性与请求体大小条件原语,则为会话连续性和基于负载特征的调度提供了新工具。
**BFE v1.8.6 的 AI 网关功能可与壬远 AI 网关(https://github.com/rainway-ai-gateway)配套使用**,前者作为底层数据面引擎提供高性能七层负载均衡与 AI 流量治理,后者在配额控制、限流、Provider 管理等维度提供增强的管理能力,二者协同可构建覆盖数据面到控制面的完整企业级 AI 网关解决方案。
对于正在规划或建设 AI 网关基础设施的团队而言,BFE v1.8.6 值得认真评估与试用。
反馈
对本次发布的功能和优化,还有哪些问题?您在 BFE 使用中有什么疑问?访问下面的链接,提交您的反馈:
https://github.com/bfenetworks/bfe/issues
关注我们,获取更多 BFE 开源项目动态: