当前位置: 首页 > news >正文

亚马逊云科技生成式AI技术辅助教学领域,近实时智能应答2D数字人搭建

 早在大语言模型如GPT-3.5等的兴起和被日渐广泛的采用之前,教育行业已经在AI辅助教学领域有过各种各样的尝试。在教育行业,人工智能技术的采用帮助教育行业更好地实现教学目标,提高教学质量、学习效率、学习体验、学习成果。例如,人工智能技术可以帮助教师更好地管理课堂,更好地识别学生的学习需求,更好地提供个性化的学习内容,更好地评估学生的学习成果,更好地提供学习支持。此外,人工智能技术还可以帮助教育行业更好地实现自动化,提高教育行业的效率和效果。总之,人工智能技术在教育行业的采用将会带来巨大的变化,为教育行业带来更多的发展机遇。

 亚马逊云科技也一直致力于提供更方便快捷,功能更强大的AI服务来支持教育行业客户的技术创新和业务创新。特别是Amazon Transcribe、Amazon Polly、Amazon Textract、Amazon Translate、Amazon Personalize、Amazon Rekognition、Amazon SageMaker等产品分别从自然语言处理、图形图像处理、模型研发部署等方面为教育行业提供了强有力的技术支持。

 本文结合Amazon Transcribe、Amazon Polly,以及OpenAI的大语言模型和D-ID.com公司的2D数字人生成技术,介绍实现一个演示用的可语音对话的智能2D数字人设计的服务和具体的实现过程。

 方案架构

 为了能在一个统一的用户界面呈现语音输入、语音输出,以及2D数字人视频播放的整体效果,本方案选择Gradio框架实现WebUI的功能。呈现的WebUI如下:

 用户可以通过直接输入文字内容或者使用麦克风输入语音,文字内容会使用Langchain附加上一定的上下文后送给OpenAI的GPT接口调用,语音输入会先调用Amazon Transcribe服务进行语音到文字的转换。经过GPT接口返回的文字内容,会调用AWS Polly形成语音文件,同时语音文件会作为D-ID.com提供的API渲染出2D的动态视频在前端自动展示和播放。

 本方案中语音输入,语音输出,文字响应生成,以及数字人视频生成的功能都可以做自由的组合和替换。特别是对于OpenAI接口的调用可以置换为对自部署的大语言模型的调用,同时2D数字人视频的生成也可以考虑其他类似服务,如Heygen等。

 具体实现

 语音输入部分

 Amazon Transcribe支持实时转录语音(流式传输),也可以转录Amazon S3存储桶中的语音文件(批处理)。Transcribe支持多达几十种的不同国家的语言。

 Transcribe的实时转录能力非常的强大,处理流数据的同时,不断的利用之前的上下文进行结果的实时矫正,可以通过下面这个截图看到Transcribe实时转录输出的效果:

 应答内容生成部分

 在本方案里,应答内容的生成借助Langchain这个开源框架,调用基于OpenAI的coversation接口,同时使用memory库对对话的上下文做了5轮保存。在实际的客户场景里,可以考虑更丰富的方式来规范回复的内容的有效性和客观性。

 比如可以使用Langchain的对话模版来对大模型的角色进行预设,或者使用Amazon Kendra,Amazon Opensearch这样的知识库构建和检索引擎,来进一步限制大模型应答的内容范围。

 语音输出部分

 Amazon Polly可以将文本转化为逼真的语音。它支持多种语言并且包含各种逼真的声音模拟,也包含中文普通话语音的模拟。

 可以构建支持语音并能用于各种位置的应用程序,并选择适合客户的声音。Amazon Polly也支持语音合成标记语言(SSML),它是一种基于XML的W3C标准标记语言,适用于语音合成应用程序,且支持使用通用SSML标签进行断句、重音和语调。自定义Amazon SSML标签提供了独特的选项,例如,能够以新闻播音员说话风格发出某些声音。这种灵活性能够帮助您创建逼真的语音,从而吸引并维持听众的注意力。

 在本方案中,可以使用Polly的实时语音生成接口,使用了中文普通话发音的VoiceID:Zhiyu,同时对特定的字符的发音做了定制化,这也是Polly一个非常有用的功能(Lexion)。

 2D数字人视频的生成部分

 这里可以使用一个外部第三方的SaaS服务。该服务由D-ID.com公司提供,对应的API可以直接接收文本输入和一张人脸图片来生成对应的动态播报视频,也可以接受语音文件加图片作为输入。

 当你输入文本的时候,该API接口可以选择制定AWS的Polly服务中的不同的Voice ID来自动为你合成语音。

 在本方案中,想体现中文的语音输出的效果,但是D-ID的API接口中暂时无法直接为中文文本指定中文的Voice ID。所以选择了先用Polly的API生成语音,再把语音和图片传送给D-ID的接口生成视频。

 总结

 今年是AIGC爆发的一年,也是教育行业所在的客户看到行业拐点的一年。在这个关键的历史性节点上,亚马逊云科技愿意和客户一起面对这些新的机会和挑战,以客户的需求为导向,帮助客户抓住AI浪潮带来的红利。

 目前除了本文展示的2D数字人的方案,亚马逊云科技也可以帮助客户提供基于3D数字人或者其他3D数字形象的直播,互动等方案。同时亚马逊云科技也会引入更多的技术合作伙伴如跃迁引擎来丰富整个数字人,数字形象直播、点播、互动等场景的解决方案,助力更多的教育行业客户加速AI技术的采用和落地。

 原发标题:近实时智能应答 2D 数字人搭建

 原发链接:https://aws.amazon.com/cn/blogs/china/near-real-time-intelligent-answering-2d-digital-human-construction/

