ConversationalAIAPI 类

  • Web

更新时间不可用

用于通过声网的 RTC 和 RTM 服务管理对话式 AI 引擎交互的类。

信息

自 1.7.0 版本新增。

chat

TypeScript
public async chat(agentUserId: string, message: IChatMessageText | IChatMessageImage)

向对话式智能体发送聊天消息。

信息

自 1.7.0 版本新增。

示例代码

TypeScript
// Send an image message
const imageMessage: IChatMessageImage = {
  messageType: EChatMessageType.IMAGE,
  imageData: urlImageData
};
await api.chat("user123", imageMessage);

参数

参数数据类型描述
agentUserIdstring智能体的唯一标识符。
messageIChatMessageText | IChatMessageImage要发送的聊天消息,类型为 IChatMessageImage,详见 IChatMessageImage。
表格内容超出当前宽度,可横向滚动查看更多列。

返回值

方法调用成功,返回一个 Promise,表示消息发送结果。

speak

TypeScript
public async speak(agentUserId: string, message: SpeakMessage): Promise<void>

绕过大模型,直接通过智能体的 TTS 流程播报文本。

该方法需要在初始化时传入 rtmEngine。Promise 成功仅表示 RTM 消息发布成功,不代表智能体已经完成播报。

参数

参数数据类型描述
agentUserIdstring智能体用户 ID。
messageSpeakMessage播报内容和播报行为配置。详见 SpeakMessage。
表格内容超出当前宽度,可横向滚动查看更多列。

think

TypeScript
public async think(agentUserId: string, message: ThinkMessage): Promise<void>

将文本作为用户输入注入对话,并交由大模型处理。

该方法需要在初始化时传入 rtmEngine。Promise 成功仅表示 RTM 消息发布成功,不代表大模型已经完成处理。

参数

参数数据类型描述
agentUserIdstring智能体用户 ID。
messageThinkMessage指令内容、状态动作和自定义元数据。详见 ThinkMessage。
表格内容超出当前宽度,可横向滚动查看更多列。

getInstance

TypeScript
public static getInstance()

获取 ConversationalAIAPI 的单例实例。

信息

自 1.6.0 版本新增。

该方法确保在整个应用程序生命周期中只存在一个 ConversationalAIAPI 实例。调用前必须先执行 init 方法进行初始化,否则会抛出异常。

返回值

方法调用成功,返回 ConversationalAIAPI 实例。

init

TypeScript
public static init(cfg: IConversationalAIAPIConfig)

初始化 ConversationalAIAPI 单例实例。

信息

自 1.6.0 版本新增。

该方法用于设置 RTC 和 RTM 引擎、渲染模式以及日志选项。必须在调用 ConversationalAIAPI 的其他方法之前调用此方法。

  • 同一时间只能初始化一个实例。
  • 如果已初始化,将抛出错误

参数

参数数据类型描述
cfgIConversationalAIAPIConfig用于初始化 API 的配置对象,详见 IConversationalAIAPIConfig。
表格内容超出当前宽度,可横向滚动查看更多列。

返回值

方法调用成功,返回初始化后的 ConversationalAIAPI 实例。

subscribeMessage

TypeScript
public subscribeMessage(channel: string)

订阅消息频道以获取实时更新。

信息

自 1.6.0 版本新增。

该方法绑定必要的 RTC 和 RTM 事件,并启动 CovSubRenderController 以处理接收到的消息。

注意

  • 使用此方法前必须调用 init。
    • 如果未初始化将抛出错误。

参数

参数数据类型描述
channelstring要订阅消息的频道名。
表格内容超出当前宽度,可横向滚动查看更多列。

unsubscribe

TypeScript
public unsubscribe()

取消订阅消息频道并清理资源。

信息

自 1.6.0 版本新增。

该方法解绑 RTC 和 RTM 事件,清空频道,并清理 CovSubRenderController。

注意

  • 使用此方法前必须调用 subscribeMessage。
    • 如果未初始化将抛出错误。

destroy

TypeScript
public destroy(): void

销毁 ConversationalAIAPI 实例并清理资源。

信息

自 1.6.0 版本新增。

该方法会解绑所有 RTC 和 RTM 事件,清空频道场景,并清理 CovSubRenderController。

注意

  • 使用该方法前必须调用 unsubscribe。
    • 如果未初始化,则会抛出错误。

interrupt

TypeScript
public async interrupt(agentUserId: string)

向指定的智能体发送中断消息。

信息

自 1.6.0 版本新增。

注意

  • 使用该方法前必须调用 init。
    • 如果未初始化或发送失败,将抛出错误。

参数

参数数据类型描述
agentUserIdstring要中断的智能体的用户 ID。
表格内容超出当前宽度,可横向滚动查看更多列。

manualSOS

TypeScript
public async manualSOS(agentUserId: string): Promise<string>

通过 RTM 向智能体发送手动 SoS 信令,显式声明当前用户开始说话。

注意

  • requestId 由组件内部生成。发起请求后,方法返回本次请求对应的 requestId,业务方可自行保存,用于关联服务端回调。
  • 方法返回成功只表示 RTM publish 成功,不代表服务端已处理成功。
  • 服务端是否成功处理本次请求,需要以后续 USER_MANUAL_SOS_RESULT 或 USER_MANUAL_EOS_RESULT 事件结果为准。
  • 客户端不本地判断当前是否为 manual mode,mode 校验交给服务端。

参数

参数数据类型描述
agentUserIdstring智能体的唯一标识符。
表格内容超出当前宽度,可横向滚动查看更多列。

返回值

方法调用成功,返回一个 Promise<string>,其解析值为本次请求对应的 requestId。该返回结果仅表示 RTM publish 成功,不代表服务端已处理成功。

manualEOS

TypeScript
public async manualEOS(agentUserId: string): Promise<string>

通过 RTM 向智能体发送手动 EoS 信令,显式声明当前用户结束说话。

注意

  • requestId 由组件内部生成。发起请求后,方法返回本次请求对应的 requestId,业务方可自行保存,用于关联服务端回调。
  • 方法返回成功只表示 RTM publish 成功,不代表服务端已处理成功。
  • 服务端是否成功处理本次请求,需要以后续 USER_MANUAL_SOS_RESULT 或 USER_MANUAL_EOS_RESULT 事件结果为准。
  • 客户端不本地判断当前是否为 manual mode,mode 校验交给服务端。

参数

参数数据类型描述
agentUserIdstring智能体的唯一标识符。
表格内容超出当前宽度,可横向滚动查看更多列。

返回值

方法调用成功,返回一个 Promise<string>,其解析值为本次请求对应的 requestId。该返回结果仅表示 RTM publish 成功,不代表服务端已处理成功。