数据库也能AIGC?

本文涉及的产品
RDS MySQL DuckDB 分析主实例,集群系列 4核8GB
简介: 云原生数据库Lindorm,AIGC时代数据基础设施

01背景

最近AI行业的发展真是日新月异,自年初以来ChatGPT的火爆,几乎每隔几天都被各种新产品发布刷屏,从GPT-4、文心一言到Microsoft 365 Copilot、Github Copilot X、ChatGPT Plugin等等。AI正在掀起一场新的生产力革命,以集成了AI能力的Office和Github为例,仅仅使用简单的语言进行描述就能在Word中轻松生成初稿和总结,在Excel中自动分析关键趋势并创建数据模型可视化等操作,在PPT中快速制作出漂亮的演示文稿。AI还可以通过分析注释,函数名,上下文,基于分析结果给出自动补全建议、函数和方法调用、甚至是完整的代码段。对于那种常年无人维护的项目,还能帮助你分析,生成文档,编写注释。从此程序员悖论——程序员最讨厌的两件事:“别人不写文档”以及“写文档”,今天终于被AI彻底解决了。1.gif因此,老板想我蹭一把热度——将Lindorm AI 引擎光速对AIGC相关模型适配,然后写个文章,一开始我是拒绝的,蹭热点不是我这种务实又进取的程序员的风格,但看我余额为0的钱包还是不得不开工。既然介绍AIGC ,那我把老板需求提给ChatGPT应该不过分吧。

2.png

AIGC是AIGC是(AI-Generated Content)的简称,通常指的是使用人工智能技术生成的各种内容,包括文本、图像、音频和视频。这些内容是通过使用机器学习算法和神经网络等技术进行训练和生成的。

...

这不是写的比我还好!火速化身为CV工程师 (Ctrl+C 和 Ctrl+V) 把文档转发给老板不就完事了。老板说小伙子不错啊,让你调研AIGC不是让你当需求路由器呀。你得把最新最牛逼的产品让读者知道AIGC具体是个啥玩意,ChatGPT知识比较落后,还得靠你亲自调研。好吧让我看看最近营销号什么东东火,就是你了Midjourney v5。3.jpegprompt:A pair of young Chinese lovers, wearing jackets and jeans, sitting on the roof, the background is Beijing in the 1990s, and the opposite building can be seen —v 5 —s 250 —q 2.

*注:图片及文字部分来自Midjourney官方

这幅作品是由Midjourney推出,由人工智能(AI)生成的“中国情侣”图片在国内外社交媒体上广为传播。这幅作品逼真的视觉效果让很多网友惊叹,认为“AI已经不逊于人类画师了”。该工具是继GPT-4之后又一个备受关注的AI产品。(聪明的你肯定猜到了,这句话又是ChatGPT生成。)只需要在Midjourney中输入上面这段英文prompt,就可以生成这张图片,是不是很酷炫!

02AIGC与数据库

AIGC这么好用,还不赶紧做个APP玩一玩,万一火了,搞个公司上市,走上人生巅峰,指日可待。不过,对于我这种小白程序员,只会写前端和SQL,对这些模型又不太了解,更别说还要部署复杂的服务架构。该咋办呢?

来了来了,Lindorm AI 引擎它来了,使用Lindorm AI 引擎的In-DB Inference功能,仅仅需要写几句SQL,就能在数据库内完成模型部署和推理,省去一系列安装部署步骤,快速搭建起一个AIGC应用。那么什么是Lindorm AI引擎, 什么是In-DB Inference呢,具体的操作方法是什么呢?

03Lindorm AI 引擎

