petstore-docs/智能预约助手-模型与语音供应商选型-2026-08-02.md

246 lines
12 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# 智能预约助手:模型与语音供应商选型
> 日期2026-08-02<br>
> 状态:**Recommendation / M0 推荐基线,待账号开通、合规复核与语料实测**<br>
> 影响范围:智能预约 M0不影响 `phase2-pilot-rc6`<br>
> Architecture Review Required`Yes`<br>
> Access / Privacy Review Required`Yes`<br>
> 官方资料查阅日期2026-08-02
**关联文档**
- [智能预约助手产品与技术方案 v0.1](./宠小它智能预约助手-产品与技术方案-v0.1.md)
- [智能预约助手 M0 编码任务 brief](./智能预约助手-M0编码任务brief-2026-08-02.md)
## 1. 推荐结论
M0 的默认技术基线建议为:
| 能力 | 推荐供应商与模型 | 调用边界 |
|---|---|---|
| 语音转写 | 阿里云百炼华北2北京`qwen3-asr-flash-2026-02-10` | OpenAI 兼容 HTTP 同步调用Base64/Data URL 直传,不中转 OSS不持久化原始录音 |
| 预约意图提取 | 阿里云百炼华北2北京`qwen-plus-2025-12-01` | 非思考模式 + `response_format=json_object` + 服务端 JSON Schema 二次校验 |
| ASR 对照候选 | 腾讯云 `SentenceRecognition` | 仅在同一批脱敏/已授权语音语料上对照,不直接进生产 |
| LLM 备选 | 腾讯云 TokenHub 的国内文本模型 | 供应商适配层预留M0 不同时维护两条生产路径 |
不建议把 OpenAI API 作为当前 Petstore 中国大陆生产默认。OpenAI 官方说明仅支持列表中的国家和地区,中国大陆不在当前列表中;未列出地区不受支持,且可能导致账号被停用。
这个结论是 **M0 工程默认**,不是长期供应商锁定。所有外部能力必须通过 Petstore 自有适配接口调用。
## 2. 选型前提
智能预约不是知识问答或通用 Agent。它的模型任务只有
1. 把当次文字和已验证草稿转换成结构化 `draftPatch`
2. 识别 `book / modify / end / fallback` 等有限意图;
3. 标记歧义和建议下一个状态机动作。
它不需要联网检索、知识库、长上下文、平台托管 Agent 或模型直接工具调用。宠物、服务和号源必须由 Petstore 后端确定性解析。
因此选型优先级为:
1. 中国大陆可达与明确数据部署范围;
2. 中文口语、时间表达、宠物名称和门店服务识别;
3. 非思考模式下稳定输出 JSON
4. 可固定模型快照,避免别名自动升级导致行为漂移;
5. 明确的密钥、区域、超时、限流、费用和数据保留口径;
6. 最终才是模型绝对能力和单次价格。
## 3. 候选方案评估
### 3.1 阿里云百炼全链路(推荐 M0 默认)
**区域和网络**
- 百炼官方提供华北2北京`cn-beijing` 地域和中国内地服务部署范围;
- 官方地域说明称推理过程数据不持久化、传输加密,静态数据位于所选地域;
- 生产建议使用业务空间专属域名,不使用试用域名。
**语音转写**
- `qwen3-asr-flash-2026-02-10` 支持普通话、四川话、闽南语、吴语、粤语等中文语音类型及多语种;
- 官方 OpenAI 兼容接口支持公网 URL 或 Base64 Data URL可在录音结束后同步转写无需把用户录音中转到公网 OSS
- 官方允许以 system message 提供背景文本和实体词表M0 只传当前门店服务名和当前 customer 的宠物展示名,不传手机号或其他客户数据;
- 官方限制是 5 分钟/10 MBM0 继续使用更小的 60 秒/3 MB 业务门禁;
- 当前官方列价为 `0.00022 元/秒`,不包含活动优惠。
**结构化意图提取**
- `qwen-plus-2025-12-01` 在华北2北京官方标注支持 Function Calling 和结构化输出;
- 百炼 OpenAI 兼容接口支持 `response_format={"type":"json_object"}`
- M0 使用固定快照 `qwen-plus-2025-12-01`,不使用可自动升级的 `latest` 别名;
- M0 关闭思考模式,不开启联网或平台内置工具;
- JSON mode 只保证可解析 JSONPetstore 服务端仍必须校验字段、枚举、长度和状态转换。
**风险**
- Petstore 当前服务器在腾讯云,调用百炼需经过公网 HTTPS必须做真实延迟和可用性实测
- 需新开阿里云百炼业务空间、独立 API Key 和费用告警;
- 语音及文本的合同保留、删除和工单口径需在生产开通前再做一次 Access / Privacy Review。
### 3.2 腾讯云全链路(对照/备选)
**语音转写优势**
- `SentenceRecognition` 适合 60 秒内短音频,支持音频数据或 URL大小不超过 3 MB
- 官方文档列出普通话、粤语、上海话、四川话等多种方言,默认频率限制 30 次/秒;
- 可直接在现有腾讯云账号与服务器体系中配置,运维链路较短。
**隐私注意点**
- 腾讯云 ASR SDK 隐私规则要求开发者在收集和上传音频前完成告知和合法授权;
- 官方 FAQ 说明上传音视频文件不会保存,但识别后的文本文件会在服务器上保存 7 天;
- 腾讯云语音优化用户数据授权是自愿授权Petstore 不应开启该额外授权。
因为 Petstore 方案的默认原则是不持久化完整对话原文,「识别文本保留 7 天」必须在隐私告知和供应商数据处理评审中明确,不能只依赖我们自己不落库。
**文本模型平台变化**
- 腾讯云官方已说明原混元/DeepSeek API 售卖入口逐步迁移到 TokenHub
- 新项目应使用 TokenHub 而非旧混元平台OpenAI SDK 兼容 `base_url``https://tokenhub.tencentmaas.com/v1`
- TokenHub 可选模型变化较快,正式纳入前需按具体模型快照验证 JSON 遵循、时间表达和延迟。
### 3.3 腾讯 ASR + 阿里 Qwen仅当实测显著更好
混合方案可在不改模型的情况下使用腾讯 ASR但会引入
- 两套云账号、密钥、费用告警和故障域;
- 两份数据处理和隐私告知边界;
- 更长的排障链路。
只有当腾讯 ASR 在 Petstore 脱敏语音语料的关键槽位准确率显著高于 `qwen3-asr-flash-2026-02-10`,且 7 天识别文本保留已通过隐私评审时,才采用混合方案。
### 3.4 OpenAI非当前生产候选
OpenAI 官方提供语音转写和结构化模型能力,但当前官方 API 支持国家与地区列表不包含中国大陆。官方同时说明,从未列出地区访问或提供访问可能导致账号被阻止或暂停。
因此本项目不使用绕过地区支持范围的网络或账号方案,也不将其写入当前生产 Runbook。
## 4. M0 固定配置建议
### 4.1 模型调用
- Model`qwen-plus-2025-12-01`
- Region`cn-beijing`
- Mode非思考
- Streaming关闭M0 使用完整 JSON 响应
- Response format`json_object`
- Function Calling关闭模型不拥有 Petstore 工具
- Web search / built-in tools关闭
- Temperature低随机性编码前经 30 条语料实测后冻结
- Timeout建议 3 秒超时、不进行多次自动重试,最终值以腾讯云服务器实测为准
### 4.2 语音调用
- Model`qwen3-asr-flash-2026-02-10`
- Region`cn-beijing`
- Input服务端从短期上传流读取字节转 Base64 Data URL
- Business limit单段不超过 60 秒、3 MB
- Language hint中文结果仍由用户编辑确认
- Context glossary宠小它、当前门店实际服务名、当前 customer 的宠物展示名;不上传手机号、其他客户宠物名或全量客户名单
- Raw audio persistence禁止
### 4.3 密钥与环境变量
为了允许分别轮换和后续切换供应商,即使 M0 同用阿里云,也保留独立逻辑配置:
```dotenv
PETSTORE_BOOKING_AGENT_ENABLED=false
PETSTORE_BOOKING_AGENT_LLM_PROVIDER=aliyun
PETSTORE_BOOKING_AGENT_LLM_BASE_URL=https://<workspace-id>.cn-beijing.maas.aliyuncs.com/compatible-mode/v1
PETSTORE_BOOKING_AGENT_LLM_MODEL=qwen-plus-2025-12-01
PETSTORE_BOOKING_AGENT_LLM_API_KEY=<from-secret-store>
PETSTORE_BOOKING_AGENT_LLM_TIMEOUT_MS=3000
PETSTORE_BOOKING_AGENT_ASR_PROVIDER=aliyun
PETSTORE_BOOKING_AGENT_ASR_BASE_URL=https://<workspace-id>.cn-beijing.maas.aliyuncs.com/compatible-mode/v1
PETSTORE_BOOKING_AGENT_ASR_MODEL=qwen3-asr-flash-2026-02-10
PETSTORE_BOOKING_AGENT_ASR_API_KEY=<from-secret-store>
PETSTORE_BOOKING_AGENT_ASR_TIMEOUT_MS=5000
```
上述只是变量名与占位,不是可用密钥。真实 Workspace ID 和 API Key 不进 Git、聊天、日志、截图或测试 fixture。
## 5. 脱敏语料对照方案
### 5.1 文字意图集
建立 30 条合成/脱敏中文预约用例:
- 8 条标准预约;
- 5 条相对日期与时间段;
- 4 条多宠物/同名歧义;
- 4 条服务同义表达;
- 3 条无号、过去日期或非营业时间;
- 3 条修改上一轮草稿;
- 3 条越界请求(价格编造、任意宠物 ID、绕过确认
每条用例只保存预期结构化字段和下一状态,不保存真实客户资料。
### 5.2 语音对照集
- 从文字集选 20 条,由已知情并同意的测试人员录制;
- 覆盖普通话、轻微口音、室内背景声和宠物名/服务名;
- 不使用门店客户的真实录音,不在 Git 保存可识别真人的音频;
- 本地音频仅用于一次性对照,结果只归档脱敏文本、槽位判定和延迟。
### 5.3 判定指标
| 类型 | 指标 | M0 建议门槛 |
|---|---|---|
| LLM | 输出可解析 JSON | 30/30 |
| LLM | 意图、宠物查询词、服务查询词、日期表达、时间窗口槽位准确率 | ≥ 90% |
| LLM | 越权请求进入写路径或产生伪造业务事实 | 0 |
| ASR | 宠物名、服务名、日期/时间等关键槽位识别准确率 | ≥ 90% |
| ASR | 转写延迟 p95 | ≤ 3 秒,以腾讯云当前服务器实测 |
| LLM | 意图提取延迟 p95 | ≤ 2 秒 |
| 链路 | 语音结束到确定性回复 p95 | ≤ 5 秒 |
ASR 供应商的最终选择以「关键槽位准确率 + p95 延迟 + 数据保留可接受性」为准,不以通用宣传的全局字错率代替 Petstore 业务语料。
## 6. 试点成本量级
以 50 个试点 session 、每个 session 2 段 10 秒语音、4 次模型调用为示例:
- ASR`50 * 2 * 10 * 0.00022 元 = 0.22 元`
- LLM假设每次 1000 输入 token + 200 输出 token按当前华北2列价 `0.8 元/百万输入 token``2 元/百万输出 token`,约 `0.24 元`
- 示例总模型调用费约 `0.46 元`,不包含公网流量、账号优惠、日志和人工评测成本。
该数字只说明 M0 小样本的 API 费用不是核心矛盾,不是生产预算承诺。实际决策优先看准确性、数据边界、稳定性和降级。
## 7. 生产前必须完成
- [ ] 开通华北2北京百炼业务空间确认 Workspace 专属域名可用。
- [ ] 为 LLM 和 ASR 创建可独立轮换的服务端密钥,不共享个人开发密钥。
- [ ] 确认数据处理、保留、删除、不用于训练和工单响应口径。
- [ ] 在小程序隐私声明和首次语音使用前完成明确告知,只在用户主动按住录音时收集。
- [ ] 在腾讯云实际后端服务器完成 DNS、TLS、p50/p95 延迟、超时和失败降级实测。
- [ ] 开启预算与异常用量告警,限制单用户和单门店频率。
- [ ] 模型快照、提示词版本、schema 版本和供应商请求 ID 可追溯,但日志不保存完整对话。
## 8. 官方资料
### 阿里云
- [选择地域、服务部署范围和接入域名](https://help.aliyun.com/zh/model-studio/regions/)
- [语音识别模型选型](https://help.aliyun.com/zh/model-studio/asr-model/)
- [qwen3-asr-flash 模型信息](https://help.aliyun.com/zh/model-studio/qwen3-asr-flash)
- [Qwen-ASR API 参考](https://help.aliyun.com/zh/model-studio/qwen-asr-api-reference)
- [非实时语音识别](https://help.aliyun.com/zh/model-studio/non-realtime-speech-recognition-user-guide)
- [qwen-plus 模型信息](https://help.aliyun.com/zh/model-studio/qwen-plus)
- [结构化输出](https://help.aliyun.com/en/model-studio/qwen-structured-output)
- [百炼产品与数据说明](https://help.aliyun.com/zh/model-studio/what-is-model-studio)
### 腾讯云
- [一句话识别 API](https://cloud.tencent.com/document/api/1093/35646)
- [语音识别请求结构与地域接入](https://cloud.tencent.com/document/product/1093/35639)
- [语音识别 SDK 个人信息保护规则](https://cloud.tencent.com/document/product/1093/73072)
- [语音识别功能 FAQ含音频/识别文本保留口径)](https://cloud.tencent.com/document/faq/1093/35802)
- [语音识别用户数据授权协议](https://cloud.tencent.com/document/product/1093/115535)
- [TokenHub 迁移指南](https://cloud.tencent.com/document/product/1823/131382)
### OpenAI
- [OpenAI API 支持的国家和地区](https://help.openai.com/en/articles/5347006-openai-api-supported-countries-and-territories)