创建AI会话

最近更新时间:2024-11-11 01:10:22

我的收藏

1. 接口描述

接口请求域名: ccc.tencentcloudapi.com 。

用于调用AI模型发起外呼通话,仅限自有电话号码使用,目前开通高级版座席限时免费体验。

发起通话前,请先确认您的AI模型是否兼容 OpenAI、Azure 或 Minimax 协议,并前往模型服务商网站获取相关鉴权信息。 具体功能说明请参考文档 腾讯云联络中心AI通话平台

默认接口请求频率限制:20次/秒。

推荐使用 API Explorer
点击调试
API Explorer 提供了在线调用、签名验证、SDK 代码生成和快速检索接口等能力。您可查看每次调用的请求内容和返回结果以及自动生成 SDK 调用示例。

2. 输入参数

以下请求参数列表仅列出了接口请求参数和部分公共参数,完整公共参数列表见 公共请求参数

参数名称 必选 类型 描述
Action String 公共参数,本接口取值:CreateAICall。
Version String 公共参数,本接口取值:2020-02-10。
Region String 公共参数,此参数为可选参数。
SdkAppId Integer 应用 ID(必填),可以查看 https://console.cloud.tencent.com/ccc
示例值:1400000000
Callee String 被叫号码
示例值:008613012345678
SystemPrompt String 用于设定AI人设、说话规则、任务等的全局提示词。示例:## 人设您是人民医院友善、和蔼的随访医生李医生,正在给患者小明的家长打电话,原因是医院要求小明2024-08-08回院复查手术恢复情况,但小明没有来。您需要按照任务流程对小明家长进行电话随访调查。## 要求简洁回复:使用简练语言,每次最多询问一个问题,不要在一个回复中询问多个问题。富有变化:尽量使表达富有变化,表达机械重复。自然亲切:使用日常语言,尽量显得专业并亲切。提到时间时使用口语表述,如下周三、6月18日。积极主动:尝试引导对话,每个回复通常以问题或下一步建议来结尾。询问清楚:如果对方部分回答了您的问题,或者回答很模糊,请通过追问来确保回答的完整明确。遵循任务:当对方的回答偏离了您的任务时,及时引导对方回到任务中。不要从头开始重复,从偏离的地方继续询问。诚实可靠:对于客户的提问,如果不确定请务必不要编造,礼貌告知对方不清楚。不要捏造患者未提及的症状史、用药史、治疗史。其他注意点:避免提到病情恶化、恢复不理想或疾病名称等使用会使患者感到紧张的表述。不要问患者已经直接或间接回答过的问题,例如患者已经说没有不适症状,那就不要再问手术部位是否有红肿疼痛症状的问题。##任务: 1.自我介绍您是人民医院负责随访的李医生,并说明致电的目的。2.询问被叫方是否是小明家长。 - 如果不是小明家长,请礼貌表达歉意,并使用 call_end 挂断电话。- 如果小明家长没空,请礼貌告诉对方稍后会重新致电,并使用 end_call 挂断电话。3.询问小明出院后水肿情况如何,较出院时是否有变化。- 如果水肿变严重,直接跳转步骤7。4.询问出院后是否给小朋友量过体温,是否出现过发烧情况。- 如果没有量过体温,请礼貌告诉家长出院后三个月内需要每天观察体温。- 如果出现过发烧,请直接跳转步骤7。5.询问出院后是否给小朋友按时服药。- 如果没有按时服药,请友善提醒家长严格按医嘱服用药物,避免影响手术效果。6.询问小朋友在饮食上是否做到低盐低脂,适量吃优质蛋白如鸡蛋、牛奶、瘦肉等。- 如果没有做到,请友善提醒家长低盐低脂和优质蛋白有助小朋友尽快恢复。7.告知家长医生要求6月18日回院复查,但没看到有相关复诊记录。提醒家长尽快前往医院体检复查血化验、尿常规。8.询问家长是否有问题需要咨询,如果没有请礼貌道别并用call_end挂断电话。
LLMType String 模型接口协议类型,目前兼容三种协议类型:

