跳到主要内容

AI 智能总结

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

全场景适用

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

前置条件

AI 智能会议纪要是融云 RTC SDK 的高级功能。使用前需要满足以下条件:

服务开通

提交工单开通。

功能依赖

注意

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

设置昵称

设置的昵称不会被翻译,如有需求,可在加入房间时通过配置 IJoinRTCRoomOptions 中的 nickName 参数设置昵称。

参数说明

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

示例代码

TypeScript
  rtcClient.joinRTCRoomWithOptions(roomId, {
nickName: 'testNickName'
});

设置智能总结事件通知

加入房间成功后,房间内其他人开启、关闭会议纪要时,本端可以通过 RCRTCRoom#registerRoomListener 方法设置 onReceiveStartSummarizationonReceiveStopSummarization 两个回调,接收会议纪要的开关状态变更。

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

开启智能总结

开始智能总结任务为房间级别接口。房间内开始智能总结任务后,房间内其他人会通过 IRoomEventListeneronReceiveStartSummarization 收到通知,获取 taskId。智能总结任务开始后,房间内的语音识别内容会被用于智能总结生成文本内容,可通过 stopSummarization 接口关闭智能总结。

注意

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

TypeScript
  /**
* 开始智能总结
*
* @description 执行时机:需在房间监听事件 `onReceiveStartASR` 中执行。
*
* @discussion
1. 智能总结任务依赖语音识别服务
2. 开始智能总结任务为房间级别接口,房间内开始智能总结任务,房间内其他人通过 IRoomEventListener 的 onReceiveStartSummarization 收到通知,拿到任务 Id
3. 智能总结任务开始后,房间内的语音识别内容会被用于智能总结生成文本内容
4. 智能总结任务开始后,可通过 stopSummarization 接口关闭
*
* @returns taskId 智能总结任务 Id
*/
const { code, taskId } = await room.startSummarization();

关闭智能总结

关闭智能总结任务为房间级别接口,房间内关闭智能总结任务,房间内其他人通过 IRoomEventListeneronReceiveStopSummarization 收到通知。

提示

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

TypeScript
  room.stopSummarization();

生成智能总结

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

参数说明

参数类型说明
roomIdstring必传,生成智能总结的房间 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;
rtcClient.generateSummarization(
roomId, // 需输入实际 roomId
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);
});

获取语音转文字内容

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

参数说明

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

代码示例

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