一念生花,Coze 结合VisActor 文生图实战总结

news2024/11/14 15:07:11

前言

词云魔方

逢年过节发送祝福语是中国人特有的礼节,然而准备拜年祝福语也是让人伤透脑筋,大多数人都是拷贝网络上流行的“段子”,改一下名字就发出来了。更有甚者连名字都不改,略显尴尬。

但是如果可以让 AI 总结你想对特定对象说的祝福语,并生成一张专属词云呢?

今年过年期间还有一个男性朋友们最忧愁喜欢的节日——情人节,送上一张情人节卡片,是不是可以瞬间拉升甜蜜感呢?

通过 Coze、VisActor 两大套件的加持,我们使用2天时间,快速实现了基于对话生成词云的智能体——“词云魔方”。下面的视频可以带你快速学会如何通过聊天的方式生成福气满满的新年祝福词云:

jvideo

Coze 是什么?

Coze 是新一代的 AI 机器人开发平台,可以理解为字节跳动版的GPTs。无论用户是否有编程经验,都可以通过该平台快速创建各种类型的聊天机器人、智能体、AI应用和插件,并将其部署在社交平台和即时聊天应用程序中。

只要你有想法,都可以用扣子快速、低门槛搭建专属于你的 Chatbot,并一键发布到豆包、飞书、微信服务号,或者海外的 Discord、WhatsApp、Twitter 等各个渠道。

VisActor 是什么?

VisActor 是从字节跳动大量可视化场景沉淀而来。在覆盖常规可视化场景的同时,以叙事可视化为新的着力点,以智能可视化为目标,形成了包括渲染引擎、可视化语法、数据分析组件、图表组件、表格组件、GIS组件、图可视化组件、智能组件等多个模块以及周边生态组成的可视化解决方案。

作为一个完备的解决方案,VisActor在可视化完整流程的各个关键节点提供能力支持。完整介绍可以参考VisActor——面向叙事的智能可视化解决方案 - 掘金。

其中 VMind 是VisActor 解决方案中负责智能可视化的模块,目前已经实现基于大语言模型做图表智能推荐和生成的基础能力。

功能设计

因为距离春节放假只有两天时间,时间紧任务重,所以我们将词云魔方的功能锁定在春节和情人节。功能面向实用,开发成本最小,可以快速上线来设计。

展现形式

  1. 展现形式只支持词云,词云模版支持如下几种:

用户交互

计划支持的用户prompt:

  1. 制作一个送给“女朋友”的情人节词云
  2. 给我生成一个拜年词云
  3. 以“xxx”为核心词生成一个拜年词云
  4. 以“xxx”为核心词,以“xx给您拜年了”为标题生成一个词云

生成产物

生成静态图片,如果还有多余时间,尝试生成gif和短视频。

技术方案

对上述功能进行拆解,我们要解决如下几个核心问题:

  • 词云渲染
  • 词云代码生成
  • 用户意图理解
  • Bot 创建与管理

结合Coze 与 VisActor现有能力,我们快速设计了如下解决方案:

功能实现

词云渲染