- OpenAI协议(包括GPT、混元、DeepSeek等):"openai"
- Azure协议:"azure"
- Minimax协议:"minimax"
示例值:openai
Model String 模型名称,如

- OpenAI协议
"gpt-4o-mini","gpt-4o","hunyuan-standard", "hunyuan-turbo","deepseek-chat";

- Azure协议
"gpt-4o-mini", "gpt-4o";

- Minmax协议
"deepseek-chat".
示例值:gpt-4o-mini
APIKey String 模型API密钥,获取鉴权信息方式请参见各模型官网

- OpenAI协议:GPT混元DeepSeek

- Azure协议:Azure GPT

- Minimax:Minimax
示例值:sk-proj-roWWEBWMV6q2Uz6LfnzRT3BlbkFJG6dykvrS7exahbIAVrjf
APIUrl String 模型接口地址

- OpenAI协议
GPT:"https://api.openai.com/v1/"
混元:"https://api.hunyuan.cloud.tencent.com/v1"
Deepseek:"https://api.deepseek.com/v1"

- Azure协议
"https://{your-resource-name}.openai.azure.com?api-version={api-version}"

- Minimax协议
"https://api.minimax.chat/v1"
示例值:https://api.openai.com/v1/
VoiceType String 默认提供以下音色参数值可选择,如需自定义音色VoiceType请留空并在参数CustomTTSConfig中配置

汉语:
ZhiMei:智美,客服女声
ZhiXi: 智希 通用女声
ZhiQi:智琪 客服女声
ZhiTian:智甜 女童声
AiXiaoJing:爱小静 对话女声

英语:
WeRose:英文女声
Monika:英文女声

日语:
Nanami

韩语:
SunHi

印度尼西亚语(印度尼西亚):
Gadis

马来语(马来西亚):
Yasmin

泰米尔语(马来西亚):
Kani

泰语(泰国):
Achara

越南语(越南):
HoaiMy


示例值:ZhiQi
Callers.N Array of String 主叫号码列表
示例值:[008613912341234, 008613912341235]
WelcomeMessage String 用于设定AI座席欢迎语。
示例值:您好
WelcomeType Integer 0:使用welcomeMessage(为空时,被叫先说话;不为空时,机器人先说话)
1: 使用ai根据prompt自动生成welcomeMessage并先说话
示例值:0
MaxDuration Integer 最大等待时长(毫秒),默认60秒,超过这个时间用户没说话,自动挂断
示例值:60000
Languages.N Array of String 语音识别支持的语言, 默认是"zh" 中文,
填写数组,最长4个语言,第一个语言为主要识别语言,后面为可选语言,
注意:主要语言为中国方言时,可选语言无效
目前全量支持的语言如下,等号左面是语言英文名,右面是Language字段需要填写的值,该值遵循ISO639:
1. Chinese = "zh" # 中文
2. Chinese_TW = "zh-TW" # 中国台湾
3. Chinese_DIALECT = "zh-dialect" # 中国方言
4. English = "en" # 英语
5. Vietnamese = "vi" # 越南语
6. Japanese = "ja" # 日语
7. Korean = "ko" # 汉语
8. Indonesia = "id" # 印度尼西亚语
9. Thai = "th" # 泰语
10. Portuguese = "pt" # 葡萄牙语
11. Turkish = "tr" # 土耳其语
12. Arabic = "ar" # 阿拉伯语
13. Spanish = "es" # 西班牙语
14. Hindi = "hi" # 印地语
15. French = "fr" # 法语
16. Malay = "ms" # 马来语
17. Filipino = "fil" # 菲律宾语
18. German = "de" # 德语
19. Italian = "it" # 意大利语
20. Russian = "ru" # 俄语
示例值:["zh","en"]
InterruptMode Integer 打断AI说话模式,默认为0,0表示服务端自动打断,1表示服务端不打断,由端上发送打断信令进行打断
示例值:1
InterruptSpeechDuration Integer InterruptMode为0时使用,单位为毫秒,默认为500ms。表示服务端检测到持续InterruptSpeechDuration毫秒的人声则进行打断。
示例值:500
EndFunctionEnable Boolean 模型是否支持(或者开启)call_end function calling
示例值:true
EndFunctionDesc String EndFunctionEnable为true时生效;call_end function calling的desc,默认为 "End the call when user has to leave (like says bye) or you are instructed to do so."
NotifyDuration Integer 用户多久没说话提示时长,最小10秒,默认10秒
示例值:10000
NotifyMessage String 用户NotifyDuration没说话,AI提示的语句,默认是"抱歉,我没听清。您可以重复下吗?"
示例值:抱歉,我没听清。您可以重复下吗?
CustomTTSConfig String

