【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

相关文章

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

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

PostgreSQL简介及实战应用

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

Python利用PySpark和Kafka实现流处理引擎构建指南

《Python利用PySpark和Kafka实现流处理引擎构建指南》本文将深入解剖基于Python的实时处理黄金组合:Kafka(分布式消息队列)与PySpark(分布式计算引擎)的化学反应,并构建一... 目录引言:数据洪流时代的生存法则第一章 Kafka:数据世界的中央神经系统消息引擎核心设计哲学高吞吐

AOP编程的基本概念与idea编辑器的配合体验过程

《AOP编程的基本概念与idea编辑器的配合体验过程》文章简要介绍了AOP基础概念,包括Before/Around通知、PointCut切入点、Advice通知体、JoinPoint连接点等,说明它们... 目录BeforeAroundAdvise — 通知PointCut — 切入点Acpect — 切面

Python中的filter() 函数的工作原理及应用技巧

《Python中的filter()函数的工作原理及应用技巧》Python的filter()函数用于筛选序列元素,返回迭代器,适合函数式编程,相比列表推导式,内存更优,尤其适用于大数据集,结合lamb... 目录前言一、基本概念基本语法二、使用方式1. 使用 lambda 函数2. 使用普通函数3. 使用 N

Python中yield的用法和实际应用示例

《Python中yield的用法和实际应用示例》在Python中,yield关键字主要用于生成器函数(generatorfunctions)中,其目的是使函数能够像迭代器一样工作,即可以被遍历,但不会... 目录python中yield的用法详解一、引言二、yield的基本用法1、yield与生成器2、yi

Springboot项目构建时各种依赖详细介绍与依赖关系说明详解

《Springboot项目构建时各种依赖详细介绍与依赖关系说明详解》SpringBoot通过spring-boot-dependencies统一依赖版本管理,spring-boot-starter-w... 目录一、spring-boot-dependencies1.简介2. 内容概览3.核心内容结构4.

Python多线程应用中的卡死问题优化方案指南

《Python多线程应用中的卡死问题优化方案指南》在利用Python语言开发某查询软件时,遇到了点击搜索按钮后软件卡死的问题,本文将简单分析一下出现的原因以及对应的优化方案,希望对大家有所帮助... 目录问题描述优化方案1. 网络请求优化2. 多线程架构优化3. 全局异常处理4. 配置管理优化优化效果1.

从基础到高阶详解Python多态实战应用指南

《从基础到高阶详解Python多态实战应用指南》这篇文章主要从基础到高阶为大家详细介绍Python中多态的相关应用与技巧,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一下... 目录一、多态的本质:python的“鸭子类型”哲学二、多态的三大实战场景场景1:数据处理管道——统一处理不同数据格式

Go语言使用net/http构建一个RESTful API的示例代码

《Go语言使用net/http构建一个RESTfulAPI的示例代码》Go的标准库net/http提供了构建Web服务所需的强大功能,虽然众多第三方框架(如Gin、Echo)已经封装了很多功能,但... 目录引言一、什么是 RESTful API?二、实战目标:用户信息管理 API三、代码实现1. 用户数据