获取智能体服务状态
在与智能体进行实时语音通话时,您可能需要获取智能体实例的状态或实时变化消息,以便在业务端及时进行后续处理或保证业务的稳定性。您可以通过主调接口或者监听相应的服务端回调来获取这些状态消息。
状态消息包括以下类型:
- 服务端异常事件:包括 AI Agent 服务错误、实时音视频 RTC 相关错误、大语言模型(LLM)相关错误、文本转语音(TTS)相关错误(例如 TTS 并发超限等)等。
- 智能体实例状态:
- 通过服务端主调接口可查询的状态:空闲中、聆听中、思考中、讲话中等。
- 通过服务端回调可监听智能体被打断,用以中断某些进行中的任务,如终止 RAG 任务等。
监听服务端异常事件
请联系 ZEGO 技术支持配置用于接收 AI Agent 后台回调的地址。
当服务端有异常事件时,AI Agent 后台会向上述配置的地址发送异常事件通知(Event
为Exception
),内容示例如下:
Untitled
{
"AppId": 123456789,
"Event": "Exception",
"Nonce": "abcdd22113",
"Timestamp":1741221508000,
"Signature": "XXXXXXX",
"Sequence": 1921825797275873300,
"RoomId": "test_room",
"AgentUserId": "test_agent",
"AgentInstanceId": "1912124734317838336",
"Data": {
"Code": 2203,
"Message": "The API key in the request is missing or invalid"
}
}
1
获取智能体实例状态
通过服务端接口获取
调用查询智能体实例状态接口( QueryAgentInstanceStatus ),传入对应的 AgentInstanceId
,服务端将返回智能体实例当前的状态(如空闲中、聆听中、思考中、讲话中等)。
说明
在你创建智能体实例(CreateAgentInstance)的成功响应中包含
AgentInstanceId
字段。监听智能体被打断回调
1
配置回调地址
请联系 ZEGO 技术支持配置用于接收 AI Agent 后台回调的地址。
2
启用回调接收
创建智能体实例 时,请求参数 CallbackConfig.Interrupted
设置为 1。
3
接收回调
当智能体被打断时,AI Agent 后台会向上述配置的地址发送打断事件通知(Event
为Interrupted
),内容示例如下:
Untitled
{
"AppId": 123456789,
"Nonce": "abcdd22113",
"Timestamp": 1747033950524,
"Sequence": 1921825797275873300,
"Signature": "XXXXXXX",
"Event": "Interrupted",
"RoomId": "90000001237",
"AgentInstanceId": "1921825671047294976",
"AgentUserId": "apitest689_agent",
"Data": {
"Round": 1481651956,
"Reason": 1
}
}
1
Reason
(被打断的原因)解释如下:
参数 | 类型 | 说明 |
---|---|---|
Reason | Number | 被打断的原因: |