數(shù)據(jù)庫也能AIGC?

背景
最近AI行業(yè)的發(fā)展真是日新月異,自年初以來ChatGPT的火爆,幾乎每隔幾天都被各種新產品發(fā)布刷屏,從GPT-4、文心一言到Microsoft 365 Copilot、Github Copilot X、ChatGPT Plugin等等。AI正在掀起一場新的生產力革命,以集成了AI能力的Office和Github為例,僅僅使用簡單的語言進行描述就能在Word中輕松生成初稿和總結,在Excel中自動分析關鍵趨勢并創(chuàng)建數(shù)據(jù)模型可視化等操作,在PPT中快速制作出漂亮的演示文稿。AI還可以通過分析注釋,函數(shù)名,上下文,基于分析結果給出自動補全建議、函數(shù)和方法調用、甚至是完整的代碼段。對于那種常年無人維護的項目,還能幫助你分析,生成文檔,編寫注釋。從此程序員悖論——程序員最討厭的兩件事:“別人不寫文檔”以及“寫文檔”,今天終于被AI徹底解決了。

因此,老板想我蹭一把熱度——將Lindorm AI 引擎光速對AIGC相關模型適配,然后寫個文章,一開始我是拒絕的,蹭熱點不是我這種務實又進取的程序員的風格,但看我余額為0的錢包還是不得不開工。
既然介紹AIGC ,那我把老板需求提給ChatGPT應該不過分吧。

這不是寫的比我還好!火速化身為CV工程師 (Ctrl+C 和 Ctrl+V) 把文檔轉發(fā)給老板不就完事了。
老板說小伙子不錯啊,讓你調研AIGC不是讓你當需求路由器呀。你得把最新最牛逼的產品讓讀者知道AIGC具體是個啥玩意,ChatGPT知識比較落后,還得靠你親自調研。
好吧讓我看看最近營銷號什么東東火,就是你了Midjourney v5。

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推出,由人工智能(AI)生成的“中國情侶”圖片在國內外社交媒體上廣為傳播。這幅作品逼真的視覺效果讓很多網(wǎng)友驚嘆,認為“AI已經不遜于人類畫師了”。該工具是繼GPT-4之后又一個備受關注的AI產品。(聰明的你肯定猜到了,這句話又是ChatGPT生成。)只需要在Midjourney中輸入上面這段英文prompt,就可以生成這張圖片,是不是很酷炫!
AIGC與數(shù)據(jù)庫
AIGC這么好用,還不趕緊做個APP玩一玩,萬一火了,搞個公司上市,走上人生巔峰,指日可待。不過,對于我這種小白程序員,只會寫前端和SQL,對這些模型又不太了解,更別說還要部署復雜的服務架構。該咋辦呢?
來了來了,Lindorm AI 引擎它來了,使用Lindorm AI 引擎的In-DB Inference功能,僅僅需要寫幾句SQL,就能在數(shù)據(jù)庫內完成模型部署和推理,省去一系列安裝部署步驟,快速搭建起一個AIGC應用。那么什么是Lindorm AI引擎,?什么是In-DB Inference呢,具體的操作方法是什么呢?
Lindorm?AI 引擎
Lindorm是面向互聯(lián)網(wǎng)、物聯(lián)網(wǎng)中的海量非事務數(shù)據(jù)設計和優(yōu)化的云原生多模數(shù)據(jù)庫,支持結構化、半結構化、非結構化數(shù)據(jù)的統(tǒng)一存儲和計算,提供寬表、時序、時空、對象、流等多種處理模型,并兼容多種開源標準接口和無縫集成三方生態(tài)工具,滿足車聯(lián)網(wǎng)、自動駕駛、監(jiān)控、推薦、風控、賬單、工業(yè)互聯(lián)網(wǎng)等業(yè)務場景的需求。

