[polish] 为 OpenAI 渠道增加低延迟(Fast mode)选项

未关闭
#1,165 2 条评论 0 个 reaction 已指派 0 人 在 GitHub 查看

维护者通常 1 天内回复

@mvanhorn 已经在做这个了。

开始于 2026年10月22日。

  • #1251 来自 @mvanhorn —— 未关闭

评估

难度
3/5
预计耗时
1-2 天
新手友好度
55/100
Issue 类型
功能
描述清晰度
基本清楚
活跃度
活跃
技术栈
rust, tauri
领域
api, backend

调研方向

The OpenAI channel request builders for Chat Completions and Responses are the entry points; the existing ark handling that sends service_tier (added in #1125) is the pattern to copy. Look at how per-channel settings are stored and where the diagnostic log records the request tier. Done when the setting is saved per channel, service_tier is sent only when enabled in both request formats, and the response's returned tier is logged.

由索引模型根据 Issue 内容生成。

描述

现象

我通常每次语音输入约 10 秒,ASR 完成后,LLM 润色还需要等待约 2~4 秒,整段润色完成后才会写入目标输入框。这段等待会明显影响连续使用体验。

OpenLess 已通过 #1125 支持火山方舟的低延迟选项,但当前实现仅对 ark 渠道发送 service_tier,希望将这一能力扩展到 OpenAI 渠道。

OpenAI 官方的 Chat Completions 和 Responses API 均支持 Fast mode,启用方式是在请求体顶层增加:

{
  "service_tier": "fast"
}

它可以在保留现有模型和 reasoning 设置的情况下使用。官方文档

我用一段模拟中文语音转写进行了小规模对照:固定 gpt-6.1-sol、reasoning=low、相同输入与简短润色规则,交替请求顺序,共测试 6 组、12 次请求。

指标(中位数) 普通档 Fast mode
首字等待 1.83 秒 1.39 秒
整段请求完成 2.41 秒 1.73 秒

6 组均为 Fast 更快,配对节省时间的中位数约为 0.69 秒。所有响应实际档位均符合请求,每次都是 130 输入 tokens、29 输出 tokens,缓存命中和推理 tokens 均为 0。

这是单一模拟输入的小样本结果,不代表实际使用中一定能获得相同比例的提速;测试也不包含 ASR 和目标输入框写入耗时。

影响

使用 OpenAI 进行语音输入润色时,希望能够自行选择以更高的 API 费用换取较短的等待时间。

建议接受标准
  • OpenAI 渠道增加可选的“低延迟推理(Fast mode)”设置,按渠道保存。
  • 未启用时不额外发送 service_tier,保持现有行为;启用时发送 "service_tier": "fast"。
  • Chat Completions 和 Responses 两种请求格式均支持该设置。
  • 设置旁说明 Fast mode 会增加费用,并提供官方价格说明,由用户主动选择。
  • 在现有诊断信息中记录请求档位与响应实际返回的 service_tier,便于确认是否生效;未返回时如实记录。
TODO / 不确定项
  • 第三方 OpenAI-compatible 服务对该参数的支持和计费方式可能不同,不应自动向所有兼容接口添加该字段。
  • 不同模型及服务区域的支持范围需按官方文档确认,不支持时应提供明确错误提示。

相关需求:支持火山方舟低延迟请求参数 #1125。

主要语言
Rust
星标
3.7k
派生
349
平均合并
2 天 14 小时
30 天内合并 PR
97

环境准备

这个项目没有提供开发容器、Dockerfile 或贡献指南,环境需要你自己搭建:先看它的 README,通用步骤见我们的新手贡献指南。

从这里开始

  1. 先读完整个 Issue,再读项目的贡献指南。
  2. 在 Issue 下留言说明你要接手 —— 这能避免两个人做同样的事。
  3. Fork 仓库,在一个分支上完成修改。
  4. 提交 Pull Request,并在描述里引用这个 Issue 编号。

Open-Less/openless 的其他 Issue

查看 Open-Less/openless 的全部 Issue

相似的 Issue

更多 Rust Issue

把新 issue 发到你的邮箱

精选适合新手参与的 GitHub issue 摘要。