01
背景
AIGC是AIGC是(AI-Generated Content)的简称,通常指的是使用人工智能技术生成的各种内容,包括文本、图像、音频和视频。这些内容是通过使用机器学习算法和神经网络等技术进行训练和生成的。
...
*注:图片及文字部分来自Midjourney官方
02
AIGC与数据库
来了来了,Lindorm AI 引擎它来了,使用Lindorm AI 引擎的In-DB Inference功能,仅仅需要写几句SQL,就能在数据库内完成模型部署和推理,省去一系列安装部署步骤,快速搭建起一个AIGC应用。那么什么是Lindorm AI引擎, 什么是In-DB Inference呢,具体的操作方法是什么呢?
03
Lindorm AI 引擎
Lindorm AI 引擎支持用户自己上传预训练模型到数据库中,也支持直接从开源模型平台(包括ModelScope、HuggingFace)导入模型的功能,用户无需下载模型就可以很方便地完成模型在 Lindorm 内的部署和推理。Lindorm AI 引擎会根据用户指定的模型平台上的模型路径,自动下载模型并针对Lindorm AI 引擎使用的推理节点硬件对其进行适当的优化,以达到最佳的运行效率。
*ModelScope:https://modelscope.cn/home
04
Lindorm AI In-DB Inference使用介绍
05
观看演示视频 💻
根据文本生成设计图
▶︎ 模型背景
1. 在Lindorm数据库中创建室内设计文本描述表,将用于生成图片的文本插入到表中,这里我们插入了3条关于室内设计的文字描述:
lindorm:default> CREATE TABLE `room_desc` (
> `room_desc_id` INTEGER,
> `room_desc` VARCHAR,
> primary key(`room_desc_id`)
> );
lindorm:default> INSERT INTO `room_desc` (
> `room_desc_id`,
> `room_desc`
> ) VALUES (
> 1,
> '新中式风格的家居设计,在传统中式风格的基础上,融入了现代时尚的设计理念,打造出一个充满禅意的中式风格卧室空间。'
> ), (
> 2,
> '室内设计,开放式,厨房和起居室,模块化家具与棉织品,木地板,高天花板,大钢窗,可以看到一个城市。'
> ), (
> 3,
> '高分辨率摄影室内设计,梦幻般的下沉式客厅,木地板,通向花园的小窗户,包豪斯家具和装饰,高天花板,米色蓝色鲑鱼粉色调,室内设计杂志,舒适的气氛。'
> );
3 row affected (22 ms)
lindorm:default> select * from room_desc;
+--------------+----------------------------------------------------------------------------------------------------------------------------------------------+
| room_desc_id | room_desc |
+--------------+----------------------------------------------------------------------------------------------------------------------------------------------+
| 1 | 新中式风格的家居设计,在传统中式风格的基础上,融入了现代时尚的设计理念,打造出一个充满禅意的中式风格卧室空间。|
| 2 | 室内设计,开放式,厨房和起居室,模块化家具与棉织品,木地板,高天花板,大钢窗,可以看到一个城市。 |
| 3 | 高分辨率摄影室内设计,梦幻般的下沉式客厅,木地板,通向花园的小窗户,包豪斯家具和装饰,高天花板,米色蓝色鲑鱼粉色调,室内设计杂志,舒适的气氛 |
+--------------+----------------------------------------------------------------------------------------------------------------------------------------------+
3 rows in set (30 ms)
2. 接下来我们使用Lindorm AI 引擎扩展的CREATE MODEL SQL语法自动从 ModelScope平台导入中文Stable Diffusion模型:
lindorm:default> CREATE MODEL `room_maker_model`
> FROM 'modelscope://damo/multi-modal_chinese_stable_diffusion_v1.0'
> TASK TEXT_TO_IMAGE
> ALGORITHM STABLE_DIFFUSION;
0 row affected (63 ms)
lindorm:default> SELECT
> `room_desc`,
> AI_INFER(
> 'room_maker_model',
> `room_desc`
> ) as 'room_image'
> FROM room_desc;
+--------------------------------------------------------------------------------------------------------------------------+--------------------------------------------------------------------------------------------------+
| room_desc | room_image |
+--------------------------------------------------------------------------------------------------------------------------+--------------------------------------------------------------------------------------------------+
| 新中式风格的家居设计,在传统中式风格的基础上,融入了现代时尚的设计理念,打造出一个充满禅意的中式风格卧室空间。 | http://ld-xxx-blob.xxx.com:9000/images/sd_1678873258559.jpg |
| 室内设计,开放式,厨房和起居室,模块化家具与棉织品,木地板,高天花板,大钢窗,可以看到一个城市。 | http://ld-xxx-blob.xxx.com:9000/images/sd_1678873265155.jpg |
| 高分辨率摄影室内设计,梦幻般的下沉式客厅,木地板,通向花园的小窗户,包豪斯家具和装饰,高天花板,米色蓝色鲑鱼粉色调,室内设计杂志,舒适的气氛。 | http://ld-xxx-blob.xxx.com:9000/images/sd_1678873271757.jpg |
+--------------------------------------------------------------------------------------------------------------------------+--------------------------------------------------------------------------------------------------+
3 rows in set (7875 ms)
设计文案
👇
设计图
👇
设计文案
👇
设计图
👇
设计文案
👇
高分辨率摄影室内设计,梦幻般的下沉式客厅,木地板,通向花园的小窗户,包豪斯家具和装饰,高天花板,米色蓝色鲑鱼粉色调,室内设计杂志,舒适的气氛。
设计图
👇
对设计图进行风格变换
▶︎ 模型背景
▶︎ 构建步骤
1. 我们使用另外一个表来做演示,表结构设计为包含一个图片 URL 地址和一个 prompt 字段,用来维护想要对设计风格进行控制的提示词。我们为刚刚生成的 3 张图片各切换 3 种风格(分别是中式、地中海和工业风),因此一共得到 9 行数据(出于篇幅限制,这里省略了 INSERT 环节):
lindorm:default> CREATE TABLE `control_room` (
> `control_room_id` INTEGER,
> `img_url` VARCHAR,
> `prompt` VARCHAR,
> primary key(`control_room_id`)
> );
lindorm:default> select * from control_room;
+-----------------+--------------------------------------------------------------------------------------------------+-----------------------------+
| control_room_id | img_url | prompt |
+-----------------+--------------------------------------------------------------------------------------------------+-----------------------------+
| 1 | http://ld-xxx-blob.xxx.com:9000/images/sd_1678873258559.jpg | Chinese style, 1 room |
| 2 | http://ld-xxx-blob.xxx.com:9000/images/sd_1678873258559.jpg | Mediterranean style, 1 room |
| 3 | http://ld-xxx-blob.xxx.com:9000/images/sd_1678873258559.jpg | Industrial style, 1 room |
| 4 | http://ld-xxx-blob.xxx.com:9000/images/sd_1678873265155.jpg | Chinese style, 1 room |
| 5 | http://ld-xxx-blob.xxx.com:9000/images/sd_1678873265155.jpg | Mediterranean style, 1 room |
| 6 | http://ld-xxx-blob.xxx.com:9000/images/sd_1678873265155.jpg | Industrial style, 1 room |
| 7 | http://ld-xxx-blob.xxx.com:9000/images/sd_1678873271757.jpg | Chinese style, 1 room |
| 8 | http://ld-xxx-blob.xxx.com:9000/images/sd_1678873271757.jpg | Mediterranean style, 1 room |
| 9 | http://ld-xxx-blob.xxx.com:9000/images/sd_1678873271757.jpg | Industrial style, 1 room |
+-----------------+--------------------------------------------------------------------------------------------------+-----------------------------+
9 rows in set (25 ms)
lindorm:default> CREATE MODEL `style_transfer_model`
> FROM 'huggingface://lllyasviel/ControlNet'
> TASK MULTIMODAL_TO_IMAGE
> ALGORITHM CONTROL_NET;
0 row affected (68 ms)
lindorm:default> SELECT
> `img_url`,
> `prompt`,
> AI_INFER(
> 'style_transfer_model',
> `img_url`,
> `prompt`,
> 'control_type=seg'
> ) as 'controlled_image'
> FROM control_room;
+--------------------------------------------------------------------------------------------------+-----------------------------+--------------------------------------------------------------------------------------------------+
| img_url | prompt | controlled_image |
+--------------------------------------------------------------------------------------------------+-----------------------------+--------------------------------------------------------------------------------------------------+
| http://ld-xxx-blob.xxx.com:9000/images/sd_1678873258559.jpg | Chinese style, 1 room | http://ld-xxx-blob.xxx.com:9000/images/cn_1678873429213.jpg |
| http://ld-xxx-blob.xxx.com:9000/images/sd_1678873258559.jpg | Mediterranean style, 1 room | http://ld-xxx-blob.xxx.com:9000/images/cn_1678873451405.jpg |
| http://ld-xxx-blob.xxx.com:9000/images/sd_1678873258559.jpg | Industrial style, 1 room | http://ld-xxx-blob.xxx.com:9000/images/cn_1678873472694.jpg |
| http://ld-xxx-blob.xxx.com:9000/images/sd_1678873265155.jpg | Chinese style, 1 room | http://ld-xxx-blob.xxx.com:9000/images/cn_1678873494592.jpg |
| http://ld-xxx-blob.xxx.com:9000/images/sd_1678873265155.jpg | Mediterranean style, 1 room | http://ld-xxx-blob.xxx.com:9000/images/cn_1678873516370.jpg |
| http://ld-xxx-blob.xxx.com:9000/images/sd_1678873265155.jpg | Industrial style, 1 room | http://ld-xxx-blob.xxx.com:9000/images/cn_1678873538218.jpg |
| http://ld-xxx-blob.xxx.com:9000/images/sd_1678873271757.jpg | Chinese style, 1 room | http://ld-xxx-blob.xxx.com:9000/images/cn_1678873560219.jpg |
| http://ld-xxx-blob.xxx.com:9000/images/sd_1678873271757.jpg | Mediterranean style, 1 room | http://ld-xxx-blob.xxx.com:9000/images/cn_1678873582595.jpg |
| http://ld-xxx-blob.xxx.com:9000/images/sd_1678873271757.jpg | Industrial style, 1 room | http://ld-xxx-blob.xxx.com:9000/images/cn_1678873604486.jpg |
+--------------------------------------------------------------------------------------------------+-----------------------------+--------------------------------------------------------------------------------------------------+
9 rows in set (16219 ms)
06
未来展望
Lindorm AI 引擎实现了数据不出库,一站式智能处理,可以大大降低AIGC业务落地的使用门槛。未来我们还会进一步探索如何利用 AI 对非结构化数据的分析与处理能力实现多模数据的融合分析与处理。我们希望用户在采用Lindorm构建AIGC应用时,就像用MySQL构建库存订单管理一样简单!
点击查看云原生多模数据库Lindorm更多内容