组合能力 #
除单独调用单个能力外,中控还支持组合使用两种或三种能力。
ASR + NLP #
接收 PCM 音频,将 ASR 识别结果作为 NLP 的输入,返回 ASR 识别结果和 NLP 回复结果。
调用流程 #
sequenceDiagram
participant Client
participant CS as Control System
Client-->>CS: Establish Connection
activate CS
Client->>CS: Request: Starter (ASR + NLP)
loop
Client->>CS: Request: ASR Data
CS-->>Client: Response: ASR
CS-->>Client: Response: NLP
end
Client-->>CS: Close Connection
deactivate CS
ASR + TTS #
接收 PCM 音频,将 ASR 识别结果作为 TTS 的输入,返回 ASR 识别结果和 TTS 合成的音频。
调用流程 #
sequenceDiagram
participant Client
participant CS as Control System
Client-->>CS: Establish Connection
activate CS
Client->>CS: Request: Starter (ASR + TTS)
loop
Client->>CS: Request: ASR Data
CS-->>Client: Response: ASR
CS-->>Client: Response: TTS
end
Client-->>CS: Close Connection
deactivate CS
NLP + TTS #
接收 Query 文本包,将 NLP 回复结果作为 TTS 的输入,返回 NLP 回复结果和 TTS 合成的音频。
调用流程 #
sequenceDiagram
participant Client
participant CS as Control System
Client-->>CS: Establish Connection
activate CS
Client->>CS: Request: Starter (NLP + TTS)
loop
Client->>CS: Request: NLP Query
CS-->>Client: Response: NLP
CS-->>Client: Response: TTS
end
Client-->>CS: Close Connection
deactivate CS
ASR + NLP + TTS #
接收 PCM 音频,将 ASR 识别结果作为 NLP 的输入,对 NLP 回复结果进行 TTS 合成,返回 ASR 识别结果、 NLP 回复结果和 TTS 合成的音频。
调用流程 #
sequenceDiagram
participant Client
participant CS as Control System
Client-->>CS: Establish Connection
activate CS
Client->>CS: Request: Starter (ASR + NLP + TTS)
loop
Client->>CS: Request: ASR Data
CS-->>Client: Response: ASR
CS-->>Client: Response: NLP
CS-->>Client: Response: TTS
end
Client-->>CS: Close Connection
deactivate CS
请求报文格式 #
Starter #
使用组合能力需要在 Starter 包的 Workflow Type 字段中指定使用的能力组合与服务引擎编号。格式为使用"+“拼接的服务引擎编号,例如"ASR5+NLP2”。
同时需要填写所使用能力对应的 ASR Config、NLP Config、TTS Config 字段。
Data #
返回报文格式 #
返回报文格式不变,中控会按顺序返回所有使用能力对应的返回报文。
实际流程样例解析 #
Case 1: ASR5+NLP2 #
Request: Starter
{
"auth": "XSMLTGKQVVCPJCQHJZ4VEDMGIY",
"type": "ASR5+NLP2",
"session": "1fea3ef8-3f96-44cd-bfd0-73afb3843d6b",
"asr": {
"mic_volume": 0.67
},
"nlp": {
"location": "江苏 无锡",
"omit_meta": true,
"omit_error": true
}
}
Request: 二进制 Data 略
Request: EOF
{
"signal": "eof",
"trace": "7e9b9021-f960-47ab-af96-ccbeebd40338"
}
Response: 1
{
"session": "1fea3ef8-3f96-44cd-bfd0-73afb3843d6b",
"trace": "7e9b9021-f960-47ab-af96-ccbeebd40338",
"asr": {
"index": 1,
"text": "有什么优惠活动?"
}
}
Response: 2
{
"status": "ok",
"session": "1fea3ef8-3f96-44cd-bfd0-73afb3843d6b",
"trace": "7e9b9021-f960-47ab-af96-ccbeebd40338",
"nlp": {
"index": 1,
"query": "有什么优惠活动?",
"answer": "目前我们商场有如下优惠活动哦,您可以告诉我您对哪个活动感兴趣吗?",
"image": "https://dhcloud-aeon.softsugar.com/images/ccebbe40-c5d3-11ec-a821-0a580af0191f.png"
}
}