创建 RTC AI 任务
更新时间: 2024/11/19 17:49:48
调用该接口创建一个 RTC AI 任务,提供 AI 智能体与用户之间音视频通话服务。该任务支持用户按需设置 AI 能力模块(例如自动语音识别 ASR、语音转文字 TTS、大语言模型 LLM)参数,个性化定制用户专属的 AI 智能体。
功能说明
您可以通过服务端 API 或者客户端 API 发起任务,在任务发起后,网易云信音视频通话通过 AI Service 能力整理参数,并向媒体处理服务器(Media Process Server,MPS)下发任务,启动 AI Pipeline,编解码后的 AI 音视频通过网易云信媒体服务器下发至客户端 SDK(NERTC SDK)。详细流程如下图所示:
服务端 API 调用
客户端 API 调用
请求信息
请求 URL
服务端 API 调用
- 请求方法:POST
- URL:
https://rtc-ai.netease.im/v1/api/task/create
客户端 API 调用
- 请求方法:POST
- URL:
https://rtc-ai.netease.im/ai/task/create
请求头参数
服务端 API 调用
请求头部的参数说明请参考 请求结构。
客户端 API 调用
参数名称 |
类型 |
是否必选 | 说明 |
---|---|---|---|
AppKey |
String | 是 | 请登录 网易云信控制台 查看您的应用对应的 AppKey,具体请参考 创建应用并获取 AppKey。 |
Token |
String | 是 | 客户端向用户服务器请求并获取的 Token,具体请参考 获取 Token。 |
Cname |
String | 是 | 获取 Token 时使用的 channelName ,即 RTC 房间名称。 |
Uid |
String | 是 | 获取 Token 时使用的 uid ,即用户在您应用中的 ID。 |
请求体参数
参数名称 |
类型 |
是否必选 | 取值示例 | 说明 |
---|---|---|---|---|
cname |
String | 是 | meeting_name111 | 房间名称。 |
requestId |
String | 否 | f8f274c1-0e9f-4583-a243-c61c06a19475 | 任务 ID。您可以设置为随机字符串,用于问题排查。 |
taskType |
Int | 是 | 7 | AI 任务类型。如果是语音助手,取值固定为 7。 |
-
data |
Object | 是 | - | 创建的 AI 任务具体信息。 |
-
asr |
Object | 是 | - | ASR AI 任务参数信息。 |
asrVendor |
Int | 是 | 0 | ASR 供应商。 取值请参考下文 AI 供应商。 |
srcLan |
String | 否 | AUTO | ASR 源语言。默认值为 AUTO。取值:
|
-
llm |
Object | 是 | - | LLM AI 任务参数信息。 |
llmVendor |
Int | 是 | 0 | LLM 供应商。 取值请参考下文 AI 供应商。 |
role |
Int | 是 | 0 | LLM 角色。 取值请参考下文 LLM 角色设定说明。 |
customPrompt |
String | 否 | 您是一个语音助手 | LLM 自定义角色提示词(prompt)。 取值请参考下文 LLM 角色设定说明。 |
customPromptKeyWord |
Object | 否 | - | LLM 自定义角色 prompt 的关键词。 取值请参考下文 LLM 角色设定说明。 |
customPromptFormat |
String | 否 | - | LLM 自定义角色合成的 prompt 模板。 取值请参考下文 LLM 角色设定说明。 |
temperature |
Int | 否 | - | LLM 温度配置。取值范围为 [0, 1],默认为 0.8。 |
contextSize |
Int | 否 | - | LLM 关联上下文大小(组)。取值范围 (0, 20],默认为 3 组对话。 |
enableVision |
Bool | 否 | - | 是否开启 LLM 视觉。默认为 false。 目前仅在 OpenAI 供应商下支持。 |
-
tts |
Object | 是 | - | TTS AI 任务参数信息。 |
ttsVendor |
Int | 是 | 0 | TTS 供应商。 取值请参考下文 AI 供应商。 |
voice |
String | 否 | xiaoyi | TTS 音色名称。
|
language |
String | 否 | Chinese | TTS 音色语言。voice 为空时,代表由 MPS 服务器根据 language 和 gender 默认选择音色。取值:
|
gender |
String | 否 | Female | TTS 音色性别。voice 为空时,代表由 MPS 服务器根据 language 和 gender 默认选择音色。取值:
|
-
AI 供应商
如果设置为
0
,则表示由 MPS 服务器默认选择对应模块供应商。模块名称 可选供应商取值 ASR(
asrVendor
)- 1:网易有道
- 4:网易云信自研
- 6:阿里
LLM(
llmVendor
)- 1:通义千问
- 2:OpenAI
- 5:字节跳动豆包
TTS(
ttsVendor
)- 2:网易有道
- 4:阿里 CosyVoice
- 5:MiniMax 大模型
- 6:字节跳动豆包
-
LLM 角色设定
LLM 角色(
role
)可通过三种方式设定:-
方式一:指定参数
role
为非 0 值,表示使用 RTC-AI Service 服务器预设角色的提示词(Prompt)。编号 角色取值 1 语音助手 2 中文老师 3 英文老师 4 医生 5 导演 6 心理咨询师 7 儿童教育专家 8 电商带货主播 9 产品介绍员 10 银行业务办理员 11 会议主持人 12 新闻主持人 13 诸葛亮 14 女友小乐 -
方式二:指定参数
role
为0
值或置空,自定义customPrompt
。 -
方式三:指定参数
role
为0
值或置空,自定义customPromptKeyWord
和customPromptFormat
,由 MPS 服务器组装合成 prompt。示例:JSON
"customPromptKeyWord": { "name": "AI 女友小乐", "sex": "女生", "age": "24 岁", "hobby": "旅游、小说、追星", "characteristic": "体贴、乖巧、善解人意的,女朋友,日常嘘寒问暖,在生活中提供情绪价值" }; "customPromptFormat": "当前角色: {{name}}\n 性别: {{sex}}\n 年龄: {{age}} \n 兴趣爱好: {{hobby}}\n 其他特征: {{characteristic}}"
-
请求体示例
JSON{
"cname": "meeting_name111",
"requestId": "f8f274c1-0e9f-4583-a243-c61c06a19475",
"taskType": 7,
"data": {
"asr": {
"asrVendor": 1
},
"llm": {
"llmVendor": 2,
"role": 0,
"customPrompt": "作为网易云信的智能语音助手.....",
"temperature": 0.8,
"contextSize": 3
},
"tts": {
"ttsVendor": 4,
"voice": "longhao",
"language": "Chinese",
"gender": "Male"
}
}
}
响应信息
响应参数
参数名称 |
类型 | 示例 | 说明 |
---|---|---|---|
code |
int | 200 | 状态码,200 表示成功,具体请参考下文状态码 |
request_id |
String | f8f274c1-0e9f-4583-a243-c61c06a19475 | 请求的唯一标识。 |
cid |
Number | 1144707127429101 | 房间 ID。 |
-
result |
Object | - | 创建任务结果 |
taskId |
String | 2a784467d647bb87b60b719f6fa56333 | 任务唯一标识符,房间内唯一。 |
响应体示例
JSON "code": 200,
"requestId": "f8f274c1-0e9f-4583-a243-c61c06a19475",
"cid": 1144707127429101,
"result": {
"taskId": "2a784467d647bb87b60b719f6fa56333"
}
状态码
- 成功返回
code
:返回内容中,code
为200
表示调用正常。 - 异常返回
code
:若code
为其他值,请根据code
与errmsg
在 错误码和状态码 查看问题原因。
此文档是否对你有帮助?