@VisActor/VChart 提供了完备的词云自定义和渲染能力(参考:https://www.visactor.io/vchart/demo/word-cloud-chart/word-cloud-shape-rotate),可以直接在 VChart 官网站点(https://visactor.com/)上进行词云效果的测试。

通过VChart提供的exportImg或getImageBuffer方法,我们可以将图表保存为图片。

调试好的 VChart spec,我们会集成到VMind Service 的内部逻辑,作为内置模版。

VMind Service

VMind 本身具备根据数据自动推断图表类型,并智能生成spec 的能力,但是本次任务需要对结果进行约束,VMind node 服务对VMind 组件进行了一层封装,只允许VMind 在我们规定的词云模版中进行选择生成。

一个基础的词云模板需要包含其词云形状所对应的图片信息、背景图片、动画效果以及尺寸等信息,其类型声明为:

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 对外暴露统一的词云生成接口:

generateWordCloud(fillingWords, title, WordCloudType.NEW_YEAR)

VMind 会根据传入的参数自动生成VChart spec,并调用VChart 渲染图片,上传到cdn,返回图片地址给 Coze 的wordcloud 插件。

插件开发

coze平台提供了“插件”能力。一个插件就是一系列的外部API,bot在后续交互中将在合适的时机调用插件,并使用插件返回的结果完成后续任务。在coze插件商店中,展示了当前可用的插件。

词云魔方使用了wordcloud插件进行词云绘制,可在插件商店通过搜索进行访问。

创建服务

Coze 插件依赖调用后端服务来完成功能,我们创建了wordcloud插件对应的node服务,该服务调用VMind Service 来完成具体的任务。

wordcloud插件包含以下三个工具,分别对应node端的3个API;每种工具负责生成一种主题的词云:

//新年主题
@Post('/generateNewYearWordCloud')
  public async generateNewYearWordCloud(@Body('fillingWords') fillingWords?: string, @Body('title') title?: string) {
    return this.generateWordCloud(fillingWords, title, WordCloudType.NEW_YEAR)
  }
  
  //情人节主题
  @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。

创建插件

我们也可以开发自己的插件并将其上传到插件市场。点击“创建插件”按钮,输入插件名称、插件描述和插件调用地址。注意插件名称和描述将会传递给大模型,使用清晰、准确的名称和描述将有助于模型理解插件的用途,提高调用插件的准确率。

创建插件后,需要继续创建工具,供模型进行调用。插件是具有相同url的API的集合,一个工具就是一个具体的API,是供模型调用的最小单位。模型通过“插件名称.工具名称”的形式进行插件调用。点击右上角的“创建工具”按钮,输入工具名称、工具描述、工具路径,以及工具的输入和输出参数,并进行调试与校验。注意在调试通过后才能进行插件的发布。

插件需要发布后才能供bot使用。点击插件详情页的“发布”按钮,可对插件进行发布。

插件添加与调试

插件发布后,需要添加到bot中才能进行使用。在bot编辑页面,点击“技能”栏目中的“添加插件”,我可能可以为bot添加插件:

将wordcloud插件下的三个工具添加到bot中,我们可以在右侧的“预览与调试”栏目与bot进行对话,测试bot能否成功调用插件。

模型调用插件时会有相关的提示,点击可展开查看插件调用细节。我们可以检查模型调用的工具类型、参数、返回值是否符合预期,并通过编辑prompt和插件信息进行相关调整,使模型能够准确调用插件完成相关任务。

提示词设计

在编辑页面左侧的“人设与回复逻辑”文本框中可以输入系统级别的prompt,设定bot的人设与回复逻辑。在prompt中,可以告诉大语言模型与当前bot相关的上下文,例如bot的语言风格,所拥有的技能,可调用的插件等,还可以引导模型一步步完成任务、添加限制等。bot将会使用相关的上下文与用户进行交互,使用prompt中所提及的技能,遵循相关约束,并在合适的时机调用插件完成任务。

点击右上角的“优化”按钮,还可调用大语言模型优化当前的prompt。

在bot编辑页面中间的“技能”栏目中,我们可以为bot指定插件、工作流等外部资源;在“记忆”栏目中,可以添加知识库和长期记忆选项。在“高级”栏目中,我们可以为bot设置开场白和预置问题,这将会在用户第一次打开bot时进行展示。我们可以在其中教会用户如何使用你的bot,并进行一定的引导。

Bot 创建

登录coze平台,点击左上角的“创建Bot”,输入Bot名称和功能介绍,并上传头像。还可点击AI生成按钮,根据描述生成一张头像。

创建成功后进入bot编辑页面。

Bot 发布

bot调试完成后,我们可以点击右上角的“发布”按钮,输入相关信息,将bot发布到相关平台。我们还可以勾选“提交到扣子Bot商店”,使更多人可以使用你的bot。

我们可以在下面的链接体验词云魔方:

  • https://www.coze.cn/store/bot/7338692117402927145

上线体验

发布到Coze 和 豆包之后,就可以邀请朋友来体验了!

总结展望

Coze 开发体验

Coze平台提供了这样一个开放的环境,用户可以在这里快速搭建自己的bot,无论是用于工作便利,还是个人娱乐。同时,用户还能将自己的bot发布到coze商店、豆包等平台,分享自己的创新和智慧。

整个体验下来,Coze 提供了最简洁的方式,基本可以无脑搭建简单的bot。对于复杂的功能,还是需要用户有一定的 编码能力的。

期待Coze 后续的插件市场更加丰富,编排能力也更加强大。

VMind 与词云魔方未来规划

由于时间关系,词云魔方只是使用了VMind 及VisActor其他组件的一小部分能力。 未来我们将添加各种各样的主题模板,如节日、生肖等,给用户的创作提供更多可能和灵感。同时,我们还将支持生成GIF动图,让词云展现出独特的动态效果,使其具有更强的视觉冲击力和表达力。

当然,我们也会突破词云的限制,将词云魔方升级成为“卡片魔方”,可以生成使用范围更广,效果更惊艳的作品。同时也借此,整体推动VMind的升级,使其更加智能化,在代码生成,图表配置,自动美化,故事编排等各个方面都能有质的提升,并通过开源服务更多的开发者。


相关链接:

Coze:https://www.coze.cn/

词云魔方:https://www.coze.cn/store/bot/7338692117402927145

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


本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1480284.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

18个惊艳的可视化大屏(第十辑):物流运输快递方向

可视化大屏在物流运输行业中具有很大的应用价值,可以帮助企业实现实时监控、路线规划、数据分析、风险预警、服务质量监控和决策支持等目标,提高物流运输效率和安全性,降低成本,提升企业竞争力,贝格前端工场带来的和这…

跨国企业如何选择合格的国际数据业务传输方案

在全球化的商业环境中,跨国企业面临着数据跨境传输的挑战。随着业务的扩展,企业需要在不同国家和地区之间高效、安全地传输大量数据。选择合适的国际数据业务传输方案对于保障数据安全、提高业务效率、遵守法律法规至关重要。 为什么跨国企业需要一个合适…

CentOS 定时调度

文章目录 一、场景说明二、脚本职责三、参数说明四、操作示例五、注意事项 一、场景说明 本自动化脚本旨在为提高研发、测试、运维快速部署应用环境而编写。 脚本遵循拿来即用的原则快速完成 CentOS 系统各应用环境部署工作。 统一研发、测试、生产环境的部署模式、部署结构、…

蓝桥杯练习系统(算法训练)ALGO-994 最大分解

资源限制 内存限制:256.0MB C/C时间限制:1.0s Java时间限制:3.0s Python时间限制:5.0s 问题描述 给出一个正整数n,求一个和最大的序列a0,a1,a2,……,ap&#xff…

案例研究|DataEase助力众陶联应对产业链数据可视化挑战

佛山众陶联供应链服务有限公司(以下简称为“众陶联”)成立于2016年,是由34家陶瓷企业共同创办的建陶行业工业互联网平台,股东产值占整个行业的22.5%。众陶联以数据赋能为核心,积极探索新的交易和服务模式,构…

安达发|APS自动排程软件的三种模式

APS自动排程软件是一种用于生产计划和调度的工具,它可以帮助制造企业实现生产过程的优化和效率提升。根据不同的需求和应用场景,APS自动排程软件通常有三种模式:基于模拟仿真模式、基于TOC的模式和扩展以及基于数学建模。下面我将详细介绍这三…

小程序开发:app.vue检测更新时判断是否是朋友圈进入

因为如果从朋友圈点进小程序来的,有些功能就用不了,所以需要判断下是否从朋友圈点进来的。 检查代码如下: checkScene() { // 判断场景值 如果是从分享到朋友圈再打开 就会有一些功能无法使用 // 详见 https://developers.weixin.qq.com/…

Nodejs 第四十三章(redis)

Redis(Remote Dictionary Server)是一个开源的内存数据结构存储系统,它提供了一个高效的键值存储解决方案,并支持多种数据结构,如字符串(Strings)、哈希(Hashes)、列表&a…

【机器学习实战1】泰坦尼克号:灾难中的机器学习(一)数据预处理

🌸博主主页:釉色清风🌸文章专栏:机器学习实战🌸今日语录:不要一直责怪过去的自己,她曾经站在雾里也很迷茫。 🌼实战项目简介 本次项目是kaggle上的一个入门比赛 :Titani…

QML中动态表格修改数据

1.qml文件中的实现代码 import QtQuick 2.15 import QtQuick.Window 2.15import QtQuick.Controls 2.0 import Qt.labs.qmlmodels 1.0 import QtQuick.Layouts 1.15Window {width: 640height: 480visible: truetitle: qsTr("Hello World")TableModel{id:table_model…

Freesia项目目录结构

目录结构 前端目录: (目录结构来自layui-vue-admin) src文件下 api(前端请求后端服务的路由)assert(一些内置或必要的资源文件)layouts(全局框架样式组件)router&…

Facebook的数字治理挑战:社交平台的未来模式

在当今数字化时代,社交媒体平台已经成为人们日常生活的重要组成部分,而Facebook作为其中最具代表性的平台之一,其承载的社交功能和影响力已经不可小觑。然而,随着社交媒体的普及和发展,一系列数字治理挑战也随之而来&a…

git项目推荐 maku-boot低代码开发项目推荐

介绍项目 项目仓库地址 官方gitee,这是他的官网 用于做二次开发的脚手架在合适不过 后端框架采用 springboot3,security6,Mybatisplus2,jdk,各种oss的集合,判断ip地址等监控,用来作为源码学习和二次开发都是很好的教材 代码基本都是mvc的二次封装,便于理解 代码模块 启…

初学JavaWeb开发总结

0 什么是Web开发 Web: 全球广域网,又称万维网(www World Wide Web),能够通过浏览器访问的网站。 Web开发,就是开发网站的,如:淘宝、京东等等。 1 网站的工作流程 流程: 浏览器先向前端服务器请求前端资…

李修思将出席工业循环水节水减排提标降碳新技术推广及应用

演讲嘉宾:李修思 技术总监 山东海能环境技术有限公司 演讲题目:工业循环水节水减排提标降碳新技术推广及应用 会议简介 “十四五”规划中提出,提高工业、能源领城智能化与信息化融合,明确“低碳经济”新的战略目标,…

Axure导入使用ElementUI组件库

在使用Axure进行UI设计时,我们可能导入ElementUI组件库或者一些其他的元件库,其实非常简单,如果你还没有装好Axure可以先安装好AxureRP9汉化版,接下来,我们以AxureRP9汉化版来演示如何导入ElementUI组件库。 第一步&a…

搭建LNMP环境并搭建论坛和博客

目录 一、LNMP架构原理 二、编译安装Nginx 三、编译安装MySQL 四、编译安装PHP 五、配置Nginx支持PHP解析 六、安装论坛 七、安装博客 一、LNMP架构原理 LNMP架构,是指在Linux平台下,由运行Nginx的web服务器,运行PHP的动态页面解析程序…

光伏储能MPPT控制系统如何进行浪涌静电保护?

MPPT(Maximum Power Point Tracking)是太阳能电池板光伏发电系统中重要的一种控制技术。MPPT控制器能够实时侦测太阳能板的发电电压,并追踪最高电压电流值(VI),使系统以最大功率输出对蓄电池充电&#xff0…

Sophon AutoCV推动AI应用从模型生产到高效落地

随着技术市场和应用方向的逐渐成熟,人工智能与各行各业的结合和落地逐渐进入了深水区。 虽然由于行业规模化和应用普及度的限制,人工智能在“传统”行业的落地不如消费互联网行业,但是借助人工智能为“传统”行业的发展注入新能量一直是相关…

5_怎么看原理图之协议类接口之NAND Flash笔记

NAND Flash原理图: 由NAND Flash的原理图可以看出,做为一个存储芯片,只有I/O引脚,并没有地址引脚,怎么传地址?遵循一定的规范,先通过LDATA把地址传出去,再传数据。具体的需要查看芯片…