和VoiceType字段需要选填一个,这里是使用自己自定义的TTS,VoiceType是系统内置的一些音色



{ 
"TTSType": "tencent", // String TTS类型, 目前支持"tencent" 和 “minixmax”, 其他的厂商支持中
  "AppId": "您的应用ID", // String 必填
  "SecretId": "您的密钥ID", // String 必填
  "SecretKey": "您的密钥Key", // String 必填
  "VoiceType": 101001, // Integer 必填,音色 ID,包括标准音色与精品音色,精品音色拟真度更高,价格不同于标准音色,请参见语音合成计费概述。完整的音色 ID 列表请参见语音合成音色列表。
  "Speed": 1.25, // Integer 非必填,语速,范围:[-2,6],分别对应不同语速: -2: 代表0.6倍 -1: 代表0.8倍 0: 代表1.0倍(默认) 1: 代表1.2倍 2: 代表1.5倍 6: 代表2.5倍 如果需要更细化的语速,可以保留小数点后 2 位,例如0.5/1.25/2.81等。 参数值与实际语速转换,可参考 语速转换
  "Volume": 5, // Integer 非必填,音量大小,范围:[0,10],分别对应11个等级的音量,默认值为0,代表正常音量。
  "PrimaryLanguage": 1, // Integer 可选 主要语言 1-中文(默认) 2-英文 3-日文
"FastVoiceType": "xxxx" // 可选参数, 快速声音复刻的参数
 }



{
"TTSType": "minimax", // String TTS类型,
"Model": "speech-01-turbo",
"APIUrl": "https://api.minimax.chat/v1/t2a_v2",
"APIKey": "eyxxxx",
"GroupId": "181000000000000",
"VoiceType":"female-tianmei-jingpin",
"Speed": 1.2
}


  • 火山 TTS


配置音色类型参考火山TTS文档链接

语音合成音色列表–语音技术-火山引擎

大模型语音合成音色列表–语音技术-火山引擎


{
"TTSType": "volcengine", // 必填:String TTS类型
"AppId" : "xxxxxxxx", // 必填:String 火山引擎分配的Appid
"Token" : "TY9d4sQXHxxxxxxx", // 必填: String类型 火山引擎的访问token
"Speed" : 1.0, // 可选参数 语速,默认为1.0
"Volume": 1.0, // 可选参数, 音量大小, 默认为1.0
"Cluster" : "volcano_tts", // 可选参数,业务集群, 默认是 volcano_tts
"VoiceType" : "zh_male_aojiaobazong_moon_bigtts" // 音色类型, 默认为大模型语音合成的音色。 如果使用普通语音合成,则需要填写对应的音色类型。 音色类型填写错误会导致没有声音。
}



{
"TTSType": "azure", // 必填:String TTS类型
"SubscriptionKey": "xxxxxxxx", // 必填:String 订阅的Key
"Region": "chinanorth3", // 必填:String 订阅的地区
"VoiceName": "zh-CN-XiaoxiaoNeural", // 必填:String 音色名必填
"Language": "zh-CN", // 必填:String 合成的语言
"Rate": 1 // 选填:float 语速 0.5~2 默认为 1
}



  • 自定义


