写在最前面
授权声明:本篇文章授权活动官方亚马逊云科技文章转发、改写权,包括不限于在 亚马逊云科技开发者社区, 知乎,自媒体平台,第三方开发者媒体等亚马逊云科技官方渠道
活动链接:devpress.csdn.net/awstech/656...
本博客将围绕方向一进行创作。
亚马逊云科技开发者社区为开发者们提供全球的开发技术资源。这里有技术文档、开发案例、技术专栏、培训视频、活动与竞赛等。帮助中国开发者对接世界最前沿技术,观点,和项目,并将中国优秀开发者或技术推荐给全球云社区。如果你还没有关注/收藏,看到这里请一定不要匆匆划过,点这里让它成为你的技术宝库!
2023年,生成式人工智能(AI)多次成为热点话题。如果想在轻松有趣的环境中探索这一领域,并且想要亲手构建一些游戏,那么 PartyRock 是一个很好的选择!
这个平台提供了一个独特的实验空间,可以自由地进行尝试,学习生成式 AI 的关键技术和提示工程的精髓,无需编程基础就能开始 AI 创作之旅。
PartyRock 鼓励用户之间的互动和协作,除了可以在这里轻松构建迷你应用程序,还可以与朋友们分享创作的 app。可以从别人共享的应用程序开始,通过调整和优化,将其变成自己独特的作品,增加了创作的乐趣。
现在访问 partyrock.aws/?trk=cndc-d... 即可快速体验 PartyRock,并且限时免费哦!
可以输入对想要构建的应用程序的描述,然后使用 PartyRock 的生成式人工智能 LLM 为我们做好构建准备,并且支持二次编辑完善 app。
PartyRock 不仅提供了一个构建应用的强大平台,而且还为用户带来了前所未有的灵活性和创新可能性。无论是初学者还是经验丰富的开发者,都可以在这个平台上发挥创意,构建属于自己的独特应用程序。
快来 PartyRock 构建你的第一个应用程序吧!
欢迎体验我的 app【CybersecuritySimulator网络安全威胁的情景模拟】
关于 PartyRock 生成 app 相关想法的分享
在探索 PartyRock 平台中 app 生成的过程,了解到了 LLM(大型语言模型)的应用+其设计的 prompt 提示词,在实现 app 逻辑方面的独特价值。
优点
先说优点:PartyRock 借助 LLM 大模型,让我们能够利用其先进的自然语言处理能力,来更快、更高效地解析和生成用户友好的界面和功能。 LLM 的一个显著优势在于,其对语言的深度理解和生成能力,这使得在开发过程中能够轻松地构建出符合用户直觉的对话和指令。 此外,LLM 的多样性和适应性使得 PartyRock 能够在多种不同的应用场景中发挥作用,从而提供了极大的灵活性和扩展性。
局限
但这也是 PartyRock 的局限所在,LLM 在处理更为复杂的逻辑或特定技术需求时,可能不够精确或深入。
例如在构建加解密 app 的过程中,发现他对于解密功能就应用的不太好。在解密功能的应用中,这种局限性变得尤为明显。由于加解密过程通常涉及复杂的算法和密钥管理,LLM 可能无法充分理解和实现这些专业化的要求。
推理在实现类似的特定功能时,特别是涉及高度技术性和精确性要求的场景中,如果提示工程设计的不够精准,LLM 的应用效果大概率会不尽人意。
未来展望
从我看来,LLM 作为一种强大的工具,它在应用程序开发中的价值不容小觑。
PartyRock 是一个很好的开始,让我们体验了新时代 LLM 构建 app 的样例。
虽然 LLM 为应用程序开发带来了前所未有的便利和灵活性,但在涉及特定领域专业知识和复杂逻辑时,它仍需要与传统编程方法和相关逻辑的深度知识相结合。这种结合使用可以帮助克服 LLM 在处理复杂任务时的局限性,从而实现更加精准和高效的应用程序设计。
PartyRock 中 app 生成描述的注意事项
我一共尝试了两个 app 的生成,其中另一个 app【加解密】不太成功。
尝试简单的分析了一下,有这么几个影响 LLM(大型语言模型)自动生成有效应用代码的关键因素,大家生成自己的 app 时可以注意一下:
- 描述不够详细:在开发任何软件或应用程序时,清晰、详细的需求说明至关重要。 我的描述虽然涵盖了基本功能,但没有提到一些关键的技术细节,如密钥的生成、存储和管理方式。在加密和解密过程中,密钥扮演着核心角色,它决定了加密的安全性和解密的可行性。不同的加密算法(如对称加密、非对称加密)对密钥的处理方式也不同,这些都需要在需求中明确。
- 加密和解密算法的选择:在应用程序的描述中,没有指定使用哪种加密算法。有多种加密技术,如 AES、RSA、SHA 等,它们各有特点和适用场景。没有具体的算法说明,LLM 难以决定采用哪种加密方法。
- 技术实现的复杂性:即使在清晰的需求指导下,加密/解密应用的实现也涉及到复杂的编程和安全策略。这可能超出了 LLM 直接生成完整、可运行代码的能力范围。
综上,PartyRock 是一个很好的执行者,但好像不具备思考命令正确与否的能力。这似乎也是 LLM 目前的通病,如果不通过额外的提示工程引导,很少能意识到命令的错误,甚至指出命令的错误。
在我的实验中,没有生成设想描述功能之外的"自动修正"功能,比如其他的优化方向安全性考虑:在应用描述中,我没有提及如何保证加密过程的安全性,比如防止密钥泄露、保护加密文本免受未授权访问等,对安全设计进行考虑,那么 PartyRock 也不会自行打补丁。
因此,为了提高 LLM 在此类任务中的效果,可以考虑提供更详细的技术要求。这样, LLM 就能提供更准确的代码生成或设计建议。
关于 PartyRock
PartyRock 是一个用户友好的平台,让你在享受轻松有趣的体验的同时,深入了解生成式人工智能。无需任何编程技能或创建特定的亚马逊云科技账户,就可以在 PartyRock 上进行实验,详细了解生成式人工智能,学习提示工程的精髓,并构建并分享迷你应用程序。
也可以从现有的共享应用程序模板开始,通过简单的调整和个性化设置,快速构建并增强自己的应用。
进入 PartyRock
首先,访问 partyrock.aws/?trk=cndc-d...
点击登录,使用 Apple、Amazon 或 Google 账户登录。
经过身份验证后,就进入了 PartyRock 的首页。
可以查看一些示例应用程序,也可以单击构建自己的应用程序开始操作。
构建应用 app
在这篇文章中,我将展示如何使用 PartyRock 构建应用程序。只需要简单描述想要创建的应用类型,PartyRock 的生成式人工智能技术就能帮助准备好基础框架。
当然,如果想要更深入地了解和掌握,也可以尝试手动构建每个小部件。感兴趣的朋友可以自行尝试 ~
一个成功的 app:CybersecuritySimulator 网络安全威胁的情景模拟
接续前文对 PartyRock 平台的介绍,接下来我们将探索具体如何构建一个app。
构建应用
本文设计的 app 主题为:专注于网络安全教育的应用程序 CybersecuritySimulator,希望通过这个应用提供基于真实世界的网络安全威胁情景,让用户在模拟环境中学习和应对网络攻击。
然后,我们对应用 app 的预期功能进行梳理,以输入到 PartyRock 中,让其帮助准备好基础框架。
核心功能
[app 描述]互动剧本:设计一系列基于真实世界网络安全威胁的情景模拟。模拟一次网络攻击,让用户选择如何应对。
- 交互场景:用户将以文本冒险游戏的形式面对各种网络安全挑战。场景包括检测钓鱼电子邮件、保护弱密码,以及响应勒索软件攻击。
- 教育反馈:在每个决定之后,LLM 都会提供反馈,解释为什么该选择在网络安全实践方面是好是坏。这将把每个场景变成一个学习机会。
- 渐进式难度:随着用户的进步,挑战会变得越来越难,引入更复杂的网络安全概念。
一般提示工程输入英文时会有更佳的理解和表现,因此我们将上述功能转换为英文,并输入到 PartyRock 的 App bulider 中。
Core Functionality
- Interactive Scenarios: Users are presented with various cybersecurity challenges in the form of a text-based adventure game. Scenarios can range from detecting phishing emails, securing a weak password, to responding to a ransomware attack.
- Educational Feedback: After each decision, the LLM provides feedback explaining why the choice was good or bad in terms of cybersecurity practices. This turns each scenario into a learning opportunity.
- Progressive Difficulty: The challenges become progressively harder, introducing more complex cybersecurity concepts as the user advances.
测试应用
让我们来看看 PartyRock 能否提供帮助。
输入提示并单击生成应用程序。
这个应用程序在几秒钟内就已准备就绪,超级快!
然后输入一些内容,了解输出是否能够满足我们的需求:
看起来不错!
这里可以点击 edit,二次编辑该应用
这里可以看到,主要是应用 LLM 模型,并设计 prompt 提示词来完成 app 的各个应用逻辑的
优点在于,借助 LLM 大模型,我们能够利用其先进的自然语言处理能力来更快、更高效地解析和生成用户友好的界面和功能。 LLM 的一个显著优势在于,其对语言的深度理解和生成能力,这使得在开发过程中能够轻松地构建出符合用户直觉的对话和指令。 此外,LLM 的多样性和适应性使得它能够在多种不同的应用场景中发挥作用,从而提供了极大的灵活性和扩展性。
这也是他的局限所在,例如在下一个加解密的 app 中,他对于解密功能就应用的不太好。LLM 在处理更为复杂的逻辑或特定技术需求时,可能不够精确或深入。在解密功能的应用中,这种局限性变得尤为明显。
由于加解密过程通常涉及复杂的算法和密钥管理,LLM 可能无法充分理解和实现这些专业化的要求。这可能导致在实现特定功能,特别是涉及高度技术性和精确性要求的场景中,LLM 的应用效果不尽人意。
从我的观点来看,虽然 LLM 为应用程序开发带来了前所未有的便利和灵活性,但在涉及特定领域专业知识和复杂逻辑时,它仍需要与传统编程方法和相关逻辑的深度知识相结合。这种结合使用可以帮助克服 LLM 在处理复杂任务时的局限性,从而实现更加精准和高效的应用程序设计。
让我们来拆分看看它是如何工作的。
功能1:用户欢迎
输入用户名后,生成每个用户专属的欢迎词
输出:Hello there! Welcome, it's nice to meet you. I'm Claude, an AI assistant created by Anthropic. How may I be of assistance today? Please feel free to ask me any questions you have, and I'll try my best to help.
功能2:网络安全威胁场景
测试测试网络安全威胁场景这个功能实际交互能力。可以看到,LLM 给出很详细的分析,并且是结合实际的。
那么自动生成的 prompt 提示词是如何设计的呢?点击查看:
You receive an email claiming to be from your bank. It says your account has been compromised and asks you to click a link to reset your password. What do you do?
这是一段很聪明并且简短的提示工程设计,PartyRock 一定程度上相当智能!
功能3:教育反馈、情景回顾
下面让我们来看看第三个功能,对上述对话的情景回顾,从而达到"复习"所学到的如何正确面对网络安全威胁情形的做法。
程序的回复如图所示。总分的结构,清晰明了的说明。
查看 prompt 提示词设计:
Provide 3 key takeaways from the phishing attack scenario the user just experienced, referencing their choices and outcomes in the [Phishing Simulation] chat.
测试小结
针对 PartyRock 自动生成的 "CybersecuritySimulator" 网络安全威胁情景模拟的提示工程设计,我认为它有几个显著的优点:
- 实用性与教育价值:这个设计通过模拟真实世界的网络安全威胁,提供了一个实用的教育工具。用户在面对各种挑战时不仅能学习到网络安全的基本知识,还能了解更高级的概念。这种通过实践学习的方法,比传统的教学方式更有效,能更好地吸引用户的注意力并加深理解。
- 互动性与参与感 :将网络安全教育融入到文本冒险游戏的形式中,大大提高了用户的参与感和兴趣。通过让用户在不同场景中做出选择,并立即得到反馈,这种互动性增强了学习体验的动态性和吸引力。
- 渐进式难度设计 :难度逐步提升的设计理念确保了用户可以从基础知识开始,逐渐深入到更复杂的网络安全概念。这样的结构既适合初学者,也能满足有一定基础的用户继续提升。渐进式的难度设置有助于用户按照自己的学习节奏逐步提高,而不会感到过于困难或失去兴趣。
总体而言,这个提示工程的设计具有教育价值、互动性和适应性,适合用于提升公众的网络安全意识和应对能力。
可以看出,PartyRock 对我们之前提供的材料和核心功能的理解是非常贴切和到位的,可以很好的辅助构建属于自己的小应用程序。
应用公开并分享
对应用程序感到满意后,我们就可以将其公开并分享:
欢迎体验这个应用 partyrock.aws/u/yu222/WxS...
也可以登录并单击调整,在此基础上自行开发更好的应用程序。
另一个不太成功的 app:加解密
上一个应用中,我们成功构建了一个比较理想的应用程序。但这是我经过多番磨合后,成功"摸清" PartyRock 的小九九,与他一起更默契配合后谱写的一曲美妙的乐章。
在熟悉 PartyRock 中,我们弹出了不少"杂音"------加解密应用程序,就是其中的一个。
下面我们来一起分析一下,是哪些因素导致"杂音"产生的吧 ~
构建应用
该应用程序是一个面向安全的应用程序,具有友好的用户界面,旨在执行三个主要功能:
- 加密:用户可以输入明文,应用程序将对其进行加密。然后,该应用程序将显示加密的文本以及使用的加密方法。并给出了加密过程的简单说明和示意图。
- 解密:该应用程序允许解密加密的文本,将其返回原始的明文形式。重要的是,应用程序支持将文本解密回原始加密的明文的能力,以确保数据的完整性和一致性。
- 复制功能:该应用程序的一个关键功能是"复制"按钮,用户只需单击即可轻松复制加密或解密的文本。此功能旨在方便使用,允许用户快速有效地处理加密或解密的数据。
总的来说,这个应用程序旨在为需要加密或解密文本的用户提供一个直接而强大的工具,重点是可用性和对加密和解密过程的理解。
同样,将其转化为英文输入,辅助更好的理解我们的表达。
The app is a security-oriented application with a user-friendly interface, designed to execute three main functions:
- Encryption: Users can input plaintext which the app will encrypt. The app then displays the encrypted text along with the encryption method used. It also provides a simple explanation and a schematic illustration of the encryption process.
- Decryption: The app allows for the decryption of encrypted text, returning it to its original plaintext form. It's important that the app supports the ability to decrypt text back to the original plaintext that was encrypted, ensuring data integrity and consistency.
- Copy Functionality: A key feature of the app is a "copy" button, which enables users to easily copy either the encrypted or decrypted text with a single click. This functionality is designed for ease of use, allowing users to quickly and efficiently handle encrypted or decrypted data.
Overall, this app aims to provide a straightforward yet powerful tool for users needing to encrypt or decrypt text, with an emphasis on usability and understanding of the encryption and decryption processes.
测试应用
功能1:输入明文、生成密钥、一键复制
- 明文:The Encryption Courier app created by PartyRock is really cool!
- 密钥:Gsv Hmxirkgvnm Xnzivv wrr xvsfgsr yb RfkgblVnxp vh vsfqqb xnnq!
- 一键复制 Here is the plaintext encrypted with AES encryption:(下面是使用 AES 加密后的明文:) Gsv Hmxirkgvnm Xnzivv wrr xvsfgsr yb RfkgblVnxp vh vsfqqb xnnq!
这里我们尝试应用密码学知识,对他生成密码的过程进行解密,辅助理解应用功能的底层逻辑。
下面是分析过程:(不感兴趣的 uu 可以跳过~)
加密信息 "Gsv Hmxirkgvnm Xnzivv wrr xvsfgsr yb RfkgblVnxp vh vsfqqb xnnq!" 看起来像是使用了凯撒密码。这是一种替换密码,其中明文中的每个字母都会按照字母表向下或向上移动固定数量的位置。
为了验证这一点并确定使用了哪种位移,我们可以尝试对给定的密文进行解码,直到我们得到明文 The Encryption Courier app created by PartyRock is really cool!
让我们解码这条信息,以确认编码策略并识别使用的位移。
事实证明,使用凯撒密码正确解码你的信息需要移位25位。解码后的消息为 "Htw Inyjslhwon Yoajww xss ywtghts zc SglhcmWoyq wi wtgrrc yoor!"
然而,这与预期的明文 "the Encryption Courier app created by PartyRock is really cool!" 并不匹配。看起来编码策略可能不是简单的 Caesar 密码,或者它涉及到一种不同类型的替换或变换。
功能2:加密
在加密过程的简单说明和示意图中,有很好的结果展示。这赖于 LLM 强大的知识库,能够很好的对加解密的过程进行理解,并且转换输出。
功能3:解密
可以在图中看到程序输出的解密结果。
整体来说,解密的结果还行,但部分语句存在差错,可能是由于输入和输出是两个 LLM 导致的。
测试小结
这个应用的构建测试,对于解密功能就应用的不太好。展现了 PartyRock 的局限所在: LLM 在处理更为复杂的逻辑或特定技术需求时,可能不够精确或深入。在解密功能的应用中,这种局限性变得尤为明显。
但这似乎不难理解,我们对原因进行分析:由于加解密过程通常涉及复杂的算法和密钥管理,LLM 可能无法充分理解和实现这些专业化的要求。这可能导致在实现特定功能,特别是涉及高度技术性和精确性要求的场景中,LLM 的应用效果不尽人意。
从我的观点来看,虽然 LLM 为应用程序开发带来了前所未有的便利和灵活性,但在涉及特定领域专业知识和复杂逻辑时,它仍需要与传统编程方法和相关逻辑的深度知识相结合。这种结合使用可以帮助克服 LLM 在处理复杂任务时的局限性,从而实现更加精准和高效的应用程序设计。
进阶:使用 PartyRock 和 Amazon Bedrock 构建 AI 应用程序
Amazon Bedrock 这个也很有趣!能调用更多的 LLM 模型。感兴趣的朋友可以了解一下: Build your first generative AI application with Amazon Bedrock 部分预览:
Troy Cui: 基于 Amazon BedRock 来看,它存在的意义在于亚马逊云科技帮助我们筛选市场上最优秀的模型,将这些模型提供给我们,使得我们自己无需再进行繁琐的连接步骤。现在,只需通过一个 API 即可直接访问这些模型。
这一次,Amazon BedRock 最直接的改进之一是对这些模型进行了大量更新,比如增加了对 Claude 2.1 和 Llama2 70b 的支持。其中,Claude 2.1 模型在处理复杂的总结和推理方面非常强大,支持 200k 上下文 token,而我们还进一步加强了对整个稳定性方面的支持,提供了强大的扩展性。
使用 PartyRock 和 Amazon Bedrock 构建 AI 应用程序 部分预览:
宋洪涛: 帮助开发者借助于生成式 AI 的应用来提升个人的效率,以及持续推动生成式 AI 的普惠化,是亚马逊云科技一直以来的愿景。基于此,除了上面产品之外,Swami 博士在演讲中还带来一款与 Amazon Bedrock 名字相似的产品------ PartyRock。那么,这款产品到底有什么作用?
王晓野: PartyRock 的底层是基于 Amazon Bedrock 研发的。简单来看,它相当于是一个"游乐场",让开发者感受到生成式 AI+Agent 的能力所散发的巨大潜力,以及让众多开发者发挥想象,去创新创造。
Troy Cui: 我认为可以将其视为一个体验区,甚至不需要亚马逊云科技的账号,可以在 PartyRock 上尝试网络体验。
袁滚滚: 我强烈推荐尝试一下 PartyRock,它实际上是基于 Amazon BedRock 打造的一站式 AI 应用生成工具。你甚至无需注册亚马逊云科技的账户,就能够免费使用亚马逊云科技的云资源,轻松生成令人惊叹的 Web 和 App 应用,并可以与他人分享。更有趣的是,它在线上已经提供了一些示范应用,有些甚至功能异常强大,底层采用了 Claude 2 的先进模型技术,让人感到非常惊喜。
探索 PartyRock 的广泛功能
在 PartyRock 平台上,创新和个性化的应用程序构建变得触手可及。
让我们一起速览 PartyRock 所提供的更多丰富功能和灵活性:
- 空白应用程序:除了前面提到的 App Builder,还可以选择从零开始,挑选自己喜欢的小部件,并根据需求进行个性化设置。
- 个性化调整:无论是从自己的应用还是公共应用开始,可以通过调整和自定义,给应用程序带来新的生命。
- 聊天机器人小部件:通过设置提示作为交互的起点,应用程序可以更加智能和用户友好。
- @ 引用小部件:在应用程序构建过程中,可以使用"@"符号轻松引用其他小部件,提高构建效率。
- 高级设置:例如,文本生成小部件允许您调整模型的温度和前 P 项参数,提供更精细的控制。
- 后台视图:PartyRock 的后台视图不仅轻松管理应用程序,还可以跟踪对 PartyRock 服务抵扣金的使用情况。
- 免费试用:亚马逊云科技为新用户提供了 PartyRock 的限时免费试用,无需提供信用卡信息或注册亚马逊云科技账户。此外,还可以通过后台追踪服务抵扣金的使用,确保费用在控制之下。
- 模型访问权限:随时间推移,PartyRock 将提供更多模型的访问权限。
- 持续开发:PartyRock 正致力于开发更多小部件和功能。敬请期待,以获取最新信息和更多功能的推出。
快来 PartyRock 构建你的第一个应用程序吧!