- 从服务器拉取完整代码 - 按框架规范整理项目结构 - 配置 Drone CI 测试环境部署 - 包含后端(FastAPI)、前端(Vue3)、管理端 技术栈: Vue3 + TypeScript + FastAPI + MySQL
2.8 KiB
2.8 KiB
获取录音ASR分析结果
接口信息
- 路径:GET
/api/beauty/v1/audio/asr-analysed - 说明:获取录音的语音识别(ASR)分析结果,包含对话文本
请求参数
Query参数
| 参数 | 必选 | 类型 | 默认值 | 描述 |
|---|---|---|---|---|
| estateId | ✓ | integer(int64) | - | 项目ID |
| audioId | ✓ | integer(int64) | - | 录音ID |
请求示例
GET /api/beauty/v1/audio/asr-analysed?estateId=516799468310364162&audioId=123456
响应结果
Body结构
| 参数 | 必选 | 类型 | 描述 |
|---|---|---|---|
| - | 否 | object[] | 录音分析结果数组 |
| └─ audioId | 是 | Long | 录音ID |
| └─ externalVisitId | 否 | string | 三方来访ID |
| └─ externalCusId | 否 | string | 三方顾客ID |
| └─ duration | 是 | Long | 录音时长(毫秒) |
| └─ result | 否 | object[] | 对话分析结果 |
| └─ beginTime | 否 | string | 开始时间偏移量(毫秒) |
| └─ endTime | 否 | string | 结束时间偏移量(毫秒) |
| └─ text | 否 | string | 文本信息 |
| └─ role | 否 | integer | 角色:-1=销售人员,其他=客户 |
响应示例
{
"code": 0,
"msg": "success",
"data": [
{
"audioId": 123456,
"externalVisitId": "visit_001",
"externalCusId": "customer_001",
"duration": 300000,
"result": [
{
"beginTime": "0",
"endTime": "3500",
"text": "您好,欢迎光临,请问您想了解哪些项目?",
"role": -1
},
{
"beginTime": "3500",
"endTime": "7200",
"text": "我想了解一下面部护理的项目",
"role": 1
},
{
"beginTime": "7200",
"endTime": "15800",
"text": "好的,我们这边有多种面部护理项目,比如水光针、光子嫩肤...",
"role": -1
}
]
}
]
}
字段说明
role角色
- -1:销售人员(consultant)
- 其他值:客户(customer)
时间格式
- beginTime/endTime:相对于录音开始的时间偏移量,单位毫秒
- 可用于定位对话在录音中的具体位置
业务逻辑
- 录音必须先完成ASR分析才能获取结果
- result数组按时间顺序排列
- 对话文本经过语音识别技术转换,可能存在识别错误
使用场景
- 展示完整的销售对话内容
- 分析销售话术是否规范
- 提取关键对话用于质量评估
- 传递给Dify工作流进行AI评分
注意事项
- 录音分析需要时间,新录音可能需要等待几分钟
- 识别结果受录音质量影响
- 对话角色自动识别,可能存在误判