Lindorm是面向互联网、物联网中的海量非事务数据设计和优化的云原生多模数据库,支持结构化、半结构化、非结构化数据的统一存储和计算,提供宽表、时序、时空、对象、流等多种处理模型,并兼容多种开源标准接口和无缝集成三方生态工具,满足车联网、自动驾驶、监控、推荐、风控、账单、工业互联网等业务场景的需求。4.pngLindorm AI 引擎是Lindorm最新推出的支持在数据库内集成 AI 能力对非结构化数据进行智能分析和处理的引擎,结合Lindorm已有的对结构化和半结构化数据的分析和处理能力,这使得多模数据的融合分析成为可能。伴随着 AI 模型生态的逐渐成熟,如框架、格式逐渐收敛统一,以及一些开源模型平台(如ModelScope、HuggingFace)的出现,让一些常用的模型唾手可得,可以预见到未来更多的需求是直接使用这些预训练模型对数据进行推理,或微调,而不是从头训练一个新的模型。为此,Lindorm AI 引擎即将推出BYOM(Bring Your Own Model)功能,支持导入预训练模型在数据库内直接进行推理的能力,就是In-DB Inference功能。

Lindorm AI 引擎支持用户自己上传预训练模型到数据库中,也支持直接从开源模型平台(包括ModelScope、HuggingFace)导入模型的功能,用户无需下载模型就可以很方便地完成模型在 Lindorm 内的部署和推理。Lindorm AI 引擎会根据用户指定的模型平台上的模型路径,自动下载模型并针对Lindorm AI 引擎使用的推理节点硬件对其进行适当的优化,以达到最佳的运行效率。

*ModelScope:https://modelscope.cn/home

04Lindorm AI In-DB Inference使用介绍

Lindorm AI In-DB Inference功能的使用非常简单,首先用户通过一个CREATE MODEL的SQL在数据库中导入模型,指定模型在数据库中或ModelScope/HuggingFace中的路径,以及对应的CV、NLP任务等信息。然后就可以使用一个SQL函数指定刚刚导入的模型使用数据库中的数据作为输入进行推理。

05利用Lindorm AI 引擎进行AIGC应用开发Demo

根据文本生成设计图

▶︎ 模型背景

这里我们以ModelScope上的中文StableDiffusion模型为例,演示如何在Lindorm AI 引擎内完成根据文本生成设计图。Stable Diffusion是一种AI文本生成图片的扩散模型,能够在给定文本输入的情况下生成逼真的图像。

▶︎ 构建步骤

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)

3. 最后通过SQL调用推理函数 AI_INFER在数据库中使用刚刚导入的模型进行推理,Lindorm会先使用模型根据文本生成图片,自动保存成Lindorm内的BLOB对象类型,并返回图片的下载链接:

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)

4. 通过得到的链接(备注:上述案例中的链接为测试实例所属VPC内网链接,无法通过公网访问)可以看到生成了三张室内设计图片。

设计文案

👇

新中式风格的家居设计,在传统中式风格的基础上,融入了现代时尚的设计理念,打造出一个充满禅意的中式风格卧室空间。

设计图

👇

5.png

设计文案

👇

室内设计,开放式,厨房和起居室,模块化家具与棉织品,木地板,高天花板,大钢窗,可以看到一个城市。

设计图

👇

6.png

设计文案

👇

高分辨率摄影室内设计,梦幻般的下沉式客厅,木地板,通向花园的小窗户,包豪斯家具和装饰,高天花板,米色蓝色鲑鱼粉色调,室内设计杂志,舒适的气氛。

设计图

👇

7.png

对设计图进行风格变换

▶︎ 模型背景

ControlNet是前段时间比较火的能够对Stable Diffusion生成的图片进行各种条件控制的模型,这里我们用它来对刚刚生成的几张设计图进行风格切换。

▶︎ 构建步骤

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)

2. 接下来同样使用SQL从HuggingFace平台导入ControlNet模型:


lindorm:default> CREATE MODEL `style_transfer_model`
    >  FROM 'huggingface://lllyasviel/ControlNet'
    >  TASK MULTIMODAL_TO_IMAGE
    >  ALGORITHM CONTROL_NET;
0 row affected (68 ms)


3. 同样,通过调用推理函数AI_INFER在数据库中使用刚刚导入的模型进行推理,Lindorm会使用img_url对应的图片以及prompt作为模型输入,通过模型生成新的图片,并返回图片的 URL:


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)

4. 通过链接,我们可以看到切换风格后的图片:8.png是不是很Easy就在数据库中完成了AIGC?还有更多有趣的用法等待你去尝试!