相关文章:

亚马逊云科技生成式AI技术辅助教学领域,近实时智能应答2D数字人搭建

早在大语言模型如GPT-3.5等的兴起和被日渐广泛的采用之前,教育行业已经在AI辅助教学领域有过各种各样的尝试。在教育行业,人工智能技术的采用帮助教育行业更好地实现教学目标,提高教学质量、学习效率、学习体验、学习成果。例如,人…...

Programming abstractions in C阅读笔记:p139-p143

《Programming Abstractions In C》学习第55天,p139-p140,总结如下: 一、技术总结 1.文件I/O操作 文件I/O操作可以分为一下这些步骤: (1)声明文件指针对象。 File *infile;(2)打开文件 fopen()。打开文件的模式有“r”, “w…...

MyBatis-Plus学习笔记

1.MyBatis-Plus简介: MyBatis-Plus是一个MyBatis的增强工具,在MyBatis的基础上只做增强不做改变,为简化开发、提高效率而生。MyBatis-Plus提供了通用的mapper和service,可以在不编写任何SQL语句的情况下,快速的实现对单…...

linux安装docker全过程

3. 第二步:设置docker的存储库。就两条命令,我们直接执行就好。 ​ sudo yum install -y yum-utils sudo yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo ​​ 4. 安装docker engine和docker-compose。 执行命…...

Spring 中存取 Bean 的相关注解

目录 一、五大类注解 1、五大类注解存储Bean对象 1.1Controller(控制器储存) 1.2Service(服务存储) 1.3Repository(仓库存储) 1.4Component(组件存储) 1.5Configuration(配置存储) 2、五大类注解小结 2.1为什么要这么多类注解 2.2 五大类注解之间的关系 二、方法注解 1.方法注…...

Camunda 7.x 系列【38】表单服务 FormService

有道无术,术尚可求,有术无道,止于术。 本系列Spring Boot 版本 2.7.9 本系列Camunda 版本 7.19.0 源码地址:https://gitee.com/pearl-organization/camunda-study-demo 文章目录 1. 概述2. 演示2.1 获取流程开始表单2.2 启动流程2.3 查询任务表单2.4 完成任务3. 实际开发…...

保姆级教程之SABO-VMD-SVM的西储大学轴承诊断

之前写过一篇优化核极限学习机的轴承诊断,今天再出一期基于SVM的轴承诊断。 依旧是包含了从数据处理,到减法优化器SABO算法优化VMD参数,再到支持向量机的故障诊断,实现故障诊断的全流程,其他类型的故障诊断均可参考此流…...

指向任意节点的带环链表

🌈图示指向任意节点的带环链表 如图: 🌈快慢指针法判断链表是否带环 🌟思路:快指针fast一次走2步,慢指针slow一次走1步,fast先进环在换中运动,随后slow进入环。两指针每同时移动…...

