传入启动通话参数
通过阅读本文,您可以了解如何通过传入通话参数来启动智能体通话。
使用说明
本示例主要旨在帮助您在不含UI集成的情况下,如何利用API实现该功能。
您需要提前集成AICallkit SDK。如何集成,请参见Android集成SDK、iOS集成SDK、Web集成SDK。
功能描述
智能体在启动通话时,支持传入多个参数,以控制其运行状态及对话响应结果等。您可以根据自身的业务需求,通过传入这些参数,构建适合您业务的智能体对话。
参数列表
Android
ARTCAICallAgentConfig
通话可配置的参数项
参数 | 类型 | 含义 |
agentGreeting | String | 智能体欢迎语,为空表示使用智能体配置值,最大长度100字符 |
wakeUpQuery | String | 用户在通话启动前的指令,用于智能体在通话启动后立即响应 |
agentMaxIdleTime | int | 智能体闲时的最大等待时间(单位:秒),超时智能体自动下线,默认值为600s |
userOnlineTimeout | int | 用户未入会,智能体超时关闭任务的时间,默认值为60s |
userOfflineTimeout | int | 用户退会后,智能体超时关闭任务的时间,默认值为5s |
enablePushToTalk | boolean | 是否开启对讲机模式 |
agentGracefulShutdown | boolean | 是否优雅下线:播报完当前句子再停止 |
volume | int | 智能体说话的音量,范围为 0~400,默认值为100 |
workflowOverrideParams | String | 工作流覆盖参数 |
enableIntelligentSegment | boolean | 智能断句开关 |
asrConfig | 语音识别配置 | |
ttsConfig | 语音合成配置 | |
llmConfig | 大语言模型配置 | |
avatarConfig | 数字人配置 | |
interruptConfig | 打断配置 | |
voiceprintConfig | 声纹降噪配置 | |
turnDetectionConfig | 轮次检测配置 | |
experimentalConfig | JSONObject | 非产品化定制化配置 |
iOS
ARTCAICallAgentConfig
通话智能体启动与运行配置
属性名 | 类型 | 描述 |
agentGreeting | String? | 智能体欢迎语,为空表示使用智能体配置值 |
wakeUpQuery | String? | 用户在通话启动前的指令,用于智能体在通话启动后立即响应 |
agentMaxIdleTime | Int32 | 智能体闲时的最大等待时间(单位:秒),超时智能体自动下线,默认值为600s |
userOnlineTimeout | Int32 | 用户未入会,智能体超时关闭任务的时间,默认值为60s |
userOfflineTimeout | Int32 | 用户退会后,智能体超时关闭任务的时间,默认值为5s |
enablePushToTalk | Bool | 是否开启对讲机模式 |
agentGracefulShutdown | Bool | 是否优雅下线 |
volume | Int32 | 智能体说话的音量,范围为 0~400,默认值为100 |
workflowOverrideParams | [String: Any]? | 工作流覆盖参数 |
enableIntelligentSegment | Bool | 智能断句开关 |
asrConfig | 语音识别配置 | |
ttsConfig | 语音合成配置 | |
llmConfig | 大语言模型配置 | |
avatarConfig | 数字人配置 | |
interruptConfig | 打断配置 | |
voiceprintConfig | 声纹降噪配置 | |
turnDetectionConfig | 轮次检测配置 | |
experimentalConfig | [String: Any]? | 非产品化定制化配置 |
Web
AICallAgentConfig
通话智能体启动与运行配置
属性名 | 类型 | 描述 |
agentGreeting | string? | 智能体欢迎语,为空表示使用智能体配置值,最大长度100字符 |
wakeUpQuery | string? | 用户在通话启动前的指令,用于智能体在通话启动后立即响应 |
agentMaxIdleTime | number | 智能体闲时的最大等待时间(单位:秒),超时智能体自动下线,默认值为600s |
userOnlineTimeout | number | 用户未入会,智能体超时关闭任务的时间,默认值为60s |
userOfflineTimeout | number | 用户退会后,智能体超时关闭任务的时间,默认值为5s |
enablePushToTalk | boolean | 是否开启对讲机模式 |
agentGracefulShutdown | boolean | 是否优雅下线:播报完当前句子再停止 |
volume | number | 智能体说话的音量,范围为 0~400,默认值为100 |
workflowOverrideParams | JSONObject | 工作流覆盖参数 |
enableIntelligentSegment | boolean | 智能断句开关 |
asrConfig | 语音识别配置 | |
ttsConfig | 语音合成配置 | |
llmConfig | 大语言模型配置 | |
avatarConfig | 数字人配置 | |
interruptConfig | 打断配置 | |
voiceprintConfig | 声纹降噪配置 | |
turnDetectionConfig | 轮次检测配置 | |
experimentalConfig | JSONObject | 非产品化定制化配置 |
功能实现
Android
您需要通过构建ARTCAICallConfig并设置ARTCAICallAgentConfig对象的属性值来实现。
ARTCAICallEngine.ARTCAICallConfig artcaiCallConfig = new ARTCAICallEngine.ARTCAICallConfig();
artcaiCallConfig.agentId = "XXX"; //智能体ID,必填
artcaiCallConfig.region = "cn-shanghai";//智能体区域,必填
artcaiCallConfig.agentType = VoiceAgent;//定智能体的类型:纯语音、数字人、视觉理解、视频通话
artcaiCallConfig.agentConfig.agentGreeting = "你好,我是视频云的小云";////设置欢迎语
artcaiCallConfig.agentConfig.agentMaxIdleTime = 600;//设置闲时等待时间
artcaiCallConfig.agentConfig.asrConfig.vadLevel = 3;//设置AIVad的灵敏度参数,通过该参数的设定可以抗人声干扰
engine.init(artcaiCallConfig);
engine.call(token);
iOS
您需要通过构建ARTCAICallConfig并配置ARTCAICallAgentConfig属性值来实现。
let callConfig = ... // 创建并初始化ARTCAICallConfig,可以参考使用指南文档
let agentConfig = ARTCAICallAgentConfig() // 创建ARTCAICallAgentConfig对象
agentConfig.agentGreeting = "你好,我是视频云的小云" // 设置欢迎语
agentConfig.agentMaxIdleTime = 600 // 设置闲时等待时间
agentConfig.asrConfig.asrMaxSilence = 400 // 设置断句检测时间
agentConfig.asrConfig.vadLevel = 3 // 置AIVad的灵敏度参数,通过该参数的设定可以抗人声干扰
... // 根据业务需要设置参数
callConfig.agentConfig = agentConfig
self.engine.call(config: callConfig) // 发起呼叫
Web
通过构建AICallConfig并设定属性值来实现,属性的定义及默认值参考Web数据结构AICallAgentConfig。
const callConfig = {}; // 创建并初始化 AICallConfig,可以参考使用指南文档
const agentConfig = new AICallAgentConfig(); // 创建 AICallAgentConfig 对象
agentConfig.agentGreeting = "你好,我是视频云的小云"; // 设置欢迎语
agentConfig.agentMaxIdleTime = 600; // 设置闲时等待时间
agentConfig.asrConfig.asrMaxSilence = 400; // 设置断句检测时间
agentConfig.asrConfig.vadLevel = 3; // 置AIVad的灵敏度参数,通过该参数的设定可以抗人声干扰
// ... // 根据业务需要设置参数
callConfig.agentConfig = agentConfig;
engine1.callWithConfig(callConfig); // 发起呼叫