Lindorm AI 引擎目前处于邀测阶段,感兴趣可以加入钉钉群:20975001191 参与功能试用和讨论。

06未来展望

Lindorm AI 引擎实现了数据不出库,一站式智能处理,可以大大降低AIGC业务落地的使用门槛。未来我们还会进一步探索如何利用 AI 对非结构化数据的分析与处理能力实现多模数据的融合分析与处理。我们希望用户在采用Lindorm构建AIGC应用时,就像用MySQL构建库存订单管理一样简单!

相关文章
|
测试技术 uml 数据安全/隐私保护
UML图——用例图
用例图是由参与者(Actor)、用例(Use Case)以及用它们之间的关系构成的用于描述系统静态视图的UML图(本定义摘自百度百科)。用例图能够展示系统外部的各类执行者与系统中用例的关系。
UML图——用例图
|
6月前
|
缓存 监控 前端开发
前端性能优化:现代框架的关键策略
前端性能优化:现代框架的关键策略
366 74
|
3月前
|
安全 JavaScript 前端开发
Wappalyzer-网站技术栈识别
Wappalyzer 是一款网站技术指纹识别工具,可识别网站使用的 Web 服务器、前端框架、CMS、电商平台、编程语言、数据库、安全防护及统计工具等技术栈,常用于渗透测试中的信息收集。支持命令行和浏览器插件使用,可单个或批量检测目标网站,输出详细技术信息,便于安全分析与漏洞挖掘。
360 0
Wappalyzer-网站技术栈识别
|
6月前
|
Ubuntu Linux 数据安全/隐私保护
Windows中安装WSL 2和Ubuntu系统的教程
回看这一路,有趣吧?你已经跨界成为了一个Windows和Linux的桥梁。期待在代码的世界里,把一切玩得风生水起!
392 13
|
6月前
|
数据采集 人工智能 定位技术
AI尝鲜:DeerFlow,可以使用MCP的深度研究工具
DeerFlow(Deep Exploration and Efficient Research Flow)是一个社区驱动的深度研究框架,它建立在开源社区的杰出工作基础之上。我们的目标是将语言模型与专业工具(如网络搜索、爬虫和 Python 代码执行)相结合,同时回馈使这一切成为可能的社区。
Elasticsearch【问题记录 02】【不能以root运行es + max virtual memory areas vm.max_map_count [65530] is too low处理】
【4月更文挑战第12天】Elasticsearch【问题记录 02】【不能以root运行es + max virtual memory areas vm.max_map_count [65530] is too low处理】
270 3
|
11月前
|
运维 监控 Cloud Native
构建深度可观测、可集成的网络智能运维平台
本文介绍了构建深度可观测、可集成的网络智能运维平台(简称NIS),旨在解决云上网络运维面临的复杂挑战。内容涵盖云网络运维的三大难题、打造云原生AIOps工具集的解决思路、可观测性对业务稳定的重要性,以及产品发布的亮点,包括流量分析NPM、网络架构巡检和自动化运维OpenAPI,助力客户实现自助运维与优化。
|
存储 算法 数据挖掘
重磅发布 | OpenSearch推出向量检索GPU图算法方案并支持GPU规格售卖
OpenSearch向量检索版推出了面向企业开发者的GPU图算法方案(CAGRA算法),支持客户直接购买GPU规格节点,是国内首家支持GPU规格的向量检索产品。
996 12
|
存储 JSON API
Elasticsearch Pipeline 详解
Elasticsearch Pipeline 详解
836 0
|
云安全 安全 大数据
华为增强版专线卫士高性能真安全,守护甘肃兰投集团网络安全,保障专线体验品质
甘肃移动政企团队协同华为乾坤云安全团队进行现网出入流量检查和分析,通过华为乾坤云平台直观的攻击源信息显示和高级情报分析,发现兰投集团OA办公系统存在wpsAssistServlet任意文件上传漏洞,由于兰投致远OA某些接口能被未授权访问,且安全防护存在不足,攻击者可以通过构造恶意请求,可在未授权的情况下上传恶意脚本文件,导致服务器或其他核心信息资产存在安全隐患。