Lindorm AI 引擎是Lindorm最新推出的支持在數(shù)據(jù)庫內集成 AI 能力對非結構化數(shù)據(jù)進行智能分析和處理的引擎,結合Lindorm已有的對結構化和半結構化數(shù)據(jù)的分析和處理能力,這使得多模數(shù)據(jù)的融合分析成為可能。伴隨著 AI 模型生態(tài)的逐漸成熟,如框架、格式逐漸收斂統(tǒng)一,以及一些開源模型平臺(如ModelScope、HuggingFace)的出現(xiàn),讓一些常用的模型唾手可得,可以預見到未來更多的需求是直接使用這些預訓練模型對數(shù)據(jù)進行推理,或微調,而不是從頭訓練一個新的模型。為此,Lindorm AI 引擎即將推出BYOM(Bring Your Own Model)功能,支持導入預訓練模型在數(shù)據(jù)庫內直接進行推理的能力,就是In-DB Inference功能。
Lindorm AI 引擎支持用戶自己上傳預訓練模型到數(shù)據(jù)庫中,也支持直接從開源模型平臺(包括ModelScope、HuggingFace)導入模型的功能,用戶無需下載模型就可以很方便地完成模型在 Lindorm 內的部署和推理。Lindorm AI 引擎會根據(jù)用戶指定的模型平臺上的模型路徑,自動下載模型并針對Lindorm AI 引擎使用的推理節(jié)點硬件對其進行適當?shù)膬?yōu)化,以達到最佳的運行效率。
Lindorm?AI?In-DB?Inference使用介紹
Lindorm AI In-DB Inference功能的使用非常簡單,首先用戶通過一個CREATE MODEL的SQL在數(shù)據(jù)庫中導入模型,指定模型在數(shù)據(jù)庫中或ModelScope/HuggingFace中的路徑,以及對應的CV、NLP任務等信息。然后就可以使用一個SQL函數(shù)指定剛剛導入的模型使用數(shù)據(jù)庫中的數(shù)據(jù)作為輸入進行推理。
利用Lindorm?AI?引擎進行AIGC應用開發(fā)Demo
下面我們以一個室內設計場景作為案例,展示一下如何利用Lindorm AI 引擎來根據(jù)文字生成設計圖,以及切換設計風格。
根據(jù)文本生成設計圖
?? 模型背景
這里我們以ModelScope上的中文StableDiffusion模型為例,演示如何在Lindorm AI 引擎內完成根據(jù)文本生成設計圖。Stable Diffusion是一種AI文本生成圖片的擴散模型,能夠在給定文本輸入的情況下生成逼真的圖像。
???構建步驟
1.?在Lindorm數(shù)據(jù)庫中創(chuàng)建室內設計文本描述表,將用于生成圖片的文本插入到表中,這里我們插入了3條關于室內設計的文字描述:
2.?接下來我們使用Lindorm AI 引擎擴展的CREATE MODEL SQL語法自動從 ModelScope平臺導入中文Stable Diffusion模型:
3.?最后通過SQL調用推理函數(shù) AI_INFER在數(shù)據(jù)庫中使用剛剛導入的模型進行推理,Lindorm會先使用模型根據(jù)文本生成圖片,自動保存成Lindorm內的BLOB對象類型,并返回圖片的下載鏈接:
4.?通過得到的鏈接(備注:上述案例中的鏈接為測試實例所屬VPC內網(wǎng)鏈接,無法通過公網(wǎng)訪問)可以看到生成了三張室內設計圖片。
設計文案
??
新中式風格的家居設計,在傳統(tǒng)中式風格的基礎上,融入了現(xiàn)代時尚的設計理念,打造出一個充滿禪意的中式風格臥室空間。
設計圖
??

設計文案
??
室內設計,開放式,廚房和起居室,模塊化家具與棉織品,木地板,高天花板,大鋼窗,可以看到一個城市。
設計圖
??

設計文案
??
高分辨率攝影室內設計,夢幻般的下沉式客廳,木地板,通向花園的小窗戶,包豪斯家具和裝飾,高天花板,米色藍色鮭魚粉色調,室內設計雜志,舒適的氣氛。
設計圖
??

對設計圖進行風格變換
?? 模型背景
ControlNet是前段時間比較火的能夠對Stable Diffusion生成的圖片進行各種條件控制的模型,這里我們用它來對剛剛生成的幾張設計圖進行風格切換。
???構建步驟
1.?我們使用另外一個表來做演示,表結構設計為包含一個圖片 URL 地址和一個 prompt 字段,用來維護想要對設計風格進行控制的提示詞。我們?yōu)閯倓偵傻?3 張圖片各切換 3 種風格(分別是中式、地中海和工業(yè)風),因此一共得到 9 行數(shù)據(jù)(出于篇幅限制,這里省略了 INSERT 環(huán)節(jié)):
2.?接下來同樣使用SQL從HuggingFace平臺導入ControlNet模型:
3.?同樣,通過調用推理函數(shù)AI_INFER在數(shù)據(jù)庫中使用剛剛導入的模型進行推理,Lindorm會使用img_url對應的圖片以及prompt作為模型輸入,通過模型生成新的圖片,并返回圖片的 URL:
4.?通過鏈接,我們可以看到切換風格后的圖片:

是不是很Easy就在數(shù)據(jù)庫中完成了AIGC?還有更多有趣的用法等待你去嘗試。
未來展望
Lindorm AI 引擎實現(xiàn)了數(shù)據(jù)不出庫,一站式智能處理,可以大大降低AIGC業(yè)務落地的使用門檻。未來我們還會進一步探索如何利用 AI 對非結構化數(shù)據(jù)的分析與處理能力實現(xiàn)多模數(shù)據(jù)的融合分析與處理。我們希望用戶在采用Lindorm構建AIGC應用時,就像用MySQL構建庫存訂單管理一樣簡單!
