【Amazon Bedrock】体验 Bedrock 的基本功能,为构建强大安全的LLM应用而准备

本文主要是介绍【Amazon Bedrock】体验 Bedrock 的基本功能,为构建强大安全的LLM应用而准备,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

在这里插入图片描述

文章目录

    • 一、什么是Amazon Bedrock?
    • 二、为什么选择 Amazon Bedrock
    • 三、访问Amazon Bedrock UI
    • 四、与Amazon Bedrock 聊天
    • 五、对比Amazon Bedrock 不同基础模型的返回结果
    • 六、让Amazon Bedrock处理文本
    • 七、利用Amazon Bedrock生成图片
    • 八、参考链接

一、什么是Amazon Bedrock?

在这里插入图片描述

Amazon Bedrock是一个完全托管的服务,它通过API提供了亚马逊和AI领先创业公司的基础模型(FMs)。因此可以从各种FMs中进行选择,找到最适合用例的模型。通过Amazon Bedrock的无服务器体验,可以快速轻松地开始试验FMs。使用自己的数据私下定制FMs,并使用AWS的工具和功能无缝地将其集成并部署到您的应用程序中。Amazon Bedrock的代理是完全托管的,可以更轻松地为开发人员创建生成式AI应用程序,这些应用程序可以基于专有知识提供最新答案并完成各种用例的任务。

Amazon Bedrock 是帮助您使用foundation models(基础模型)来构建和扩展生成式AI应用程序最简单的方法。从下面的AWS AI/ML技术栈中,我们可以看到,Amazon Bedrock通过UI/API以无服务器体验的形式为客户提供了访问强大LLM的能力,同时确保客户的数据隐私性,可以使数据存储在客户自己的AWS账户内。

image-20231226175134771

这里我们提到的foundation models(FMs/基础模型)大致等同于Large Language Model(大语言模型) ,但是不仅仅包括Large Language Model,还包括embedding model (文本转换成向量)和diffusion model(文本生成图片)。

二、为什么选择 Amazon Bedrock

在这里插入图片描述

Amazon Bedrock 是一项完全托管的服务,使用单个 API 提供来自 AI21 Labs、Anthropic、Cohere、Meta、Stability AI 和 Amazon 等领先人工智能公司的高性能基础模型(FM),以及构建生成式人工智能应用程序所需的一系列广泛功能,在维护隐私和安全的同时简化开发。借助 Amazon Bedrock 的全面功能,可以轻松尝试各种热门 FM,使用微调和检索增强生成(RAG)等技术利用自己的数据对其进行私人定制,并创建可执行复杂业务任务的托管代理,所有这些都无需编写任何代码。由于 Amazon Bedrock 是无服务器的,因此无需管理任何基础设施,并且可以使用已经熟悉的亚马逊云科技云服务将生成式人工智能功能安全地集成和部署到您的应用程序中。

本博客将借助 Amazon Bedrock 进行生成式AI的体验,Amazon Bedrock 提供来自Anthropic、Cohere、Amazon 等多家人工智能公司的高性能模型,并提供控制台、API的使用方式。将使用控制台的方式,去体验文生文文生图问答聊天的生成式AI。

通过本实验,将了解体验到Amazon Bedrock的基本使用方法,以便快速构建强大安全的Large Language Model应用,其中包括:

  • 使用Amazon Bedrock - Chat模式来提出问题并获得高质量回答,包括代码生成以及不同模型之间结果的对比。
  • 使用Amazon Bedrock - Text模式来体验基本文字处理功能。
  • 使用Amazon Bedrock - Image模式体验文字生成图像功能,让您在几秒钟内得到您描述的图片。

三、访问Amazon Bedrock UI

当完成AWS账号登陆之后,可以通过下面url或者控制台访问Amazon Bedrock的UI。

直接访问URL:https://us-west-2.console.aws.amazon.com/bedrock/home?region=us-west-2#/overview


或者在控制台首页输入 Bedrock 进行访问:

image-20240102203714177

之后会跳转到Amazon Bedrock首页,点击 Get started

image-20231226175528426

在这里可以看到Amazon Bedrock支持多个基础模型(foundation model),其中包括Amazon Titan,Claude,Jurassic,Command,Stable Diffusion 以及 Llama2。

image-20231226175640479

在右上角选择region,选择us-west-2

image-20240102203853202

左侧的导航栏中点击Model access,点击Manage model access。如下图所示:

image-20240102204024715

