跳到主要内容

AI 智能总结

AI 智能总结是在 AI 智能流式语音识别功能基础上增加的智能总结功能。该功能能够自动分析通话内容,生成通话摘要、章节摘要、待办事项、话题提取等多种形式的总结内容,帮助用户快速回顾通话要点。

全场景适用

  • 音视频通话:自动生成通话纪要,记录通话要点、决策事项和待办任务,提升通话效率。
  • 在线培训:生成培训内容摘要和知识点总结,帮助学员快速回顾重点内容。
  • 客户沟通:记录客户需求、沟通要点和后续跟进事项,确保信息不遗漏。

前置条件

AI 智能流式语音翻译是融云 RTC SDK 的高级功能。使用前需要满足以下条件:

服务开通

请[提交工单]开通。

功能依赖

注意

AI 智能会议纪要基于 AI 智能流式语音识别,客户端使用该功能需要先集成AI 智能流式语音识别,并打开语音识别服务。

设置昵称

设置的昵称不会被翻译,如有需求,可调用 RCCallSession#setNickName设置昵称。

参数说明

参数类型说明
nickNamestring人员昵称,长度不超过 64

示例代码

TypeScript
  session.setNickName('testNickName');

设置智能总结事件通知

在发起通话后或接听通话前,需要给 IRCCallASRListener 中添加 onReceiveStartSummarizationonReceiveStopSummarization 两个智能总结监听事件,添加监听后,通话中其他人开启、关闭会议纪要时,本端可以收到相应的变更通知。

TypeScript
  session.registerCallASRListener({
/**
* 开始智能总结
* @param taskId 可用于获取会议纪要、会议语音转文字内容
*/
onReceiveStartSummarization(taskId: string) {
// 业务层 todo
},
/**
* 结束智能总结
* @param taskId
*/
onReceiveStopSummarization(taskId: string) {
// 业务层 todo
},
})

开启智能总结

通话中一方调用 startSummarization 开启智能总结,房间内其他人通过 IRCCallASRListeneronReceiveStartSummarization 收到通知,拿到 taskId;智能总结任务开始后,通话中的语音识别内容会被用于智能总结生成文本内容,可通过 stopSummarization 接口关闭智能总结。

注意

智能总结依赖语音识别服务,需在监听事件 onReceiveStartASR 中执行。

TypeScript
  /**
开始智能总结任务
*
* @description 执行时机:需在监听事件 `onReceiveStartASR` 中执行。
*
* @discussion
1. 智能总结任务依赖语音识别服务
2. 通话中其他人通过 onReceiveStartSummarization 收到通知
3. 智能总结任务开始后,可通过 stopSummarization 接口关闭
*
* @returns taskId 智能总结任务 Id
*/
const { code, taskId } = await session.startSummarization();

关闭智能总结

通话中一方关闭智能总结任务,其他人通过 IRCCallASRListeneronReceiveStopSummarization 收到通知。

提示

智能总结依赖语音识别服务,如果关闭语音识别,智能总结也会同时关闭。

TypeScript
  session.stopSummarization();

生成智能总结

在智能总结任务开启后,可以通过 RCCallClientgenerateSummarization 方法生成智能总结。该方法支持生成通话摘要、章节摘要、待办事项、话题提取等多种形式的总结内容。

参数说明

参数类型说明
callIdstring必传,通话 Id
taskIdstring必传,智能总结任务 Id,通过 startSummarization 返回或 onReceiveStartSummarization 回调获取到
startTimenumber本次需要总结的开始时间,UTC 时间戳,单位秒,传入 0,表示总结开始的时间
endTimenumber本次需要总结的结束时间,UTC 时间戳,单位秒,传入 0,表示当前时间,如果总结已经停止,则表示总结结束的时间
configIRCRTCGenerateSummarizationConfig生成智能总结配置,未配置 customPrompt 时,config 中的 enableSummarizationenableSummarizationDetailsenableChapterSummaryenableTodoListenableHashtag 必须有一个为 true,否则不会产生任何总结内容
contentBlockFunction内容回调,如果内容比较多,contentBlock 会回调多次,isEnd 为 true 时,代表内容回调结束

IRCRTCGenerateSummarizationConfig 说明:

参数类型说明
customPromptstring自定义提示词,最大长度100
destLangstring输出智能总结的目标语言代码
enableSummarizationboolean是否输出总结摘要。即对整个会议的高度概括,默认 false
enableSummarizationDetailsboolean是否为输出总结整体,默认为 false
enableChapterSummaryboolean是否输出章节摘要,即按时间线或话题划分的会议段落总结,默认为 false
enableTodoListboolean是否输出待办事项提取,自动识别会议中达成的共识和分配的任务,默认为 false
enableHashtagboolean是否输出话题提取,默认为 false
formatRCRTCGenerateSummarizationFormat 枚举输出格式,默认为 markdown

代码示例

TypeScript
const startTime = 0;
const endTime = 0;
callClient.generateSummarization(
callId, // 需输入实际 callId
taskId, // 需输入实际 taskId
startTime,
endTime,
{
enableSummarization: true,
enableSummarizationDetails: true,
enableChapterSummary: true,
enableTodoList: true,
enableHashtag: true
},
(data: string, isEnd: boolean) => {
console.log('generateSummarization data block:', data, isEnd);
});

获取语音转文字内容

在智能总结任务开启后,可以通过 RCCallClientgetASRContent 方法获取指定时间段的语音转文字内容。该方法可以获取通话期间的完整语音识别文本。

参数说明

参数类型说明
callIdstring必传,获取语音转文字的通话 Id
taskIdstring必传,智能总结任务 Id,通过 startSummarization 返回或 onReceiveStartSummarization 回调获取到
startTimenumber本次需要获取语音转文字的开始时间,UTC 时间戳,单位秒,传入 0,表示总结开始的时间
endTimenumber本次需要获取语音转文字的结束时间,UTC 时间戳,单位秒,传入 0,表示当前时间,如果总结已经停止,则表示总结结束的时间
destLangstring目标语言代码,默认为语音源语言
contentBlockFunction内容回调,如果内容比较多,contentBlock 会回调多次,isEnd 为 true 时,代表内容回调结束

代码示例

TypeScript
const startTime = 0;
const endTime = 0;
callClient.getASRContent(
callId, // 需输入实际 callId
taskId, // 需输入实际 taskId
startTime,
endTime,
(data: string, isEnd: boolean) => {
console.log('getASRContent data block:', data, isEnd);
},
'en',
);