结构体
IConversationalAIAPIConfig
JavaScript
export interface IConversationalAIAPIConfig { rtcEngine: IAgoraRTCClient; rtmEngine: RTMClient; renderMode?: ESubtitleHelperMode; enableLog?: boolean; }
用于配置 IConversationalAIAPIConfig
接口的参数。
成员参数
参数 | 数据类型 | 描述 |
---|---|---|
rtcEngine | IAgoraRTCClient | 声网 RTC 引擎实例。详见 IAgoraRTCClient 。 |
rtmEngine | RTMClient | 声网 RTM 引擎实例。详见 RTMClient 。 |
renderMode | ESubtitleHelperMode | 渲染模式。详见 ESubtitleHelperMode 。 |
enableLog | boolean | 是否启用日志记录:
|
TAgentMetric
JavaScript
export type TAgentMetric = {
type: EModuleType
name: string
value: number
timestamp: number
}
TAgentMetric
用于定义智能体指标统计数据类型。
信息
自 1.6.0 版本新增。
成员参数
参数 | 数据类型 | 描述 |
---|---|---|
type | EModuleType | 指标模块类型。详见 EModuleType 。 |
name | string | 指标名称。 |
value | number | 指标数值。 |
timestamp | number | 数据采集时间戳(毫秒)。 |
TModuleError
JavaScript
export type TModuleError = {
type: EModuleType
code: number
message: string
timestamp: number
}
模块错误类型定义。
信息
自 1.6.0 版本新增。
成员参数
参数 | 数据类型 | 描述 |
---|---|---|
type | EModuleType | 发生错误的模块类型,详见 EModuleType 。 |
code | number | 模块特定的错误码。 |
message | string | 可读性强的错误描述,便于理解和处理。 |
timestamp | number | 错误发生时的 Unix 毫秒时间戳。 |
TStateChangeEvent
JavaScript
export type TStateChangeEvent = {
state: EAgentState
turnID: number
timestamp: number
reason: string
}
用于描述语音智能体状态变更的事件类型。
信息
自 v1.6.0 版本新增。
状态变更事件在语音智能体状态发生变化时触发。时间戳使用 UNIX 时间戳(单位为毫秒)。
成员参数
参数 | 数据类型 | 描述 |
---|---|---|
state | EAgentState | 语音代理的当前状态。详见 EAgentState 。 |
turnID | number | 当前会话轮次的唯一标识符。 |
timestamp | number | 状态变更发生时的时间戳(单位为毫秒)。 |
reason | string | 状态变更的原因描述。 |
IConversationalAIAPIEventHandlers
JavaScript
export interface IConversationalAIAPIEventHandlers {
[EConversationalAIAPIEvents.AGENT_STATE_CHANGED]: (
agentUserId: string,
event: TStateChangeEvent
) => void
[EConversationalAIAPIEvents.AGENT_INTERRUPTED]: (
agentUserId: string,
event: {
turnID: number
timestamp: number
}
) => void
[EConversationalAIAPIEvents.AGENT_METRICS]: (
agentUserId: string,
metrics: TAgentMetric
) => void
[EConversationalAIAPIEvents.AGENT_ERROR]: (
agentUserId: string,
error: TModuleError
) => void
[EConversationalAIAPIEvents.TRANSCRIPTION_UPDATED]: (
transcription: ISubtitleHelperItem<
Partial<IUserTranscription | IAgentTranscription>
>[]
) => void
[EConversationalAIAPIEvents.DEBUG_LOG]: (message: string) => void
}
用于 Conversational AI API
模块的事件处理器接口。
信息
自 1.6.0 版本新增。
定义了一组事件处理器,用于响应会话式 AI 系统发出的各种事件,包括智能体状态变更、中断、性能指标、错误和转录更新。
成员参数
参数 | 数据类型 | 描述 |
---|---|---|
agentUserId | string | AI 智能体的唯一标识符。 |
event | TStateChangeEvent | { turnID: number; timestamp: number } | 事件数据,类型取决于事件类型。详见 TStateChangeEvent 。 |
metrics | TAgentMetric | 智能体的性能指标数据。详见 TAgentMetric 。 |
error | TModuleError | 智能体发生错误时的错误信息。详见 TModuleError 。 |
transcription | ISubtitleHelperItem<Partial<IUserTranscription | IAgentTranscription>>[] | 包含用户和智能体对话内容的转录项数组。详见 ISubtitleHelperItem 。 |
message | string | 调试日志消息字符串。 |
EAgentState
JavaScript
export enum EAgentState { IDLE = "idle", LISTENING = "listening", THINKING = "thinking", SPEAKING = "speaking", SILENT = "silent" }
EAgentState
:智能体状态枚举。
信息
自 1.6.0 版本新增。
成员参数
参数 | 数据类型 | 描述 |
---|---|---|
IDLE | string | ("idle"):代理处于空闲状态,准备进行新的交互。 |
LISTENING | string | ("listening"):代理正在接收用户输入。 |
THINKING | string | ("thinking"):代理正在处理接收到的输入。 |
SPEAKING | string | ("speaking"):代理正在输出响应。 |
SILENT | string | ("silent"):代理有意地不做出响应。 |
ISubtitleHelperItem
JavaScript
export interface ISubtitleHelperItem<T> { uid: string; stream_id: number; turn_id: number; _time: number; text: string; status: ETurnStatus; metadata: T | null; }
字幕辅助项接口。
信息
自 1.6.0 版本新增。
成员参数
参数 | 数据类型 | 描述 |
---|---|---|
uid | string | 用户唯一标识符。 |
stream_id | number | 流标识符。 |
turn_id | number | 会话中的轮次标识符。 |
_time | number | 字幕的时间戳(单位为毫秒)。 |
text | string | 字幕文本内容。 |
status | ETurnStatus | 字幕项的状态。详见 ETurnStatus 。 |
metadata | T | null | 附加的元数据信息。详见 T 。 |