跳到主要内容

AI 智能总结

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

全场景适用

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

前置条件

AI 智能总结是融云 RTC SDK 的高级功能。若要使用,请在 AI 服务的服务购买页面开通此功能。

注意

AI 智能总结是基于 AI 智能流式语音识别开发的功能,客户端使用该功能需要先集成 AI 智能流式语音识别并开启语音识别。

注册智能总结回调

为了接收智能总结相关通知,您需要实现并注册相应的回调。通过回调,您可以接收智能总结任务的状态通知。

在加入房间成功后,您可以通过 RCRTCRoomregisterRoomListener 方法设置智能总结回调。设置后,您将通过 IRCRTCRoomEventsListeneronReceiveStartSummarizationonReceiveStopSummarization 方法获得智能总结任务状态通知。

接口原型

Java
void registerRoomListener(IRCRTCRoomEventsListener eventsListener)

回调方法说明

回调方法说明
onReceiveStartSummarization智能总结任务开始回调
onReceiveStopSummarization智能总结任务停止回调

onReceiveStartSummarization 参数说明

参数类型说明
taskIdString智能总结任务 ID,用于后续生成智能总结

onReceiveStopSummarization 参数说明

参数类型说明
taskIdString智能总结任务 ID

示例代码

实现 IRCRTCRoomEventsListener 中智能总结相关回调:

Java
rtcroom.registerRoomListener(new IRCRTCRoomEventsListener() {
...
@Override
public void onReceiveStartASR() {
// 收到语音识别开始通知
}

@Override
public void onReceiveStopASR() {
// 收到语音识别停止通知
}

@Override
public void onReceiveStartSummarization(String taskId) {
// 收到智能总结开始通知
}

@Override
public void onReceiveStopSummarization(String taskId) {
// 收到智能总结停止通知
}
});

开启智能总结

在加入房间成功后,您可以通过以下步骤开启智能总结服务:

  1. 获取房间对象中的本地用户对象。
  2. 调用 RCRTCLocalUserstartSummarization 方法开启服务。

开启成功后,其他客户端会通过 IRCRTCRoomEventsListeneronReceiveStartSummarization 方法收到通知。

注意

智能总结依赖语音识别服务,需要在收到 IRCRTCRoomEventsListeneronReceiveStartASR 回调后,调用开启智能总结;智能总结为房间级别功能,房间内任意用户开启后,所有用户都会收到开始通知。

接口原型

Java
void startSummarization(IRCRTCResultDataCallback<String> callback);

参数说明

参数类型说明
callbackIRCRTCResultDataCallback开启智能总结的回调,taskId 为智能总结任务 ID

示例代码

Java
rtcroom.getLocalUser().startSummarization(new IRCRTCResultDataCallback<String>() {
@Override
public void onSuccess(String taskId) {
// 开启成功后,回调智能总结任务 ID
}

@Override
public void onFailed(RTCErrorCode errorCode) {
// 开启失败,回调错误码
}
});

关闭智能总结

您可以通过 RCRTCLocalUserstopSummarization 方法关闭智能总结。

提示

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

接口原型

Java
void stopSummarization(IRCRTCResultCallback callback);

参数说明

参数类型说明
callbackIRCRTCResultCallback停止智能总结的回调

示例代码

Java
rtcroom.getLocalUser().stopSummarization(new IRCRTCResultCallback() {
@Override
public void onSuccess() {
// 停止成功
}

@Override
public void onFailed(RTCErrorCode errorCode) {
// 停止失败
}
});

生成智能总结

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

接口原型

Java
void generateSummarization(
String roomId,
String taskId,
long startTime,
long endTime,
RCRTCGenerateSummarizationConfig config,
IRCRTCStreamDataCallback<String> callback);

参数说明

参数类型说明
roomIdString生成智能总结的房间 ID
taskIdString智能总结任务 ID,通过 onReceiveStartSummarization 回调获取到
startTimelong本次需要总结的开始时间,UTC 时间戳,单位秒,传入 0,表示总结开始的时间
endTimelong本次需要总结的结束时间,UTC 时间戳,单位秒,传入 0,表示当前时间,如果总结已经停止,则表示总结结束的时间
configRCRTCGenerateSummarizationConfig生成智能总结配置,详见下方 配置说明
callbackIRCRTCStreamDataCallback内容结果回调,如果内容比较多,onDataReceived 会回调多次

配置说明

RCRTCGenerateSummarizationConfig 配置类包含以下属性:

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

示例代码

Java
// 创建智能总结配置
RCRTCGenerateSummarizationConfig config =
RCRTCGenerateSummarizationConfig.Builder.create()
.enableChapterSummary(true) // 启用章节摘要
.enableTodoList(true) // 启用待办事项提取
.enableHashtag(true) // 启用话题提取
.enableSummarization(true) // 启用总结摘要
.enableSummarizationDetails(true) // 启用总结详情
.format(RCRTCGenerateSummarizationFormat.MARK_DOWN) // 设置输出格式为 MarkDown
.setDestLang("zh") // 设置输出语言为中文
.build();

// 生成智能总结
RCRTCEngine.getInstance().generateSummarization(roomId, taskId, 0, 0, config, new IRCRTCStreamDataCallback<String>() {
@Override
public void onComplete() {
// 数据接收完成
}

@Override
public void onDataReceived(String data) {
// 实时接收智能总结数据
}

@Override
public void onFailed(RTCErrorCode errorCode) {
// 生成失败,回调错误码
}
});

获取语音转文字

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

接口原型

Java
void getASRContent(
String roomId,
String taskId,
long startTime,
long endTime,
String destLang,
IRCRTCStreamDataCallback<String> callback);

参数说明

参数类型说明
roomIdString获取语音转文字的房间 ID
taskIdString智能总结任务 ID,通过 onReceiveStartSummarization 回调获取到
startTimelong本次需要获取语音转文字的开始时间,UTC 时间戳,单位秒,传入 0,表示总结开始的时间
endTimelong本次需要获取语音转文字的结束时间,UTC 时间戳,单位秒,传入 0,表示当前时间,如果总结已经停止,则表示总结结束的时间
destLangString目标语言代码,如果传入 null 或空字符串,则使用默认语言
callbackIRCRTCStreamDataCallback内容结果回调,如果内容比较多,onDataReceived 会回调多次

示例代码

Java
// 获取语音转文字内容
RCRTCEngine.getInstance().getASRContent(roomId, taskId, 0, 0, "zh", new IRCRTCStreamDataCallback<String>() {
@Override
public void onComplete() {
// 数据接收完成
}

@Override
public void onDataReceived(String data) {
// 实时接收语音识别数据
}

@Override
public void onFailed(RTCErrorCode errorCode) {
// 获取失败,回调错误码
}
});