应用于伺服电机控制、 编码器仿真、 电动助力转向、发电机、 汽车运动检测与控制的旋变数字转换器MS5905P

MS5905P 是一款 12bit 分辨率的旋变数字转换器。 片上集成正弦波激励电路,正弦和余弦允许输入峰峰值 幅度为 2.3V 到 4.0V ,可编程激励频率为 10kHz 、 12kHz 、 15kHz 、 20kHz 。 转换器可并行或串行输出角度 和速度对应的数字量。 MS5905…...

Ansible学习笔记(持续更新)

Ansible学习目录 1.自动化运维1.1 企业实际应用场景1.1.1 Dev开发环境1.1.2 测试环境1.1.3 发布环境1.1.4 生产环境1.1.5 灰度环境 1.2 程序发布1.3 自动化运维应用场景1.4 常用自动化运维工具 2.Ansible介绍和架构2.1 Ansible特性2.2 Ansible架构2.2.1 Ansible主要组成部分2.2…...

CCF HPC China2023|澎峰科技:使能先进计算,赋能行业应用

CCF HPC China2023圆满落幕! 桂秋八月,为期三天的中国高性能计算领域最高规格盛会——2023CCF全球高性能计算学术年会(HPC China)在青岛红岛国际展览中心圆满落幕。行业超算大咖、顶级学界精英、先锋企业领袖参会者齐聚山东青岛&a…...

【FlowDroid】一、处理流程学习

FlowDroid 一、处理流程学习 下载配置源码概况代码逻辑分析analyzeAPKFilerunInfoflowprocessEntryPointcalculateCallbacks(sourcesAndSinks)再次回到processEntryPoint 自己做一些笔记 下载配置 参照我前面的文章可以使用FlowDroid安装初体验 为了看代码了解FlowDroid如何处…...

MyBatis——MyBatis插件原理