TTS

具体协议规范请参考腾讯文档


{
"TTSType": "custom", // String 必填
"APIKey": "ApiKey", // String 必填 用来鉴权
"APIUrl": "http://0.0.0.0:8080/stream-audio" // String,必填,TTS API URL
"AudioFormat": "wav", // String, 非必填,期望输出的音频格式,如mp3, ogg_opus,pcm,wav,默认为 wav,目前只支持pcm和wav,
"SampleRate": 16000, // Integer,非必填,音频采样率,默认为16000(16k),推荐值为16000
"AudioChannel": 1, // Integer,非必填,音频通道数,取值:1 或 2 默认为1
}



示例值:{ "TTSType": "azure", "SubscriptionKey": "xxxxxxxx", "Region": "chinanorth3", "VoiceName": "zh-CN-XiaoxiaoNeural", "Language": "zh-CN", "Rate": 1 }

3. 输出参数

参数名称 类型 描述
SessionId String 新创建的会话 ID
示例值:adcf61b8-dbb9-4c20-87bf-c0744c04bade
RequestId String 唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。

4. 示例

示例1 创建AI通话示例(患者随访场景)

本示例模拟某医院调用大模型对手术出院患者家长进行电话随访调查。

输入示例

POST / HTTP/1.1
Host: ccc.tencentcloudapi.com
Content-Type: application/json
X-TC-Action: CreateAICall
<公共请求参数>

{
    "Callee": "008612300000000",
    "SdkAppId": 1400000000,
    "SystemPrompt": "你是人民医院友善、和蔼的的随访医生李医生,正在给患者小明的家长打电话。",
    "WelcomeMessage": "您好",
    "LLMType": "openai",
    "Model": "gpt-4o-mini",
    "APIKey": "sk-proj-roWWEBWMV6q2Uz6LfnzRT3BlbkFJG6dykvrS7exahbIAVrjf",
    "APIUrl": "https://api.openai.com/v1/",
    "VoiceType": "ZhiXi",
    "EndFunctionEnable": true
}

输出示例

{
    "Response": {
        "RequestId": "6bb56a09-2787-40bc-80c5-dc6dab783eff",
        "SessionId": "6bb56a09278740bc80c5dc6dab783eff"
    }
}

5. 开发者资源

腾讯云 API 平台

腾讯云 API 平台 是综合 API 文档、错误码、API Explorer 及 SDK 等资源的统一查询平台,方便您从同一入口查询及使用腾讯云提供的所有 API 服务。

API Inspector

用户可通过 API Inspector 查看控制台每一步操作关联的 API 调用情况,并自动生成各语言版本的 API 代码,也可前往 API Explorer 进行在线调试。

SDK

云 API 3.0 提供了配套的开发工具集(SDK),支持多种编程语言,能更方便的调用 API。

命令行工具

6. 错误码

以下仅列出了接口业务逻辑相关的错误码,其他错误码详见 公共错误码

错误码 描述
FailedOperation.CallOutFailed 外呼失败。
FailedOperation.CalleeIsBlackUser 高风险用户,请勿呼叫
FailedOperation.CallerOverFrequency 主叫号码外呼超频。
FailedOperation.CalloutRuleBlindArea 触发默认被叫规则,呼叫盲区
FailedOperation.CalloutRuleMaxCallCountCalleeIntervalTime 触发默认外呼规则,被叫一段时间内呼叫量
FailedOperation.CalloutRuleMaxCallCountCalleePerDayAppID 触发默认外呼规则,被叫每日最大呼叫量
FailedOperation.CalloutRuleNotWorkTime 触发默认外呼规则,不在可外呼时间
FailedOperation.NoCallOutNumber 无可用的外呼号码。
FailedOperation.PermissionDenied 权限不足。
InternalError 内部错误。
InvalidParameterValue 参数取值错误。
InvalidParameterValue.InstanceNotExist 实例不存在。
LimitExceeded.BasePackageExpired 套餐包耗尽