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

2024-01-03 00:46:58

在这里插入图片描述

一、什么是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

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

文章来源:https://blog.csdn.net/qq_45392321/article/details/135351252
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。