摘要 本博文主要介绍MyBatis插件机原理,帮助大家更好的理解和学习MyBatis。 一、插件机制概述 MyBatis 允许你在已映射语句执行过程中的某一点进行拦截调用。默认情况下,MyBatis允许使用插件来拦截的方法调用包括: Executor (update, que…...

简易虚拟培训系统-UI控件的应用5

目录 Toggle控件简介 示例-使用Toggle组实现主轴速度选择 本篇介绍UI控件Toggle,尝试一个小示例-使用单选框实现速度的选择控制。 Toggle控件简介 1. Toggle的结构如下:最重要的Toggle组件挂在Toggle节点上,下面的Image组件用于显示单选框…...

Lnmp架构

关闭防火墙 安装依赖包 yum -y install pcre-devel zlib-devel gcc gcc-c make 创建运行用户、组 编译安装Nginx 让系统识别nginx的操作命令 添加Nginx系统服务 vim /lib/systemd/system/nginx.service 编译安装mysql 安装Mysql环境依赖包 创建运行用户 编译安装 cd /opt …...

es5的实例__proto__(原型链) prototype(原型对象) {constructor:构造函数}

现在看这张图开始变得云里雾里,所以简单回顾一下 prototype 的基本内容,能够基本读懂这张图的脉络。 先介绍一个基本概念: function Person() {}Person.prototype.name KK;let person1 new Person();在上面的例子中, Person …...

Oracle DBlink使用方法

DBlink作用:在当前数据库中访问另一个数据库中的表中的数据 create public database link dblink名称 connect to 对方数据库用户名 identified by 对方数据库用户密码 using (DESCRIPTION (ADDRESS_LIST (ADDRESS (PROTOCOL TCP)(HOST 要连接的数据库所在服务…...

UE4 植物生长

这个可以改变SplineMesh朝向...

企业应用系统 PHP项目支持管理系统Dreamweaver开发mysql数据库web结构php编程计算机网页

一、源码特点 PHP 项目支持管理系统是一套完善的web设计系统 应用于企业项目管理,从企业内部的各个业务环境总体掌握,系统具有完整的源代码和数据库,系统主要采用B/S模式开发。 php项目支撑管理系统2 二、功能介绍 (1)权限管理&#xff1…...

微服务通信[HTTP|RPC同步通信、MQ异步通信]

概念 A服务调用B服务,B服务调C服务,C服务调D服务,即微服务之间的通信(也可以叫微服务之间的调用) HTTP同步通信 一种轻量级的通信协议,常用于在不同的微服务之间进行通信,也是最简单的通信方式使用REST ful为开发规范,将服务对外暴露的HTTP调用方式为REST API(如GET…...

AI Agent与Agentic AI:原理、应用、挑战与未来展望

文章目录 一、引言二、AI Agent与Agentic AI的兴起2.1 技术契机与生态成熟2.2 Agent的定义与特征2.3 Agent的发展历程 三、AI Agent的核心技术栈解密3.1 感知模块代码示例:使用Python和OpenCV进行图像识别 3.2 认知与决策模块代码示例:使用OpenAI GPT-3进…...

多场景 OkHttpClient 管理器 - Android 网络通信解决方案

下面是一个完整的 Android 实现&#xff0c;展示如何创建和管理多个 OkHttpClient 实例&#xff0c;分别用于长连接、普通 HTTP 请求和文件下载场景。 <?xml version"1.0" encoding"utf-8"?> <LinearLayout xmlns:android"http://schemas…...

k8s业务程序联调工具-KtConnect

概述 原理 工具作用是建立了一个从本地到集群的单向VPN&#xff0c;根据VPN原理&#xff0c;打通两个内网必然需要借助一个公共中继节点&#xff0c;ktconnect工具巧妙的利用k8s原生的portforward能力&#xff0c;简化了建立连接的过程&#xff0c;apiserver间接起到了中继节…...

Python 包管理器 uv 介绍

Python 包管理器 uv 全面介绍 uv 是由 Astral&#xff08;热门工具 Ruff 的开发者&#xff09;推出的下一代高性能 Python 包管理器和构建工具&#xff0c;用 Rust 编写。它旨在解决传统工具&#xff08;如 pip、virtualenv、pip-tools&#xff09;的性能瓶颈&#xff0c;同时…...

初探Service服务发现机制

1.Service简介 Service是将运行在一组Pod上的应用程序发布为网络服务的抽象方法。 主要功能&#xff1a;服务发现和负载均衡。 Service类型的包括ClusterIP类型、NodePort类型、LoadBalancer类型、ExternalName类型 2.Endpoints简介 Endpoints是一种Kubernetes资源&#xf…...

PAN/FPN

import torch import torch.nn as nn import torch.nn.functional as F import mathclass LowResQueryHighResKVAttention(nn.Module):"""方案 1: 低分辨率特征 (Query) 查询高分辨率特征 (Key, Value).输出分辨率与低分辨率输入相同。"""def __…...

Go 语言并发编程基础:无缓冲与有缓冲通道

在上一章节中&#xff0c;我们了解了 Channel 的基本用法。本章将重点分析 Go 中通道的两种类型 —— 无缓冲通道与有缓冲通道&#xff0c;它们在并发编程中各具特点和应用场景。 一、通道的基本分类 类型定义形式特点无缓冲通道make(chan T)发送和接收都必须准备好&#xff0…...

【笔记】WSL 中 Rust 安装与测试完整记录

#工作记录 WSL 中 Rust 安装与测试完整记录 1. 运行环境 系统&#xff1a;Ubuntu 24.04 LTS (WSL2)架构&#xff1a;x86_64 (GNU/Linux)Rust 版本&#xff1a;rustc 1.87.0 (2025-05-09)Cargo 版本&#xff1a;cargo 1.87.0 (2025-05-06) 2. 安装 Rust 2.1 使用 Rust 官方安…...

uniapp 字符包含的相关方法

在uniapp中&#xff0c;如果你想检查一个字符串是否包含另一个子字符串&#xff0c;你可以使用JavaScript中的includes()方法或者indexOf()方法。这两种方法都可以达到目的&#xff0c;但它们在处理方式和返回值上有所不同。 使用includes()方法 includes()方法用于判断一个字…...

React从基础入门到高级实战:React 实战项目 - 项目五:微前端与模块化架构

React 实战项目&#xff1a;微前端与模块化架构 欢迎来到 React 开发教程专栏 的第 30 篇&#xff01;在前 29 篇文章中&#xff0c;我们从 React 的基础概念逐步深入到高级技巧&#xff0c;涵盖了组件设计、状态管理、路由配置、性能优化和企业级应用等核心内容。这一次&…...