点击Submit use case details来申请访问Claude模型

image-20240102204202423

在弹出窗口中按下图输入相应内容(Company name: Amazon; Company website URL: http://aws.amazon.com),之后点击Submit。

image-20240102204245209

成功submit之后再次点击Manage model access;选择左上角的CheckBox选中所有model,之后点击Request model access

image-20240102204328277

稍等片刻并刷新页面,确认如下Model都已经是Access granted状态:

image-20240102204559546

四、与Amazon Bedrock 聊天

首先在左侧的导航栏中点击 Playgrounds - Chat

image-20240102205340142

点击Select model来选择想要使用的基础模型(大语言模型):

image-20240102205453685

首先选择Anthropic的Claude v2.1模型来体验其强大的推理能力和中文处理能力,点击Apply:

image-20240102205610018

然后通过Chat来让Amazon Bedrock来帮助“安排一个上海2日游的行程”。


注意:将该问题输入到聊天窗口中,将Maximum Length调整到2048(防止返回结果因为token限制被截断;UI上的限制为2048 token,API支持最大token为200k),点击Run。

image-20240102205721592

可以在紫色区域看见大模型的返回结果,同时也可以在最下方看见这次调用的耗时,输入输出token数以及花费:

image-20240102205912842

下面先清除本次对话,点击下图所示的icon。

image-20240102210004063

接下来让Amazon Bedrock为我们生成代码,输入如下prompt:

Write a short and high-quality python script for the following task, something a very skilled python expert would write. You are writing code for an experienced developer so only add comments for things that are non-obvious. Make sure to include any imports required. NEVER write anything before the ```python```block. After you are done generating the code and after the ```python```block, check your work carefully to make sure there are no mistakes, errors, or inconsistencies. If there are errors, list those errors in tags, then generate a new version with those errors fixed. If there are no errors, write "CHECKED: NO ERRORS" in tags. Here is the task: A web scraper that extracts data from multiple pages and stores results in a SQLite database. Double check your work to ensure no errors or inconsistencies.

可以看到Amazon Bedrock生成了带有注释的可读性很强的代码。

image-20240102210212822

五、对比Amazon Bedrock 不同基础模型的返回结果

如下图所示选Compare mode

image-20240102210338181

点击右侧的 + 号继续添加对比model(最多支持2个对比model)

image-20240102210420202

分别点击第二个和第三个窗口的Select model选项,来添加想要对比的基础模型。这里分别选择Llama2 Chat 13BJurassic-2 Ultra

image-20240102210603706

image-20240102210641940

选择好相应的model之后,显示如下:

image-20240102210709278

之后在聊天窗口输入问题例如“2 days trip to Shanghai”,点击Run,就可以轻松直观的对比不同模型的返回结果:

image-20240102210846821

六、让Amazon Bedrock处理文本

接下来,通过左侧的导航栏切换到Playgrounds - Text:

image-20240102211004131

同样,需要先选择基础模型,这里选择了Llama 2 Chat 70B;同样注意需要把Response length调整到2048。

image-20240102211100943

这次使用COT (Chain of Thought) - Let’s think step by step让大模型帮我们处理问题;可以看到Amazon Bedrock可以把它每一步的思考以及结果都返回。输入Prompt:

You are a a very intelligent bot with exceptional critical thinking. I went to the market and bought 10 apples. I gave 2 apples to your friend and 2 to the helper. I then went and bought 5 more apples and ate 1. How many apples did I remain with? Let's think step by step.你是一个非常聪明的机器人,具有非凡的批判性思维。我去市场买了10个苹果。我给了你的朋友2个苹果,给了帮手2个。然后我又买了5个苹果,吃了1个。我还剩下几个苹果?让我们一步一步来思考。

image-20240102211307846

七、利用Amazon Bedrock生成图片

在左侧的导航栏中点击Playgrounds - Image:

image-20240102211402322

同样,需要先Select model,这次选择Amazon Titan Image Generator

image-20240102211454695

之后输入如下prompt来让Amazon Bedrock为我们生成图片,点击Run

a Panda wearing glasses and eating an ice cream in Las Vegas.

image-20240102211604845
image-20240102211641763

Amazon Titian Image Generator会生成3张图片用来供我们选择;点击其中一张认为效果最好的图片,可以下载此图片或者继续编辑。

image-20240102211720587

八、参考链接

🔴🟡🟢https://docs.aws.amazon.com/zh_cn/bedrock/latest/userguide/what-is-bedrock.html

在这里插入图片描述
在这里插入图片描述

这篇关于【Amazon Bedrock】体验 Bedrock 的基本功能,为构建强大安全的LLM应用而准备的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/564591

相关文章

利用Python操作Word文档页码的实际应用

《利用Python操作Word文档页码的实际应用》在撰写长篇文档时,经常需要将文档分成多个节,每个节都需要单独的页码,下面:本文主要介绍利用Python操作Word文档页码的相关资料,文中通过代码... 目录需求:文档详情:要求:该程序的功能是:总结需求:一次性处理24个文档的页码。文档详情:1、每个

Java JUC并发集合详解之线程安全容器完全攻略

《JavaJUC并发集合详解之线程安全容器完全攻略》Java通过java.util.concurrent(JUC)包提供了一整套线程安全的并发容器,它们不仅是简单的同步包装,更是基于精妙并发算法构建... 目录一、为什么需要JUC并发集合?二、核心并发集合分类与详解三、选型指南:如何选择合适的并发容器?在多

Java中的分布式系统开发基于 Zookeeper 与 Dubbo 的应用案例解析

《Java中的分布式系统开发基于Zookeeper与Dubbo的应用案例解析》本文将通过实际案例,带你走进基于Zookeeper与Dubbo的分布式系统开发,本文通过实例代码给大家介绍的非常详... 目录Java 中的分布式系统开发基于 Zookeeper 与 Dubbo 的应用案例一、分布式系统中的挑战二

Java 缓存框架 Caffeine 应用场景解析

《Java缓存框架Caffeine应用场景解析》文章介绍Caffeine作为高性能Java本地缓存框架,基于W-TinyLFU算法,支持异步加载、灵活过期策略、内存安全机制及统计监控,重点解析其... 目录一、Caffeine 简介1. 框架概述1.1 Caffeine的核心优势二、Caffeine 基础2

使用Node.js和PostgreSQL构建数据库应用

《使用Node.js和PostgreSQL构建数据库应用》PostgreSQL是一个功能强大的开源关系型数据库,而Node.js是构建高效网络应用的理想平台,结合这两个技术,我们可以创建出色的数据驱动... 目录初始化项目与安装依赖建立数据库连接执行CRUD操作查询数据插入数据更新数据删除数据完整示例与最佳

Docker多阶段镜像构建与缓存利用性能优化实践指南

《Docker多阶段镜像构建与缓存利用性能优化实践指南》这篇文章将从原理层面深入解析Docker多阶段构建与缓存机制,结合实际项目示例,说明如何有效利用构建缓存,组织镜像层次,最大化提升构建速度并减少... 目录一、技术背景与应用场景二、核心原理深入分析三、关键 dockerfile 解读3.1 Docke

PHP应用中处理限流和API节流的最佳实践

《PHP应用中处理限流和API节流的最佳实践》限流和API节流对于确保Web应用程序的可靠性、安全性和可扩展性至关重要,本文将详细介绍PHP应用中处理限流和API节流的最佳实践,下面就来和小编一起学习... 目录限流的重要性在 php 中实施限流的最佳实践使用集中式存储进行状态管理(如 Redis)采用滑动

Three.js构建一个 3D 商品展示空间完整实战项目

《Three.js构建一个3D商品展示空间完整实战项目》Three.js是一个强大的JavaScript库,专用于在Web浏览器中创建3D图形,:本文主要介绍Three.js构建一个3D商品展... 目录引言项目核心技术1. 项目架构与资源组织2. 多模型切换、交互热点绑定3. 移动端适配与帧率优化4. 可

深入浅出Spring中的@Autowired自动注入的工作原理及实践应用

《深入浅出Spring中的@Autowired自动注入的工作原理及实践应用》在Spring框架的学习旅程中,@Autowired无疑是一个高频出现却又让初学者头疼的注解,它看似简单,却蕴含着Sprin... 目录深入浅出Spring中的@Autowired:自动注入的奥秘什么是依赖注入?@Autowired

PostgreSQL简介及实战应用

《PostgreSQL简介及实战应用》PostgreSQL是一种功能强大的开源关系型数据库管理系统,以其稳定性、高性能、扩展性和复杂查询能力在众多项目中得到广泛应用,本文将从基础概念讲起,逐步深入到高... 目录前言1. PostgreSQL基础1.1 PostgreSQL简介1.2 基础语法1.3 数据库