通过Amazon Bedrock上的Stability AI模型开发生成式AI应用(上篇)

news2024/11/24 10:37:13

快来用人工智能生成图像开发生成式AI图像应用!今天小李哥就来介绍亚马逊云科技推出的国际前沿人工智能模型平台Amazon Bedrock上的Stability Diffusion模型。接下来我将带大家沉浸式实操Stability Difussion模型,带大家手把手体验该模型的每个特色功能,如文生图、图生图、图像修复等。

本文章共分为上、下两篇,上篇将介绍利用亚马逊云科技控制台和API调用的方式使用Stability Difussion模型生成图片,下篇我们将进行代码实操,用该模型开发生成式AI网页应用(如下图)。大家可以通过本博客中的项目步骤提升AI技能,并应用到日常工作中。

方案所需基础知识

什么是Amazon Bedrock

Amazon Bedrock 是一项完全托管的服务,通过统一的 API 提供来自 AI21 Labs、Anthropic、Cohere、Meta、Mistral AI、Stability AI 和 Amazon 等领先 AI 公司的高性能基础模型(FMs),同时提供广泛的功能,让开发者能够在确保安全、隐私和负责任 AI 的前提下构建生成式 AI 应用。使用 Amazon Bedrock,开发者们可以:

  1. 轻松地测试、评估开发者的用例在不同基础模型下的表现;
  2. 使用微调和检索增强生成(RAG)等技术定制化开发应用程序;
  3. 构建可以使用开发者的企业系统和数据源自动执行任务的智能 Agents。

由于 Amazon Bedrock 是 Serverless 的服务,开发者无需管理任何基础设施,并且可以使用开发者已经熟悉其它的亚马逊云科技服务安全地集成和部署生成式 AI 功能到开发者的应用中。

什么是 Stability AI 模型?

Stability AI 是一家致力于开发和提供生成式人工智能模型的公司,其模型被广泛应用于图像生成领域。Stability AI 的模型中最著名的莫非是 Stable Diffusion 生成模型,能够根据用户输入的描述,自动生成高度逼真的图像和文本。这些模型以其卓越的生成能力和灵活性,在应用开发中管饭应用和认可。

Stability AI 模型的应用场景

创意设计

Stability AI 的生成模型广泛应用于创意设计领域,帮助设计师和美工快速生成高质量的图像、插画和视觉内容,可以用于产品展示、品牌推广,社交媒体内容创作。通过简单的文本描述,就可以快速生成符合特定主题或风格的视觉素材,大大提升了设计效率和创意表现力。

游戏开发

Stability AI 的图像生成技术也被广泛应用于游戏开发中。开发者可以利用这些模型快速生成游戏场景、角色设计和道具,节省大量的美术资源,并加速游戏开发。利用AI的图像生成能力,使得小型开发团队也能够制作出富有视觉冲击力的游戏内容。

教育和培训

在教育和培训领域,Stability AI 模型能够根据教学需求生成个性化的学习材料和培训教案,帮助教师和培训师提高教学效果,特别是生成式AI相关的主题培训,提升学习者的参与度和学习体验。

本实践包括的内容

1. 通过亚马逊云科技控制台沉浸式体验Stability AI文生图功能

2. 在云端IDE Cloud9中利用Python代码API调用Stability AI生成图片

功能实践具体步骤

1. 我们打开亚马逊云科技控制台,进入Amazon Bedrock服务。

2. 选择左侧菜单栏中,选择操场中的图像功能,

 

3. 勾选所需要的模型"Stability AI SDXL 1.0"

 4. 接下来我们利用该模型生成图片,我们输入生成要求:”a beautiful mountain landscape“(漂亮的山景图)。并配置提示强度、生成步骤、随机性种子等参数。

 5. 我们点击生成的图片,选择编辑功能体验图生图功能。

6. 我们添加如下图生图提示内容”add denser number of trees, extend lake“,添加一篇树林和湖泊。同时添加负面提示词,说明模型生成中不希望出现的内容。

7. 点击运行,我们利用初始图片生成了新的图片。

8. 最后我们点击右上角的Edit,将模式切换到图片编辑模型。同时我们下拉一个方框,选中需要编辑的区域,输入提示词”add a bird“(生成一只鸟),点击Run开始编辑。可以看到模型在指定区域生成了一只鸟

