深入浅出Amazon Bedrock 托管生成式人工智能工具集

一、前言:

最近在CSDN上看到有一个基于Amazon Bedrock构建生成式 AI 应用,随着生成式人工智能(AIGC)技术的兴起,技术构建者们又一次冲入了一个满是挑战和机遇的浪潮。Amazon Bedrock 提供了构建生成式人工智能应用程序所需的一切,它是专门为创新者量身打造的平台。通过 Amazon Bedrock 强大的资源和工具,你可以迅速体验最新生成式人工智能技术,无论你的经验如何。无论你是AI初学者还是希望提升技能的专家,Amazon Bedrock都能助你一臂之力。

在这里插入图片描述
大家可以登录网址(https://dev.amazoncloud.cn/experience/cloudlab?id=65fd7f888f852201f9704488)即可体验Amazon Bedrock,官方也是提供了2个实验手册,可以供大家一起来快速对Amazon Bedrock入门和使用。
在这里插入图片描述


二、图像动手实验体验:


1. 文字生成图片:

参考第一个动手实验,我们对图像功能进行使用,可以在“操场”中的“图像”中,选择一个提供好的模型,比如“Titan Image Generator G1 v1”来进行使用。

在这里插入图片描述

这里有一个小小的优化,可不可以默认使用图像数量为1张,因为3张图片同时生成的话,模型消耗的时间有点长,最好将“图像数量”改为1。

在这里插入图片描述
参数说明:

序号操作内容
1模式模型生成新图像(生成)或编辑(编辑)在参考图像中提供的图像
2否定提示不希望模型生成的项目或概念,例如卡通或暴力
3参考图像用于生成响应的图像或希望模型编辑的图像
4响应图像生成图像的输出设置,例如质量、方向、大小和要生成的图像数量
5否定提示不希望模型生成的项目或概念,例如卡通或暴力
6响应图像用于生成图像的方向、大小
7高级配置要传递给模型的推理参数

可以看到输入一些关键词,就可以得到AI的绘图,可以想像一下,如果是制作这样类似的一张图片,最少也要1-2个小时吧,而且还要比较熟练。


2. 图片生成图片:

通过上面的提示语生成了一张图片,但是右边的壶和书本这些素材我们是不需要的,可以点击生成的图片,选择“编辑”按钮,进行图片的修改。

在这里插入图片描述
在“Generate”中添加否定提示,再选择推理的图像,再点击运行,可以将上面生成的图片进行参考,然后,再根据相关提示,再次生成所需要的图片。

在这里插入图片描述


3. 其它图像模型使用:

图像相关的模型,不止有“Amazon”,还有“Stability AI”模型,可以点击“更换”进行选择不同的模型,建议使用1.0的,版本更高。

通过以下提示语的文案,我们可以在Amazon Bedrock Stability AI SDXL 1.0模型上来体验一下,相对于“Amazon”模型的来说,少了一个图像数量。

一直棕色的猫看向侧面,带着红色蝴蝶领带,夕阳照射在草地下,阳光照射在这只猫的脸上,草地是偏向于秋天的棕绿色的,这只猫若有所思,这只猫是淡棕色的眼睛和黑色的瞳孔,这只猫趴在草地上

The brown cat looked to the side, with a red butterfly tie, the setting sun shines on the grass, the sun shines on the cat’s face, the grass is inclined to the autumn brown green, the cat is thoughtful, the cat is light brown eyes and black pupils, the cat lying on the grass

在这里插入图片描述

同样的参数,相对于Amazon Bedrock Titan Image Generator G1 v1与Amazon Bedrock Stability AI SDXL 1.0模型做一下比较,可以看到“Amazon”模型确实要优于“Stability AI”模型。

在这里插入图片描述
借助 Amazon Bedrock 的无服务器体验,您可以快速入门。在 AWS 管理控制台中导航到 Amazon Bedrock,在操场上试用 FM。您也可以创建代理并在控制台中对其进行测试。确定用例后,您可以使用 AWS 工具轻松地将 FM 集成到您的应用程序中,而无需管理任何基础设施。

想像一下,如果不借助Amazon Bedrock的产品,想要自己完事AI绘画的功能需要做什么操作:

序号操作
1准备一台主机,需要配备比较专业的显卡
2下载Stable-diffusion和启动器
3下载小模型

在这里插入图片描述

AI绘画是软件通过人工智能算法来进行创造的一种方式,当输入关键词后,软件通过模型对关键词进行分析,创作生成一幅完整的画。

Amazon Bedrock产品的AI绘画应用主要的几块内容:

序号操作内容
1画面描述,就是输入关键词的地方
2风格,比如中国画、油画、二次元、水彩画、像素画等等,就是不同的模型
3尺寸,比如正方形、竖图、横图、16:9、4:3等

当输入好这些参数之后,就可以点击生成,然后通过计算机渲染发送给用户,是不是这一套操作下来,非常的复杂,不利于其它行业的推动与发展,比如财务、人事、运营这些不太擅长电脑操作的人来使用,肯定90%都不太会,那么Amazon Bedrock产品是什么呢?能给我们带来什么样的好处呢?接下来就跟我一起来了解Amazon Bedrock产品。

温馨提示,可以在示例页面中,有48种模型支持,可以通过提供商、模态、使用场景中搜索自己需要的模型。
在这里插入图片描述


三、Amazon Bedrock产品介绍:

Amazon Bedrock是使用基础模型构建和扩展生成式人工智能应用程序的最简单方法,可以通俗的理解为,Aws这个产品将很多基础模型做了一层封装,通过控制台或者API的形式提供给用户使用,可以降低AI应用的门槛,不再依赖大量的技术开发人员即可实现人人玩转AI,也不需要去学习什么专业的计算机相关的知识,也不需要部署什么服务器,如果只是体验的话,完全是相当于免费在使用。
在这里插入图片描述
Amazon Bedrock 是一项完全托管的服务,通过单个 API 提供来自 AI21 Labs、Anthropic、Cohere、Meta、Stability AI 和 Amazon 等领先人工智能公司的高性能基础模型(FM),以及通过安全性、隐私性和负责任的 AI 构建生成式人工智能应用程序所需的一系列广泛功能。

3.1 普及一些基本概念:

序号功能名词解释内容
1基础模型 (FM)一种具有大量参数并基于大量不同数据训练的人工智能模型。基础模型可以为各种用例生成各种响应。基础模型可以生成文本或图像,也可以将输入转换为嵌入式
2基础模型由提供商打包并随时可用的基础模型,Amazon Bedrock 提供来自领先供应商的各种行业领先的基础模型
3模型推断基础模型根据给定输入(提示)生成输出(响应)的过程
4Prompt为模型提供的输入,用于指导模型为输入生成适当的响应或输出,提示可以包含任务的上下文、输出示例或模型在响应中使用的文本,提示可用于执行诸如分类、问题解答、代码生成、创意写作等任务
5Token模型可以将其解释或预测为单一含义单位的字符序列
6模型参数定义模型及其在解释输入和生成响应时的行为的值,模型参数由提供者控制和更新,还可以通过模型自定义过程更新模型参数以创建新模型
7推理参数在模型推理期间可以调整以影响响应的值,推理参数可以影响响应的变化程度,也可以限制响应的长度或指定序列的出现次数
8Playground一个用户友好的图形界面,可以在其中尝试运行模型推理, AWS Management Console 使用操场测试不同模型、配置和推理参数对输入的不同提示生成的响应的影响
9Embedding通过将输入转换为数值向量(称为嵌入)来压缩信息的过程,以便使用共享的数值表示来比较不同对象之间的相似性

使用 Amazon Bedrock,可以轻松试验和评估适合使用案例的热门FM,通过微调和检索增强生成(RAG)等技术利用数据对其进行私人定制,并构建使用您的企业系统和数据来源执行任务的代理。

在这里插入图片描述

由于 Amazon Bedrock 是无服务器的,因此您无需管理任何基础设施,并且可以使用已经熟悉的 AWS 服务将生成式人工智能功能安全地集成和部署到您的应用程序中。

在这里插入图片描述
Amazon Bedrock 客户可以从当今可用的一些最前沿的 FM 中进行选择。这包括 Anthropic 的 Claude、AI21 Labs’ Jurassic-2、Stability AI’s Stable Diffusion、Cohere’s Command and Embed、Meta’s Llama 2 以及 Amazon Titan 语言和嵌入模型。

可以通过以下应用场景在企业内部使用 Amazon Bedrock,利用数据构建生成式人工智能应用,从而创造全新的客户体验。

在这里插入图片描述

3.2 构建生成式人工智能应用程序所需的一切:

序号功能描述
1型号选择各种领先的基础模型(FM)可供选择

①. 轻松访问来自 AI21 Labs、Anthropic、Cohere、Meta、Stability AI 和 Amazon 等领先 AI 公司的高性能 AM 选项
②. Amazon Bedrock 的单一 API 访问都可以灵活地使用不同的 FM,并且只需最少的代码更改即可升级到最新的模型版本
2自定义使用您的数据私下调整模型

①. 模型定制使您能够提供差异化和个性化的用户体验
②. 要为特定任务自定义模型,只需点击几下即可使用自己的标记数据集私下微调 FM
③. 为了使 Amazon Titan Text 模型适应行业和领域,可以对未标记的数据进行持续预训练
④. 通过微调和持续预训练,Amazon Bedrock 可以制作一个只有自己可以访问的基础 FM 的单独副本,并且数据不会用于训练原始基础模型
3RAG提供更相关的 FM 响应

①. Amazon Bedrock 知识库是一项完全托管式 RAG 功能,能够使用上下文和相关的公司数据自定义 FM 响应
②. Amazon Bedrock 知识库可自动执行端到端 RAG 工作流程,包括摄取、检索、提示增强和引用,让无需编写自定义代码以集成数据来源和管理查询
4代理跨公司系统执行复杂任务

①. Amazon Bedrock 代理使您能够安全、私密地完成所有这些操作,无需设计提示、管理会话上下文或手动编排任务

3.3 赋能场景:

在这里插入图片描述

  • 创建新的原创内容,例如短篇小说、散文、社交媒体帖子和网页素材。
  • 搜索、查找和合成信息,以回答来自大量数据语料库的问题。
  • 根据语言提示创建各种主题、环境和场景的现实和艺术图像。
  • 通过比单词匹配更具相关性的情境式产品推荐,帮助买家找到他们想要的东西。
  • 获取文章、博客文章、书籍和文档等文本内容的摘要,无需阅读完整内容即可获得要点。

3.4 为什么应该使用 Amazon Bedrock?

序号优势描述
1选择领先的基础模型①. Amazon Bedrock 提供易于使用的开发者体验,可与来自 Amazon 以及 AI21 Labs、Anthropic、Cohere、Meta 和 Stability AI 等领先人工智能公司的各种高性能 FM 合作
②. 无论选择哪种模型,都可以在操场上快速尝试各种 FM,并使用单个 API 进行推理,这样便可灵活使用来自不同提供商的 FM,并且只需最少的代码更改即可保持最新的模型版本
2利用您的数据轻松定制模型①. 无需编写任何代码,即可通过可视化界面使用自己的数据私下自定义 FM
②. 只需选择存储在 Amazon Simple Storage Service(Amazon S3)中的训练和验证数据集,并在需要时调整超参数即可实现可能的最佳模型性能
3完全托管的代理,可以动态调用 API 来执行任务①. 通过动态调用公司系统和 API,构建能够执行复杂业务任务的代理
②. Amazon Bedrock 的完全托管代理扩展了 FM 的推理能力,可以分解任务、创建编排计划并执行该计划
4对 RAG 的本机支持,以利用专有数据扩展 FM 的功能①. 借助 Amazon Bedrock 知识库,您可以安全地将 FM 连接到您的数据来源,以便在托管服务中增强检索,从而扩展 FM 本已强大的功能,使其更了解您的特定领域和组织
5数据安全性和合规性认证①. Amazon Bedrock 提供了多种支持安全和隐私要求的功能

3.5 小结:

Amazon Bedrock以托管API方式来调用,无需运维,只需通过点击操作,即可以在Amazon Bedrock中访问其定制模型,只需模型通过自动验证流程后,即可使用Amazon Bedrock的一系列功能来加速其生成式AI应用开发,提供简化的创建和配置,允许开发者快速创建代理并管理跨多个系统和数据源的任务,以此提高开发效率。


四、文本动手实验体验:

上面我们对图像相关的实验尝试了一下,Amazon Bedrock也提供了文本相关的手册,按照实验手册,是只有Llama 2模型(13B、70B),实际上也快速更新了Amazon Bedrock Meta Llama 3模型(8B、70B)2个模型,看起来更新力度还是很快的,肯定要尝试一下最新的模型。

在日常中,我们常常需要分析一下接手的代码,这个是非常耗时的,比如需要了解之前的人写的逻辑,特别是大断的逻辑,看到到处都是if,说实话,头有点大,现在我们让AI文本分析工具来帮助我们一起来分析一下,如下,我将日常中,有一大段的代码,让Amazon Bedrock Meta Llama 3模型来帮我解释一下代码是什么逻辑。
在这里插入图片描述
可以看到Amazon Bedrock Meta Llama 3模型分析出来的结果,有一些还不是理想状态,刚好看手册,也发现了一个比较不错的功能“比较模式”,可以将同一问题、不同模型比较。

在这里插入图片描述
我们选择了3种模型“Llama 2 Chat 13B v1”、“Titan Text G1 – Express v1”、“Llama 2 Chat 70B v1”进行一下比较,从结果上来看,Titan Text G1模型明显解释的结果偏于理想,第二的话“Llama 2 Chat 13B v1”排在第二,当然,只是针对我提的这个问题而言。

在这里插入图片描述
界面也提供了模型指标的结果参数,让我们可以进行分析,使用自定义数据集评估特定于任务的指标的模型。可以看到“Llama 2 Chat 13B v1”耗时最少,但是结果理想值排名第二,“Titan Text G1”虽然耗时最长,但是结果理想值是第一的。
在这里插入图片描述
Amazon Bedrock 提供了一个平台,允许使用对话式聊天界面尝试各种各样的 FM。可以提供提示并使用 AWS 管理控制台内的 Web 界面来提供提示,然后使用预训练的模型生成文本或图像,或者使用针对您的应用场景进行了微调的模型。

通过Amazon Bedrock提供利用基础模型(FM)的实践经验,Amazon Bedrock是一项完全管理的服务,提供第三方提供商和亚马逊对FM的访问可通过API获得。使用Amazon Bedrock的“比较模式”,可以从各种型号中进行选择,以找到最适合用例的型号。
在这里插入图片描述
通过以上一系列实验室中,可以了解与探索生成文本和图像的技术,并学习如何通过使用基础模型帮助工作中,比如写电子邮件、总结文本、回答问题、构建聊天机器人、创建图像和生成代码来提高生产力,通过使用Bedrock API来实现这些使用模式的实践经验。

利用 Amazon Bedrock 先进的生成式人工智能功能,Amazon Bedrock 的原生 AI 工具集通过处理区域内和平台上的数据来提供卓越的性能、可用性、数据隐私和安全性,能够在为客户提供变革性的生成式人工智能解决方案方面取得成功,从而改善客户、员工的体验,提高效率和卓越服务。

4.1 什么是 Amazon Titan 模型?

Amazon Bedrock 独有的 Amazon Titan 系列模型融合了 Amazon 25 年来,在其业务范围内积累的人工智能和机器学习创新的经验。Amazon Titan 基础模型(FM)通过完全托管的 API 为客户提供广泛的高性能图像、多模式和文本模型选择。Amazon Titan 模型由 AWS 创建并在大型数据集上进行预训练,使其成为强大的通用模型,旨在支持各种用例,同时还支持负责任地使用 AI。您可以按原样使用,也可以根据自己的数据私下进行自定义。


四、工作开发中的实践:

4.1 如何利用Amazon Bedrock的产品学习新技术?

最新公司也要上线Vue3的项目,刚好拿Amazon Bedrock的产品来尝试一下,在提示语输入“如何生成一段vue3的项目代码?”,可以看到回复的答案,还能支持某个网页链接,非常的方便。
在这里插入图片描述
根据提示我们来初始化一下代码:

npm install -g @vue/cli
vue create my-project

输入Vue创建项目的命令,当然my-project可以随便命名,这里可以选择Vue2或者Vue3的默认模板,也可以自定义,为了快速方便直接使用Vue3模板。
在这里插入图片描述

选择完Vue3的模板之后,会自动下载一些文件,然后创建文件成功的话,会给出命令:

cd my-project
yarn serve

在这里插入图片描述
使用自带的命令直接可以运行起来,打开chrome窗口即可访问我们刚刚新建的Vue3界面,可以看到对于新技术的学习,是非常的方便,以前我们还要去搜索官方,还要去阅读分辨项目初始化的文档,比较消耗时间。

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

4.2 如何利用Amazon Bedrock的产品写单元测试?

在这里插入图片描述

在这里插入图片描述

将以下vue3代码写一段单元测试

<template>
  <div class="hello">
    {{ count }}
    <button @click="add">增加</button>
    <button @click="jian">减少</button>
  </div>
</template>

<script>
export default {
  name: 'HelloWorld',
  props: {
    msg: String
  },
  data() {
    return {
      count: 0
    }
  },
  methods: {
    add() {
      this.count++
    },
    jian() {
      this.count--
    }
  }
}
</script>

测试用例:

1. 渲染组件时,count的值应该是0
2. 点击增加按钮时,count的值应该增加1
3. 点击减少按钮时,count的值应该减少1
4. 点击增加按钮多次,count的值应该增加多次
5. 点击减少按钮多次,count的值应该减少多次

使用 Jest 和 Vue Testing Library 编写测试用例

import { render, fireEvent, waitFor } from '@vue/testing-library';
import { HelloWorld } from './HelloWorld.vue';

describe('HelloWorld component', () => {
  it('renders count as 0', async () => {
    const { getByText } = render(HelloWorld);
    expect(getByText('0')).toBeInTheDocument();
  });

  it('increases count when add button is clicked', async () => {
    const { getByText, getByRole } = render(HelloWorld);
    const addButton = getByRole('button', { name: '增加' });
    fireEvent.click(addButton);
    await waitFor(() => getByText('1'));
    expect(getByText('1')).toBeInTheDocument();
  });

  it('decreases count when jian button is clicked', async () => {
    const { getByText, getByRole } = render(HelloWorld);
    const jianButton = getByRole('button', { name: '减少' });
    fireEvent.click(jianButton);
    await waitFor(() => getByText('-1'));
    expect(getByText('-1')).toBeInTheDocument();
  });

  it('increases count multiple times when add button is clicked multiple times', async () => {
    const { getByText, getByRole } = render(HelloWorld);
    const addButton = getByRole('button', { name: '增加' });
    fireEvent.click(addButton);
    fireEvent.click(addButton);
    fireEvent.click(addButton);
    await waitFor(() => getByText('3'));
    expect(getByText('3')).toBeInTheDocument();
  });

  it('decreases count multiple times when jian button is clicked multiple times', async () => {
    const { getByText, getByRole } = render(HelloWorld);
    const jianButton = getByRole('button', { name: '减少' });
    fireEvent.click(jianButton);
    fireEvent.click(jianButton);
    fireEvent.click(jianButton);
    await waitFor(() => getByText('-3'));
    expect(getByText('-3')).toBeInTheDocument();
  });
});

在这里插入图片描述

如何使用 Jest 和 Vue Testing Library 编写测试用例
。

### Jest

Jest 是 Facebook 开源的一款 JavaScript 测试框架,广泛应用于 React 生态系统中。 Jest 提供了许多功能,例如:

1. 快照测试(Snapshot testing):可以捕获组件的渲染结果,并将其与预期结果进行比较。
2. Mocking:可以模拟依赖项,例如 API 调用或第三方库,以便在测试中隔离依赖项。
3. Code Coverage:可以生成代码覆盖率报告,帮助开发者了解测试的覆盖范围。

### Vue Testing Library

Vue Testing Library 是 Vue.js 官方提供的一款测试库,旨在帮助开发者编写高质量的测试用例。该库提供了许多功能,例如:

1. render:可以渲染 Vue 组件,并返回渲染结果。
2. fireEvent:可以模拟用户交互,例如点击按钮或输入文本。
3. waitFor:可以等待组件的渲染或某个事件的发生。

### 编写测试用例

下面是一个简单的示例,演示如何使用 Jest 和 Vue Testing Library 编写测试用例:
// myComponent.vue
<template>
  <div>
    <button @click="handleClick">Click me!</button>
    <p v-if="showMessage">Hello, world!</p>
  </div>
</template>

<script>
export default {
  data() {
    return {
      showMessage: false
    }
  },
  methods: {
    handleClick() {
      this.showMessage = true
    }
  }
}
</script>

// myComponent.spec.js
import { render, fireEvent } from '@vue/testing-library'
import MyComponent from './myComponent.vue'

describe('MyComponent', () => {
  it('renders correctly', () => {
    const { container } = render(MyComponent)
    expect(container.innerHTML).toMatchSnapshot()
  })

  it('handles click event', async () => {
    const { getByText } = render(MyComponent)
    const button = getByText('Click me!')
    fireEvent.click(button)
    await waitFor(() => getByText('Hello, world!'))
    expect(getByText('Hello, world!')).toBeInTheDocument()
  })
})
在上面的示例中,我们使用 `render` 函数渲染 `MyComponent` 组件,并使用 `fireEvent` 函数模拟

在这里插入图片描述
可以看到通过Amazon Bedrock的产品可以快速的让我们从0-1学习vue3的技术,比我们自己摸索的效率更高。


五、画图和文本API如何调用?

在新的 Amazon EC2 实例上创建 AWS Cloud9 开发环境,或者通过 SSH 将其连接到您自己的 Linux 服务器。创建 AWS Cloud9 环境后,您可以立即访问丰富的代码编辑器、集成调试器和带有预配置 AWS CLI 的内置终端,所有这些都在浏览器中完成。

使用 AWS Cloud9 控制面板,您可以在许多不同的 AWS Cloud9 环境中创建并在这些环境之间切换,每个环境都包含特定项目的自定义工具、运行时系统和文件。
在这里插入图片描述
AWS Cloud9 允许您仅使用浏览器编写、运行和调试代码。使用 AWS Cloud9,您可以立即访问丰富的代码编辑器、集成调试器和带有预配置 AWS CLI 的内置终端。您可以在几分钟内开始使用,而不必再花时间安装本地应用程序或配置开发计算机。
在这里插入图片描述

5.1 AWS Cloud9优点和功能:

序号优点描述
1只用浏览器编码AWS Cloud9 允许您仅使用浏览器编写、运行和调试应用程序,无需安装或维护桌面 IDE。
2实时一起编码AWS Cloud9 简化协作编码。您只需点击几下即可与团队共享开发环境,并将程序配对在一起。
3快速启动新项目AWS Cloud9 EC2 环境预先打包了适用于 40 多种编程语言的工具,使您能够在几分钟内开始为常用的应用程序堆栈编写代码。
4轻松构建无服务器应用程序AWS Cloud9 为开发无服务器应用程序提供了无缝体验。使您能够轻松定义资源、调试以及在本地和远程执行代码之间切换。

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
创建成功后:
在这里插入图片描述

5.2 使用 Amazon Cloud9 快速体验 Amazon Bedrock 中 Stability AI SDXL 1.0 API 的调用:

根据手册上的代码,我们可以生成图像的API调用:

import json
import boto3
import base64
import os
from PIL import Image
import io

session = boto3.Session()
bedrock = session.client(service_name='bedrock-runtime')  # creates a Bedrock client
bedrock_model_id = "stability.stable-diffusion-xl"  # set the foundation model
prompt =  "a beautiful mountain landscape"  # the prompt to send to the model
seed = 100

body = json.dumps({
    "text_prompts": [{"text": prompt}],
    "seed": seed,
    "cfg_scale": 10,
    "steps": 30,
})  # build the request payload

# send the payload to Bedrock
response = bedrock.invoke_model(
    body=body, modelId=bedrock_model_id, accept='application/json', contentType='application/json')

# read the response
response_body = json.loads(response.get('body').read())

base64_image_data = response_body.get("artifacts")[0]["base64"]

print(f"{base64_image_data[0:80]}...")

# Convert base64 image data to an image and save it to a file
image_data = base64.b64decode(base64_image_data)

os.makedirs("data", exist_ok=True)

image = Image.open(io.BytesIO(image_data))

image.save('data/sd_generated_image.jpg')

在这里插入图片描述

5.3:使用 Amazon Cloud9 快速体验 Amazon Bedrock 中 Meta Llama 2 API的调用:

import json
import boto3

session = boto3.Session()
bedrock = session.client(service_name='bedrock-runtime')
bedrock_model_id = "meta.llama2-70b-chat-v1" #设置模型
prompt = "说一下vue3有哪些面试题s" #提示词

body = json.dumps({
    "prompt": prompt, 
    "max_gen_len": 2048,
    "temperature":0.5,
    "top_p":0.9
}) 

response = bedrock.invoke_model(body=body, modelId=bedrock_model_id, accept='application/json', contentType='application/json') #发送调用请求
response_body = json.loads(response.get('body').read())  
response_text=response_body['generation'] #从 JSON 中返回相应
print(response_text)
import json
import boto3

session = boto3.Session()
bedrock = session.client(service_name='bedrock-runtime')
bedrock_model_id = "meta.llama2-70b-chat-v1" #设置模型
prompt = "说一下vue3有哪些面试题s" #提示词

body = json.dumps({
    "prompt": prompt, 
    "max_gen_len": 2048,
    "temperature":0.5,
    "top_p":0.9
}) 

response = bedrock.invoke_model(body=body, modelId=bedrock_model_id, accept='application/json', contentType='application/json') #发送调用请求
response_body = json.loads(response.get('body').read())  
response_text=response_body['generation'] #从 JSON 中返回相应
print(response_text)

在这里插入图片描述


本文总结:

二十多年来,亚马逊一直关注人工智能和机器学习,自从生成式AI爆发以来,亚马逊云科技从数据标注到数据训练、再到部署、上线以后的持续监控以及基于原始数据的再迭代等端到端的能力。

在生成式AI爆发之际,亚马逊云科技基于生成式AI,选择提供三层服务架构(云基础设施服务、模型层服务、应用层服务),模型层就是以Amazon Bedrock为代表的云托管服务,进一步推动生成式AI的大规模普及,从而帮助客户规模化构建生成式AI应用,并快速创造商业价值。

Amazon Bedrock是一种全新的方式来构建生成式 AI 应用程序,提供了自定义模型导入、新增基础模型、模型评估功能和全方位安全防护等,为客户提供更灵活、安全和高效的生成式AI应用构建体验,让Amazon Bedrock成为公认的构建生成式 AI 应用程序的最快捷和最简单的方式。

Amazon Bedrock 是一项完全托管的服务,可通过单个 API 提供多种高性能基础模型(FM),以及构建生成式人工智能应用程序所需的一系列广泛功能,通过安全性、隐私性和负责任的人工智能简化开发,可提供多种高性能基础模型(FM),以及构建生成式人工智能应用程序所需的一系列广泛功能,通过安全性、隐私性和负责任的人工智能简化开发。

序号关键功能描述
1访问高性能基础模型①. Amazon Bedrock 提供对由领先 AI 公司和亚马逊自身开发的各种基础模型的访问权限
②. 这些基础模型在大量数据上进行训练,可以执行各种任务,包括文本生成、图像识别和代码完成等
2统一的 API①. 开发者可以通过单个 API 与所有可用的基础模型进行交互
②. 简化了在应用程序中使用基础模型的复杂过程,这消除了为每个基础模型学习不同 API 的必要性
3轻松集成①. Amazon Bedrock 是一项完全托管的服务,这意味着亚马逊云科技会负责管理底层基础设施
②. 使开发者可以专注于构建应用程序,而无需担心服务器设置和维护
4安全性和隐私性①. Amazon Bedrock 提供了相关的功能来帮助开发者构建安全和私密的 AI 应用程序
②. 开发者可以控制对基础模型和数据的访问,从而保护开发者的数据隐私
5专注于生成式 AI①. 虽然基础模型可以执行各种任务,但 Amazon Bedrock 特别关注生成式 AI 应用程序
②. 这些应用程序使用 AI 创建新内容,例如文本、图像或代码等

借助 Amazon Bedrock 的全面功能,可以轻松尝试各种热门 FM,使用微调和检索增强生成(RAG)等技术利用您的数据对其进行私人定制,并创建可执行复杂业务任务(从预订旅行和处理保险索赔到制作广告活动和管理库存)的托管代理,所有这些都无需编写任何代码。由于 Amazon Bedrock 是无服务器的,因此无需管理任何基础设施,并且可以使用已经熟悉的 AWS 服务将生成式人工智能功能安全地集成和部署到您的应用程序中。

  • 5
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值