演示效果
演示:使用搭建好的工作流,我们在飞书多维表中插入一条记录
下面逐步探究具体实现过程。
需求分析
日常工作中,我们经常会搜集一些资料,方便后期整理和查看。但是手动整理需要一个字段一个字段填写,比较繁琐。
今天我们利用Agent搭建一个工作流,实现:通过粘贴链接自动整理成自己需要的标准化表格,方便清晰的记录搜集的内容,省时省力。
最终达到效果:
架构设计
前置知识
- Coze 扣子
官网:https://www.coze.cn/home
扣子是新一代 AI 应用开发平台。无论你是否有编程基础,都可以在扣子上快速搭建基于大模型的各类 AI 应用,并将 AI 应用发布到各个社交平台、通讯软件,也可以通过 API 或 SDK 将 AI 应用集成到你的业务系统中。
- 智能体
个人理解为:按照配置参数听从指令的"保姆"。将琐碎和重复化为整体,将腐朽化为神奇。
- 工作流
就是从输入到输出的连贯性动作。至少包含开始节点和结束节点。中间环节根据自身需求配置
- 输入输出
上一节点的输出是下一节点的输入
实现描述
1、制作飞书多维电子表格
可自己创建,也可以用先前我创建好的一个模版打开
https://tcntv5zon46z.feishu.cn/wiki/AkPkwkorfiIrYMkvbzTcx6B5nGg?table=tbl2ZVboAiYdNkyY&view=vewZ8tYjhk
效果图如下:
创建完成,记住链接下面会用到,直接将整理好的内容插入这个表格中。
2、登录扣子新建工作流
登录地址:https://www.coze.cn/home
登录效果,在此处添加工作流
3、工作流核心组件介绍
- 功能组件构成
- 核心组件介绍
开始节点
:含输入参数,作为下一步的输入参数
结束节点
:含输出参数,作为最终输出结果
添加按钮
:带有多维可供使用的插件、大模型、工作流 等(根据自己的需求自行选择),详情如下:
试运行
:测试当前环节是否有效,测试整体效果是否满足要求。
简单测试一个url文本分析工具小插件。可以看到试运行成功会显示效果
先有个大致印象,知道各个组件功能,详述会在下边具体介绍使用和配参。
4、url分析小插件使用
1、添加工作流
2、添加url分析插件
3、检测插件是否生效
- 配置参数 url,引用开始环节的入参
注意:这里要把开始环节的线连上,才能在参数中配置url,否则不显示。
- 试运行
显示效果显示,通过插件解析url产生了很多文本,里边包含多样信息。目前插件正常运行。
5、配置大模型进行内容分析
- 配置输入参数
- 配置系统提示词
提示词模版(根据自己的需求设定)
# 内容解析
按下面的格式提取内容
# 内容提取
summary: 摘要
author:作者
keyword:关键词
time:文章发布时间计算的毫秒数
status:状态
minutes:预估阅读时长
text:标题
link:文章链接
url:标题
# 限制
原始输出和最终输出要求一样
- 配置用户提示词
- 配置输出参数
根据需求,这里是一个多维表格的列名称,
因此参数类型我们使用数组 Array<Object>
集合的形式,注意参数类型
- 测试运行效果
运行结果显示,按照我们的要求给出了整理,这里符合预期。
思考:显然我们按照开头多维表格的格式整理出来了,但是如何插入飞书多维表格呢?
6、插件协助插入多维表格
我们添加一个多维表格的插件,主要实现往表格中插入一条记录
需要关注的是:我整理的东西怎么能和这个表格挂钩呢?也就是如何通过这个插件进行转化的问题。
查看下实例插件的输入参数,也就是点击查看实例
可以看到,参数的含义大致如下
{
//我们开始新建表格的url
"app_token": "https://bytedance.larkoffice.com/base/CUB4bbZUXaJFT0sU1Vecn1GunFc?table=tblTLjqChZ1z14dn&view=vew3LMVlRA",
//表格列名,分不同类型,替换成自己的和开始新建的表格对应
"records": [
{
"fields": "{"文本":"文本内容","单选":"选项 1","日期":1674206443000}"
}
],
//表名
"table_name": "数据表",
"user_id_type": "open_id"
}
思考:显然,我们用大模型(内容分析)输出的并不满足这个插件的输入,这时候在来两者之间需要一个桥梁实现json的转化,最终我们要求能有一个这样的json串作为入参。
要求格式如下:
{
"fields": {
"作者": "{{author}}",
"状态": "{{status}}",
"阅读时长": "{{minutes}}",
"日期": {{time}},
"关键词": "{{keyword}}",
"摘要": "{{summary}}",
"标题": {
"link": "{{url.link}}",
"text": "{{url.text}}"
}
}
}
因此我们需要子啊加一个大模型,辅助实现json转化。
这里给出我的系统提示词(供参考,可自定义)
# 角色
你是一个高效的自动化办公表格助手,能够快速整理资料并进行分类,方便个人和团队进行后期检索。
## 技能
### 技能 1:整理资料
3. 输出整理后的 JSON 格式内容。
===回复示例===
解析输入参数中的内容并整理成下面的格式,填充后格式如下
"fields": {
"作者": "{{author}}",
"状态": "{{status}}",
"阅读时长": "{{minutes}}",
"日期": {{time}},
"关键词": "{{keyword}}",
"摘要": "{{summary}}",
"标题": {
"link": "{{url.link}}",
"text": "{{url.text}}"
}
}
===示例结束===
## 限制:
- 注意严格按照我给出的格式取值
- 只是转化,不得修改内容
- 输出内容必须按照文本中解析的结果,不得修改其中的内容,输入几组就展示几组,不能变更和增减,只做转化内容
- 输出内容必须严格按照给定的 JSON 格式,不能有任何偏差。
查看测试效果,OK啦
截止目前,就差最后一步插入表格中。
7、使用飞书多维表格中add_records插入
需要添加一个插件add_records
第一次运行需要授权,按提示操作就行
显示授权成功,即可整体测试运行。
最终运行效果
工作流演示
表格显示
总结
踩坑1:第一次运行工作流需要授权,看运行结果提示操作即可
踩坑2:注意表格中参数类型,如果遇到参数类型运行错误的,
请参考该接口官方说明文档:https://open.feishu.cn/document/server-docs/docs/bitable-v1/app-table-record/create
这里给出不同类型的字段具体参数格式
踩坑3: 最好每增加一个节点就测试一个,即做好单元测试。