一念生花,Coze 結(jié)合VisActor 文生圖實戰(zhàn)總結(jié)
共 6374字,需瀏覽 13分鐘
·
2024-08-02 23:40
前言
詞云魔方
逢年過節(jié)發(fā)送祝福語是中國人特有的禮節(jié),然而準備拜年祝福語也是讓人傷透腦筋,大多數(shù)人都是拷貝網(wǎng)絡(luò)上流行的“段子”,改一下名字就發(fā)出來了。更有甚者連名字都不改,略顯尷尬。
但是如果可以讓 AI 總結(jié)你想對特定對象說的祝福語,并生成一張專屬詞云呢?
今年過年期間還有一個男性朋友們最憂愁喜歡的節(jié)日——情人節(jié),送上一張情人節(jié)卡片,是不是可以瞬間拉升甜蜜感呢?
通過 Coze、VisActor 兩大套件的加持,我們使用2天時間,快速實現(xiàn)了基于對話生成詞云的智能體——“詞云魔方”。
Coze 是什么?
Coze 是新一代的 AI 機器人開發(fā)平臺,可以理解為字節(jié)跳動版的GPTs。無論用戶是否有編程經(jīng)驗,都可以通過該平臺快速創(chuàng)建各種類型的聊天機器人、智能體、AI應(yīng)用和插件,并將其部署在社交平臺和即時聊天應(yīng)用程序中。
只要你有想法,都可以用扣子快速、低門檻搭建專屬于你的 Chatbot,并一鍵發(fā)布到豆包、飛書、微信服務(wù)號,或者海外的 Discord、WhatsApp、Twitter 等各個渠道。
VisActor 是什么?
VisActor 是從字節(jié)跳動大量可視化場景沉淀而來。在覆蓋常規(guī)可視化場景的同時,以敘事可視化為新的著力點,以智能可視化為目標,形成了包括渲染引擎、可視化語法、數(shù)據(jù)分析組件、圖表組件、表格組件、GIS組件、圖可視化組件、智能組件等多個模塊以及周邊生態(tài)組成的可視化解決方案。
作為一個完備的解決方案,VisActor在可視化完整流程的各個關(guān)鍵節(jié)點提供能力支持。完整介紹可以參考VisActor——面向敘事的智能可視化解決方案 - 掘金。
其中 VMind 是VisActor 解決方案中負責智能可視化的模塊,目前已經(jīng)實現(xiàn)基于大語言模型做圖表智能推薦和生成的基礎(chǔ)能力。
功能設(shè)計
因為距離春節(jié)放假只有兩天時間,時間緊任務(wù)重,所以我們將詞云魔方的功能鎖定在春節(jié)和情人節(jié)。功能面向?qū)嵱茫_發(fā)成本最小,可以快速上線來設(shè)計。
展現(xiàn)形式
-
展現(xiàn)形式只支持詞云,詞云模版支持如下幾種:
用戶交互
計劃支持的用戶prompt:
-
制作一個送給“女朋友”的情人節(jié)詞云 -
給我生成一個拜年詞云 -
以“xxx”為核心詞生成一個拜年詞云 -
以“xxx”為核心詞,以“xx給您拜年了”為標題生成一個詞云
生成產(chǎn)物
生成靜態(tài)圖片,如果還有多余時間,嘗試生成gif和短視頻。
技術(shù)方案
對上述功能進行拆解,我們要解決如下幾個核心問題:
-
詞云渲染 -
詞云代碼生成 -
用戶意圖理解 -
Bot 創(chuàng)建與管理
結(jié)合Coze 與 VisActor現(xiàn)有能力,我們快速設(shè)計了如下解決方案:
功能實現(xiàn)
詞云渲染
@VisActor/VChart 提供了完備的詞云自定義和渲染能力(參考:https://www.visactor.io/vchart/demo/word-cloud-chart/word-cloud-shape-rotate),可以直接在 VChart 官網(wǎng)站點(https://visactor.com/)上進行詞云效果的測試。
通過VChart提供的exportImg或getImageBuffer方法,我們可以將圖表保存為圖片。
調(diào)試好的 VChart spec,我們會集成到VMind Service 的內(nèi)部邏輯,作為內(nèi)置模版。
VMind Service
VMind 本身具備根據(jù)數(shù)據(jù)自動推斷圖表類型,并智能生成spec 的能力,但是本次任務(wù)需要對結(jié)果進行約束,VMind node 服務(wù)對VMind 組件進行了一層封裝,只允許VMind 在我們規(guī)定的詞云模版中進行選擇生成。
一個基礎(chǔ)的詞云模板需要包含其詞云形狀所對應(yīng)的圖片信息、背景圖片、動畫效果以及尺寸等信息,其類型聲明為:
export interface WordCloudTemplate {
type: WordCloudType
size: '2*3' | '1*1' | '3*2' | '9*5';
width: number,
height: number,
maskShape: string[];
maskShapeURL: string[];
background: string[];
backgroundURL: string[];
animation: any[];
spec: any;
}
Service 對外暴露統(tǒng)一的詞云生成接口:
generateWordCloud(fillingWords, title, WordCloudType.NEW_YEAR)
VMind 會根據(jù)傳入的參數(shù)自動生成VChart spec,并調(diào)用VChart 渲染圖片,上傳到cdn,返回圖片地址給 Coze 的wordcloud 插件。
插件開發(fā)
coze平臺提供了“插件”能力。一個插件就是一系列的外部API,bot在后續(xù)交互中將在合適的時機調(diào)用插件,并使用插件返回的結(jié)果完成后續(xù)任務(wù)。在coze插件商店中,展示了當前可用的插件。
詞云魔方使用了wordcloud插件進行詞云繪制,可在插件商店通過搜索進行訪問。
創(chuàng)建服務(wù)
Coze 插件依賴調(diào)用后端服務(wù)來完成功能,我們創(chuàng)建了wordcloud插件對應(yīng)的node服務(wù),該服務(wù)調(diào)用VMind Service 來完成具體的任務(wù)。
wordcloud插件包含以下三個工具,分別對應(yīng)node端的3個API;每種工具負責生成一種主題的詞云:
//新年主題
@Post('/generateNewYearWordCloud')
public async generateNewYearWordCloud(@Body('fillingWords') fillingWords?: string, @Body('title') title?: string) {
return this.generateWordCloud(fillingWords, title, WordCloudType.NEW_YEAR)
}
//情人節(jié)主題
@Post('/generateValentineWordCloud')
public async generateValentineWordCloud(@Body('fillingWords') fillingWords?: string, @Body('title') title?: string) {
return this.generateWordCloud(fillingWords, title, WordCloudType.VALENTINE)
}
//通用主題
@Post('/generateCommonWordCloud')
public async generateCommonWordCloud(@Body('fillingWords') fillingWords?: string, @Body('title') title?: string) {
return this.generateWordCloud(fillingWords, title, WordCloudType.COMMON)
}
每個API會接收 VMind Service 返回的圖片鏈接,傳遞給bot。
創(chuàng)建插件
我們也可以開發(fā)自己的插件并將其上傳到插件市場。點擊“創(chuàng)建插件”按鈕,輸入插件名稱、插件描述和插件調(diào)用地址。注意插件名稱和描述將會傳遞給大模型,使用清晰、準確的名稱和描述將有助于模型理解插件的用途,提高調(diào)用插件的準確率。
創(chuàng)建插件后,需要繼續(xù)創(chuàng)建工具,供模型進行調(diào)用。插件是具有相同url的API的集合,一個工具就是一個具體的API,是供模型調(diào)用的最小單位。模型通過“插件名稱.工具名稱”的形式進行插件調(diào)用。點擊右上角的“創(chuàng)建工具”按鈕,輸入工具名稱、工具描述、工具路徑,以及工具的輸入和輸出參數(shù),并進行調(diào)試與校驗。注意在調(diào)試通過后才能進行插件的發(fā)布。
插件需要發(fā)布后才能供bot使用。點擊插件詳情頁的“發(fā)布”按鈕,可對插件進行發(fā)布。
插件添加與調(diào)試
插件發(fā)布后,需要添加到bot中才能進行使用。在bot編輯頁面,點擊“技能”欄目中的“添加插件”,我可能可以為bot添加插件:
將wordcloud插件下的三個工具添加到bot中,我們可以在右側(cè)的“預(yù)覽與調(diào)試”欄目與bot進行對話,測試bot能否成功調(diào)用插件。
模型調(diào)用插件時會有相關(guān)的提示,點擊可展開查看插件調(diào)用細節(jié)。我們可以檢查模型調(diào)用的工具類型、參數(shù)、返回值是否符合預(yù)期,并通過編輯prompt和插件信息進行相關(guān)調(diào)整,使模型能夠準確調(diào)用插件完成相關(guān)任務(wù)。
提示詞設(shè)計
在編輯頁面左側(cè)的“人設(shè)與回復(fù)邏輯”文本框中可以輸入系統(tǒng)級別的prompt,設(shè)定bot的人設(shè)與回復(fù)邏輯。在prompt中,可以告訴大語言模型與當前bot相關(guān)的上下文,例如bot的語言風格,所擁有的技能,可調(diào)用的插件等,還可以引導模型一步步完成任務(wù)、添加限制等。bot將會使用相關(guān)的上下文與用戶進行交互,使用prompt中所提及的技能,遵循相關(guān)約束,并在合適的時機調(diào)用插件完成任務(wù)。
點擊右上角的“優(yōu)化”按鈕,還可調(diào)用大語言模型優(yōu)化當前的prompt。
在bot編輯頁面中間的“技能”欄目中,我們可以為bot指定插件、工作流等外部資源;在“記憶”欄目中,可以添加知識庫和長期記憶選項。在“高級”欄目中,我們可以為bot設(shè)置開場白和預(yù)置問題,這將會在用戶第一次打開bot時進行展示。我們可以在其中教會用戶如何使用你的bot,并進行一定的引導。
Bot 創(chuàng)建
登錄coze平臺,點擊左上角的“創(chuàng)建Bot”,輸入Bot名稱和功能介紹,并上傳頭像。還可點擊AI生成按鈕,根據(jù)描述生成一張頭像。
創(chuàng)建成功后進入bot編輯頁面。
Bot 發(fā)布
bot調(diào)試完成后,我們可以點擊右上角的“發(fā)布”按鈕,輸入相關(guān)信息,將bot發(fā)布到相關(guān)平臺。我們還可以勾選“提交到扣子Bot商店”,使更多人可以使用你的bot。
我們可以在下面的鏈接體驗詞云魔方:
-
https://www.coze.cn/store/bot/7338692117402927145
上線體驗
發(fā)布到Coze 和 豆包之后,就可以邀請朋友來體驗了!
總結(jié)展望
Coze 開發(fā)體驗
Coze平臺提供了這樣一個開放的環(huán)境,用戶可以在這里快速搭建自己的bot,無論是用于工作便利,還是個人娛樂。同時,用戶還能將自己的bot發(fā)布到coze商店、豆包等平臺,分享自己的創(chuàng)新和智慧。
整個體驗下來,Coze 提供了最簡潔的方式,基本可以無腦搭建簡單的bot。對于復(fù)雜的功能,還是需要用戶有一定的 編碼能力的。
期待Coze 后續(xù)的插件市場更加豐富,編排能力也更加強大。
VMind 與詞云魔方未來規(guī)劃
由于時間關(guān)系,詞云魔方只是使用了VMind 及VisActor其他組件的一小部分能力。未來我們將添加各種各樣的主題模板,如節(jié)日、生肖等,給用戶的創(chuàng)作提供更多可能和靈感。同時,我們還將支持生成GIF動圖,讓詞云展現(xiàn)出獨特的動態(tài)效果,使其具有更強的視覺沖擊力和表達力。
當然,我們也會突破詞云的限制,將詞云魔方升級成為“卡片魔方”,可以生成使用范圍更廣,效果更驚艷的作品。同時也借此,整體推動VMind的升級,使其更加智能化,在代碼生成,圖表配置,自動美化,故事編排等各個方面都能有質(zhì)的提升,并通過開源服務(wù)更多的開發(fā)者。
相關(guān)鏈接:
Coze:https://www.coze.cn/
詞云魔方:https://www.coze.cn/store/bot/7338692117402927145(點擊原文鏈接,可以跳轉(zhuǎn))
VisActor:https://www.visactor.io/
VMind:https://www.visactor.io/vmind
VChart:https://www.visactor.io/vchart
歡迎star:https://github.com/VisActor/VMind
https://github.com/VisActor/VChart
