carefree0910/carefree-drawboard: ?? Infinite Drawboard in Python (github.com)https://github.com/carefree0910/carefree-drawboard最近,AIGC 可謂是大火而特火,然而現(xiàn)在大家一般都在用 Gradio / Streamlit 寫 demo,一方面無法作為企業(yè)級(jí)產(chǎn)品去服務(wù)客戶,另一方面也感覺比較東一塊西一塊,很難形成“合力”。咱中國的發(fā)燒友那么多,試想一下,如果大家的貢獻(xiàn)都能集中在同一個(gè)產(chǎn)品里,那將會(huì)打造出一款多么極致的產(chǎn)品!
所以我最近開源了一個(gè)項(xiàng)目:carefree-drawboard,主打的就是「無限畫板」的形態(tài),然后每個(gè) AI 功能都是一個(gè)「插件」。這樣一來,即使有幾十上百、甚至上千的插件,都可以集中在同一個(gè)「無限畫板」產(chǎn)品中,從而達(dá)成“合力”的愿景。如果再把想象力放開一些,我會(huì)把它定義成 AI / AIGC 的操作系統(tǒng):每項(xiàng) AI / AIGC 能力都是這個(gè)操作系統(tǒng)的軟件,用戶可以選擇安裝/卸載它們;甚至之后可以有 Market Space,用戶可以對(duì)軟件進(jìn)行交易/評(píng)價(jià)。
目前我已經(jīng)寫了一個(gè) AIGC “基礎(chǔ)版”的公網(wǎng)示例,猛戳這里即可體驗(yàn),這是它涵蓋的功能:
- 文生圖(Text to Image)
- 墊圖生成(Image to Image)
- 生成相似圖(Variation generation)
- 超分辨率 / 圖片變高清(Super Resolution)
- 摳圖(Image Matting)
- 生成圖片描述(Image Captioning)
- 局部消除(Inpainting)
- 局部替換(Stable Diffusion Inpainting)
- 圖像外延(Stable Diffusion Outpainting)
如果大家對(duì) AIGC 比較熟悉,應(yīng)該都聽說過上述功能。但是,你聽說過把這些功能都整合在一起,而且整個(gè)產(chǎn)品界面還非常干凈、非常沉浸式的產(chǎn)品嗎?
WebUI 其實(shí)算一個(gè),不過個(gè)人感覺 ta 還是偏 demo,而且——
再加上,如果這些功能,都僅需小幾百行 Python 代碼——而且大部分代碼都是“樣式”代碼——就能加到產(chǎn)品里呢?
這就是本項(xiàng)目的目標(biāo):通過把 AI 功能抽象成插件的方式,我們能做到聲明式地定義插件樣式、并把核心算法邏輯封裝成單一的函數(shù)。再加上把數(shù)據(jù)結(jié)構(gòu)定義得足夠通用后,就能在同一套數(shù)據(jù)結(jié)構(gòu)上進(jìn)行不同的算法處理,繼而完成無限畫板與 Python 間的通信。
文章開頭有說到,現(xiàn)有的 Gradio / Streamlit 產(chǎn)出的東西都偏 demo;這么說自然是因?yàn)?,我們自信本?xiàng)目產(chǎn)出的產(chǎn)品是企業(yè)級(jí)的產(chǎn)品,是有巨大潛力的——事實(shí)上,基于本項(xiàng)目的產(chǎn)品已經(jīng)在服務(wù)一些 Big Name,同時(shí)也產(chǎn)生了可觀的現(xiàn)金流。以下是我們服務(wù)過程中遇到的常見場(chǎng)景:
- AIGC 教育輔助工具
- AI 編程 / 少兒編程 / 低代碼編程課的載體
- 專業(yè)級(jí) AIGC OEM / SaaS 交付
- 專業(yè)級(jí) MVP 構(gòu)建
這篇文章算是一個(gè)簡介和宣傳,后面我會(huì)陸續(xù)更新本項(xiàng)目的技術(shù)細(xì)節(jié)。然后如果大家仍有興趣,在這文章的最后,我來簡單說明一下為什么這個(gè)項(xiàng)目能以相對(duì)優(yōu)雅的方式容納這么多的功能。以我上面貼出來的這個(gè)示例產(chǎn)品為例:
- 一開始其實(shí)我們只能接觸到“文生圖”的功能(在屏幕右邊中間)
- 只有在選中了某張圖片之后,圖片的右上角才會(huì)出現(xiàn)一個(gè)“插件組”,點(diǎn)擊它將會(huì)展開一系列“圖片插件”:圖片變高清,摳圖,墊圖生成,生成圖片描述等
- 讓畫板上有圖片的方法有三種:一種是把圖片直接拖到畫板上,一種是點(diǎn)擊右上角的+,里面有個(gè)“添加圖片”的按鈕,還有一種就是把圖片用“文生圖”生成出來
- 只有當(dāng)用戶點(diǎn)擊了右上角的“筆刷”功能、并在某張圖片上畫了一個(gè)蒙版區(qū)域、并且同時(shí)選中圖片和蒙版之后,選中節(jié)點(diǎn)的右上角才會(huì)出現(xiàn)一個(gè)“插件組”,點(diǎn)擊它將會(huì)展開 inpainting 等功能
- 只有當(dāng)用戶點(diǎn)擊右上角的+并點(diǎn)擊了里面“添加空白畫布”的按鈕之后,才會(huì)在空白畫布的右上角出現(xiàn)一個(gè)“插件組”,里面有 outpainting 的功能。注意,只有在這個(gè)空白畫布位于某張圖片的下方時(shí),才能使 outpainting 功能生效
所以我們看到,之所以產(chǎn)品能這么干凈,是因?yàn)槲覀冎С忠环N“智能自適應(yīng)”:當(dāng)某些特定條件被滿足時(shí),插件才會(huì)出現(xiàn),而且可以跟隨用戶選中的節(jié)點(diǎn)。這提供了其它產(chǎn)品提供不了的沉浸式體驗(yàn)。
當(dāng)然你可能會(huì)憂慮:這樣會(huì)不會(huì)把功能藏太深了?我們已經(jīng)考慮到了這一點(diǎn):事實(shí)上,你也完全可以把功能平鋪在屏幕的某個(gè)地方,這樣就和一般產(chǎn)品別無二致。我們只是提供了“智能自適應(yīng)”的可能性,而是否用、用到何種程度,其實(shí)你都可以根據(jù)你對(duì)產(chǎn)品形態(tài)的期望來制定。
最后再貼一下項(xiàng)目地址:文章來源:http://www.zghlxwxcb.cn/news/detail-484461.html
carefree0910/carefree-drawboard: ?? Infinite Drawboard in Python (github.com)https://github.com/carefree0910/carefree-drawboard期待各位觀眾老爺?shù)囊庖娕c建議??!文章來源地址http://www.zghlxwxcb.cn/news/detail-484461.html
到了這里,關(guān)于用 Python 打造 AIGC 的「操作系統(tǒng)」的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!