如何通过API调用方式调用Stability AI模型?

我们可以通过如下python代码和Boto3 SDK通过API调用方式使用Stability AI模型生成图片。

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-v1"  # 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')

 生成图片示例如下:

以上就是在亚马逊云科技控制台中沉浸式体验Amazon Bedrock的Stability AI模型、并利用该图像生成模型开发生成式AI应用的上篇内容。欢迎大家关注小李哥的亚马逊云科技AI服务深入调研系列,我们将在下篇内容中继续了解如何利用API调用的方式,利用该模型进行文生图、图生图以及图像修复功能并开发生成式AI应用,未来获取更多国际前沿的AWS云开发/云架构方案。 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2091433.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

MySQL-进阶篇-SQL优化(插入数据优化、主键优化、order by优化、group by优化、limit优化、count优化、update优化)

文章目录 1. 插入数据优化1.1 使用批量插入1.2 批量插入数据时手动提交事务1.3 按主键的顺序插入1.4 大批量插入数据时使用 load 指令 2. 主键优化2.1 数据组织方式2.2 页分裂2.3 页合并2.4 主键的设计原则2.4.1 降低主键的长度2.4.2 使用 AUTO_INCREMENT 自增主键2.4.3 尽量不…

Javascript归纳与总结——this指向及其改变、new关键字与原型链、异步、闭包和函数防抖与节流

this指向及其改变 普通函数在调用时,this为obj.obj1.fun(),this->obj1,箭头函数在声明定义时this->obj。 Javascript中bind、call、apply區別-CSDN博客 new关键字与原型链 从原型链视角解读VueComponent与Vue关系_vue中重要的原型链关系-CSDN博客 prototy…

开放式耳机是不是智商税?年度开放式耳机推荐2024产品揭秘

现在越来越多的人开始注重耳道健康,开放式耳机也越来越受大家的欢迎,因为这种开放式的设计是不进入耳道,这样能够保护我们的耳道健康,大大减少细菌的滋生。 但是就会有小伙伴说了,那开放式耳机是不是智商税呢&#xff…

iPhone 16 系列和多款新品将亮相,苹果发布会定档 9 月 10 日|TodayAI

苹果公司(Apple)已正式宣布,将于 2024 年 9 月 9 日举行年度发布会,地点定于苹果园区的史蒂夫乔布斯剧院。此次发布会的主题为 “It’s Glowtime”。发布会预计将带来众多硬件更新和新产品,最受关注的无疑是 iPhone 16…

我的世界实体与生物ID表

猪 Pig JE1.0   Pig 1.7  minecraft:pig 1.11  绵羊 Sheep 羊 JE1.0   Sheep 1.7  minecraft:sheep 1.11  牛 Cow JE1.0   Cow 1.7  minecraft:cow 1.11  鸡 Chicken JE1.0   Chicken 1.7  minecraft:chicken 1.11  鱿鱼 Squid JE1.0   Squid 1.7  m…

字符编码——第一平面的unicode分析

本篇小小探索了下 unicode 第一片面的字符。 一、什么是unicode? Unicode,全称为Unicode标准(The Unicode Standard),其官方机构Unicode联盟所用的中文名称为统一码,又译作万国码、统一字符码、统一字符编…

【PyTorch常用库函数】一文向您详解 with torch.no_grad(): 的高效用法

🎬 鸽芷咕:个人主页 🔥 个人专栏: 《C干货基地》《粉丝福利》 ⛺️生活的理想,就是为了理想的生活! 引言 在训练神经网络时,我们通常需要计算损失函数关于模型参数的梯度,以便通过梯度下降等优化算法更新参…

ARM内存屏障/编译屏障API(__DMB、__DSB、__ISB)用法及举例

0 参考资料 STM32F7 Series and STM32H7 Series Cortex-M7 processor.pdf ARM Cortex™-M Programming Guide to Memory Barrier Instructions.pdf1 ARM内存屏障/编译屏障指令(__DMB、__DSB、__ISB)说明 内存屏障和编译屏蔽其实是2个东西,一…

JDBC的使用及案例

1. JDBC基本操作 1.1. JDBC概述 JDBC(Java Data Base Connectivity)Java连接数据库是一种用于执行SQL语句的Java API,为多种关系数据库提供统一访问它由一组用Java语言编写的类和接口组成有了JDBC,程序员只需用JDBC API写一个程…

