公共演讲在当今社会中至关重要,无论是在专业演示、学术环境还是个人成长方面。通过定期练习,个人可以建立自信,以健康的方式管理焦虑,发展有效的沟通技巧,从而成功开展公共演讲。如今,随着大型语言模型的出现,您可以使用
驱动的虚拟助手,提供实时的演讲分析,识别改进领域,并给出增强演讲方式的建议。
本文介绍了一个基于 的虚拟助手,可以将演讲音频转录,并检查语言使用、语法错误、填充词以及单词和句子的重复,为用户提供改进建议,建议演讲的精简版本。该解决方案旨在提升沟通技能,使个人成为更有效、更有影响力的公共演讲者。各行各业的组织,包括公司、教育机构、政府部门和社交媒体名人,都可以利用该解决方案为员工、学生和公共演讲提供自动化辅导。
接下来的部分,我们将指导您使用 和 构建可扩展的无服务器、端到端的公共演讲导师 AI 助手,使用提供的 。AmazonBedrock 是一项完全托管的服务,提供来自领先 AI 公司(如 AI21 Labs、Anthropic、Cohere、Meta、MistralAI、Stability AI 和 Amazon)的高性能基础模型(FMs),通过统一的 API 进行调用,并提供广泛的功能来构建安全、隐私和负责任的生成式 AI 应用。
该解决方案由四个主要组件组成:
| 组件 | 说明 |
|---|---|
| Amazon Cognito 用户池 | 用于用户身份验证。经过身份验证的用户可以访问公共演讲导师 AI 助手的网络门户,上传音频和视频录制。 |
| Streamlit 网页门户 | 允许用户上传音频和视频录制,上传的文件将存储在 桶中,便于后续处理和分析。 |
| Step Functions 标准工作流 | 负责调用 Amazon Transcribe 将音频转换为文本,并再调用 Amazon Bedrock 生成演讲反馈和重写建议。 |
| Amazon Simple Notification Service | 向用户发送电子邮件通知,包括 Amazon Bedrock 生成的建议。 |
此解决方案使用 Amazon Transcribe 将语音转换为文本。当上传音频或视频文件后,Amazon Transcribe会将语音转录成文本。该文本作为输入传递给 。该解决方案向 Amazon Bedrock发送两个提示:一个用于生成语言使用、语法、填充词、重复等方面的反馈和建议,另一个则获取原始演讲的精简版本。该工作流将这些输出整合,并显示在用户的网页上,同时通过电子邮件发送结果。
使用 Amazon Bedrock 的生成式 AI 功能有效地处理用户的语音输入。它利用自然语言处理分析语音并提供量身定制的建议。使用在大量数据上训练的 LLM,Amazon Bedrock 生成精简的演讲输出,以增强演讲效果。
以下是我们的解决方案架构图:
删除)
接下来,我们将逐步探讨架构:
s3:ObjectCreated 事件。StartTranscriptionJob,传递 S3 桶、前缀路径和对象名作为 MediaFileUri。工作流等待转录作业完成后,将转录文本保存在另一个 S3 桶前缀路径中。InvokeModel API,指定 Anthropic Claude 3.5 Sonnet 模型,提交系统提示、最大令牌和转录语音文本等输入。系统提示 instructs Anthropic Claude 3.5 Sonnet 模型提供如何改善演讲的建议,包括识别不引人注目的语法、单词或内容的重复、填充词的使用及其他建议。Publish 优化集成功能,向用户发送包含 Amazon Bedrock 生成的消息的电子邮件。为了实施公共演讲导师 AI 助手解决方案,您需要具备以下准备条件:
完成以下步骤,在您选择的 AWS 区域部署公共演讲导师 AI 助手的 AWS 基础设施:
bash git clone https://github.com/aws-samples/improve_public_speaking_skills_using_a_genai_based_virtual_assistant_with_amazon_bedrock.gitapp 目录: bash cd improve_public_speaking_skills_using_a_genai_based_virtual_assistant_with_amazon_bedrock/appbash python3 -m venv .venvbash source .venv/bin/activatebash pip install -r requirements.txtbash cdk synth您可能需要执行一次性的 AWS CDK 引导,运行以下命令。有关详细信息,请参阅 。
cdk bootstrap aws://<ACCOUNT-NUMBER>/<REGION>
```
bash cdk deploy成功部署 AWS CDK 后,请按照下一节的步骤创建一个 Amazon Cognito 用户。
完成以下步骤,在 Amazon Cognito 用户池中创建用户以访问网页门户。创建的用户无需 AWS 权限。
PSMBUserPool 为前缀,后接一串随机字符,连写成一个单词。)![Cognito删除)
![Cognito删除)
完成以下步骤,订阅 SNS 主题以接收演讲建议的电子邮件通知:
InfraStack-PublicSpeakingMentorAIAssistantTopic,后接一串随机字符,连写成一个单词。)![SNS删除)
![SNS删除)
完成以下步骤,运行 Streamlit 应用程序以访问公共演讲导师 AI 助手网页门户:
app 目录中的 webapp 目录: bash cd webappbash streamlit run webapp.py --server.port 80808080 端口允许传入流量,以访问 Streamlit 应用程序 URL。完成以下步骤,使用公共演讲导师 AI 助手提升演讲技巧:
![公共演讲导师 AI删除)
![公共演讲导师 AI删除)
一旦文件上传完成,公共演讲导师 AI 助手将处理音频转录和提示工程步骤,以生成演讲建议和重写结果。
![公共演讲导师 AI删除)
处理完成后,您可以在网页上看到 演讲建议 和 演讲重写 部分,同时通过 Amazon SNS 通知收到电子邮件。
在网页的右侧,您可以回顾公共演讲导师 AI 助手所执行的处理步骤,以获取您的演讲结果。
![公共演讲导师 AI删除)
完成以下步骤以清理您的资源:
app 目录。bash cdk destroy让我们对所提出的解决方案架构进行分析,以识别功能增强、准确性改进和成本优化的机会。
首先,在提示工程方面,我们的方案分析用户的演讲,基于多个标准,例如语言使用、语法错误、填充词和句子、单词的重复。个人和组织可以灵活地自定义提示,通过添加额外的分析参数或调整现有参数来使之符合需求和公司政策。同时,您可以设置 ,以控制部署在 Amazon Bedrock 上的 LLM 的响应。
为了创建精简架构,我们主要选择无服务器技术,例如用于提示工程和自然语言生成的 Amazon Bedrock、用于语音转文本转换的 AmazonTranscribe、用于存储的 Amazon S3、用于协调的 Step Functions,以及用于可扩展事件处理的 EventBridge,和用于电子邮件通知的 AmazonSNS。无服务器技术使您可以在不配置或管理服务器的情况下运行解决方案,允许自动扩展和按需计费,从而节约成本并提高灵活性。
在网页门户组件中,我们目前在本地桌面环境中部署 Streamlit 应用程序。您也可以选择使用 Amazon S3网站托管,这将进一步提升无服务器架构的效果。
为了提高音频到文本转换的准确性,建议您在安静的环境中录制演讲音频,避免噪音和干扰。
如果您的媒体包含特定领域或非标准术语,例如品牌名称、缩略语和技术用词,Amazon Transcribe可能无法准确捕捉到这些术语的转录输出。为了应对转录的不准确性并根据特定用例自定义您的输出,您可以创建 和 。
撰写时,我们的解决方案仅分析音频部分。仅上传音频文件可以优化存储
Leave a Reply