Vitest Testing
提供 Vitest 单元测试与集成测试的模式与最佳实践,涵盖断言、异步测试与模拟方法。
帮助用户排查 Gladia API 常见错误与性能问题,提升转录准确率。
openclaw skills install @gladiaio/gladia-troubleshooting命令、参数、文件名以原文为准
使用 Gladia API 时常见的问题、注意事项及其解决方案。
SDK 优先诊断:首先确认用户是否使用官方 SDK —— 许多问题(轮询、重连、重试)可通过 SDK 自动解决。有关设置和策略,请参阅 [gladia-sdk-integration](../gladia-sdk-integration/SKILL.md)。
不适用场景:初始 SDK 设置与配置,请使用 [gladia-sdk-integration](../gladia-sdk-integration/SKILL.md)。如需特定功能指导(参数、选项、响应结构),请参考 [gladia-pre-recorded-transcription](../gladia-pre-recorded-transcription/SKILL.md) 或 [gladia-live-transcription](../gladia-live-transcription/SKILL.md)。
根据需要查阅以下资源:
apiKey(JS)或 api_key(Python)构造函数参数传递,或设置 GLADIA_API_KEY 环境变量x-gladia-key 头部传递按计划的并发限制:
| 计划 | 预录制 | 实时 | 说明 |
|---|---|---|---|
| 免费版 | 3 | 1 | 每月总计 10 小时 |
| 初创版 | 25 | 30 | — |
| 成长版 | 25 | 30 | — |
| 企业版 | 无限 | 无限 | — |
修复:等待正在进行的任务完成后,再启动新任务,或升级计划。
问题:启用 code_switching: true 且 languages 数组为空时,系统会在超过 100 种语言间进行评估,导致频繁误识别。
修复:始终提供 3–5 个预期语言:
{
"language_config": {
"languages": ["en", "fr", "es"],
"code_switching": true
}
}问题:intensity 值超过 0.6 会导致无关词汇被错误替换为词汇表条目。
修复:将强度保持在 0.4–0.6 范围内。若需更好识别,应使用 pronunciations 而非提高强度:
{
"vocabulary": [
{ "value": "Gladia", "pronunciations": ["gla-dee-ah"], "intensity": 0.5 }
]
}问题:预录制文件超过 135 分钟可能失败,且无明确错误提示。
修复:上传前将长音频拆分为约 60 分钟的片段。企业版支持最长 4 小时 15 分钟,如有需求请联系客服。
问题:发送双通道(立体声)音频按两倍时长计费。
修复:若无需每通道说话人识别,应合并为单声道。仅在需要区分独立音源时才使用多通道。
问题:WebSocket 断开后,创建新会话将丢失上下文。
修复(SDK — 推荐):SDK 自动处理重连,可配置 wsRetry。使用 SDK 时无需额外操作。
修复(原生 WebSocket):重新连接至相同的 WebSocket URL以恢复会话。切勿再次调用 /v2/live。
问题:快速轮询 /v2/pre-recorded/:id 会浪费请求,可能触发速率限制。
修复(SDK — 推荐):SDK 自动处理轮询。使用 transcribe() 方法(内置退避机制),或直接配置 poll():
const result = await client.preRecorded().transcribe(audio, options, {
interval: 5000, // 每次轮询间隔 5 秒
});result = client.prerecorded().transcribe(
"audio.mp3",
options,
{"interval": 5000}, # 每次轮询间隔 5 秒
)修复(原生 REST):实现指数退避(起始 3 秒,最大 30 秒),或改用 Webhook/回调方式。
问题:未发送 stop_recording 使 WebSocket 保持打开状态,会话将持续到 3 小时超时。
修复:完成录音后务必显式调用 session.stopRecording()(Python 中为 session.stop_recording())。在错误处理中也应实现清理逻辑。
问题:默认情况下,实时结果仅以最终转录形式返回。
修复:在会话配置中启用部分转录:
{
"messages_config": {
"receive_partial_transcripts": true
}
}问题:说话人分离功能仅适用于预录制转录。
修复:对于实时多说话人场景,建议使用多通道音频,每通道对应一位说话人,并通过通道编号追踪。
name: Gladia Troubleshooting
version: 1.0.0
description: 常见问题排查指南,适用于 Gladia 的预录制与实时语音转写功能。
summary: 本指南帮助解决 Gladia 语音转写中常见的音频格式、转写质量、回调接收及配置问题。
pii_redaction: true 在实时转写中被静默忽略修复方法:PII(个人身份信息)脱敏功能仅适用于预录制音频。如需实时合规处理,请在客户端对转写文本实施本地脱敏。
encoding、sample_rate、bit_depth、channels 与实际音频流一致pre_processing.audio_enhancer: true(仅限实时)languages 列表code_switching 并指定 3–5 个预期语言code_switchingcallback_url 可公开访问(非 localhost)Webhook 由 Svix 提供支持。请使用 Svix 官方库进行验证:
import { Webhook } from "svix";
const wh = new Webhook(webhookSecret);
wh.verify(payload, headers);提交转写任务前,请确认以下事项:
GLADIA_API_KEY 环境变量)code_switching,languages 列表包含 3–5 项stopRecording() / stop_recording()status、error_message)已收录 1 个 Skill