将vue项目打包为安卓软件

前言 在我的前一个文章,有讲如何实现一个笔记系统 点击跳转到:纯vue实现笔记系统 那么我如果想要分享给我的朋友该怎么办呢? 那么我将带大家去实现打包安卓软件 安卓实际打包软件 也为了更信服,这里提供一个我的打包之后的软件给大家,感兴…

Python自动化办公2.0 课程更新

之前的课程,包含了Python pandassklearn 数据分析,和Stremlit 可视化仪表盘的开发 和一系列自动化项目案例的开发,包括我们封装了ztl-uia 模块,可以同时自动化操控windows 软件和浏览器, 封装的模块,针对为付费学员使…

证书学习(三).p12证书颁发的5个步骤、如何在线生成证书、证书工具网站推荐

目录 一、证书颁发的 5 个步骤二、在线生成证书2.1 在线生成 CSR 文件2.2 在线 CSR 签发证书三、其他在线工具3.1 在线解析证书3.2 在线证书格式转换(证书转 PKCS#12/DER/JSK 格式)3.3 在线解析 .p12 文件、下载 .cer 文件3.4 直接通过参数设置申请证书【最便捷】四、补充:其…

【职业选择】AI工程师、机器学习工程师和深度学习工程师的职责与工作内容有什么区别?

《博主简介》 小伙伴们好,我是阿旭。专注于人工智能、AIGC、python、计算机视觉相关分享研究。 👍感谢小伙伴们点赞、关注! 《------往期经典推荐------》 一、AI应用软件开发实战专栏【链接】 项目名称项目名称1.【人脸识别与管理系统开发…

LVGL 控件之进度条(lv_bar)

目录 一、进度条1、概述2、方向3、进度条的当前值和范围值4、进度条模式5、进度条事件6、相关 API 二、例程 一、进度条 1、概述 进度条对象(lv_bar)有一个背景和一个指示器。指示器的宽度根据进度条的当前值自动设置。 如果设置进度条的宽度小于其高…

[C++] C++11详解 (五)function包装器、bind绑定

标题&#xff1a;[C] C11详解 (五)function包装器、bind 水墨不写bug 目录 一、function包装器 二、bind绑定 正文开始&#xff1a; 一、function包装器 function包装器&#xff0c;function实现在<functional>头文件中。C中的function本质上是一个类模板。 function…

由浅入深学习 C 语言:Hello World【提高篇】

目录 引言 1. Hello World 程序代码 2. C 语言角度分析 Hello World 程序 2.1. 程序功能分析 2.2 指针 2.3 常量指针 2.4 指针常量 3. 反汇编角度分析 Hello World 程序 3.1 栈 3.2 函数用栈传递参数 3.3 函数调用栈 3.4 函数栈帧 3.5 相关寄存器 3.6 相关汇编指令…

离散傅里叶变换(Discrete Fourier Transform, DFT)介绍,地震波分析

介绍 离散傅里叶变换&#xff08;Discrete Fourier Transform, DFT&#xff09;是一种非常重要的信号处理工具&#xff0c;它将离散时间信号从时间域转换到频率域。DFT在信号处理、图像处理、通信系统以及许多其他工程和科学领域中得到了广泛应用。为了理解DFT&#xff0c;我们…

时序预测 | 基于DLinear+PatchTST多变量时间序列预测模型(pytorch)

目录 效果一览基本介绍程序设计参考资料 效果一览 基本介绍 DLinearPatchTST多变量时间序列 dlinear,patchtst python代码&#xff0c;pytorch架构 适合功率预测&#xff0c;风电光伏预测&#xff0c;负荷预测&#xff0c;流量预测&#xff0c;浓度预测&#xff0c;机械领域预…

3.美食推荐系统(Java项目springboot和vue)

目录 0.系统的受众说明 1 绪论 1.1研究背景 1.2研究现状 1.3研究内容 2 系统关键技术 2.1 Springboot框架 2.2 JAVA技术 2.3 MYSQL数据库 2.4 B/S结构 3 系统分析 3.1 可行性分析 3.1.1 技术可行性 3.1.2经济可行性 3.1.3操作可行性 3.2 系统性能分析 3.3 系统功能分析 3.4系统…