点击上方卡片关注 不要错过精彩文章
读完这篇文章,别忘记给舰长点一个关注!舰长的智能体搭建文章,不仅是节点的构建,也有思路的分享。智能体搭建最重要的就是思路。最希望,能给大家带来不一样的搭建思路和方法。
点一点上方的🔵蓝色小字关注,你的支持是我最大的动力!🙏谢谢啦!🌟"
大家好,我是舰长🙏
今天来教大家如何用RPA来控制coze工作流,实现api接口运行,让工作效率翻倍
废话不多说,直接开始今天的分享
一、http请求
什么是http请求?
http请求就是通过客户端(通常是 web 浏览器)向服务器发送请求,服务器接收到请求后,返回相应的资源。这些资源可以是网页、图像、音频文件、视频等。
在影刀中,他是这样的形式
可以看到http请求中,有方法、url、协议头和协议体。
这边对着四个输入量进行解释一下
方法(必填)
方法:GET/POST/CONNECT/HEAD/PUT/DELETE/OPTIONS/TRACE/PATCH,其中常用的是get/post
- GET:请求从服务器获取指定资源。这是最常用的方法,用于访问页面。
- POST:请求服务器接受并处理协议体中的数据,通常用于表单提交。
URL(必填)
输入或选择待请求的URL地址(网页地址)
协议头(必填)
设置 HTTP 协议头,支持多行,每行格式为"协议头名称:协议头内容",如:"Header1:Value"
协议体(选填,一般post请求使用)
设置待发送到服务器的内容,支持多行,根据不同类型的请求,填写不同格式的值
以上概念大家了解一下即可
二、如何使用http请求调用coze工作流
首先
打开coze,按下图打开执行工作流
打开后,我们重点关注下左侧的三个红框框住的输入框:token,Body params,parameters。三个量
token就是我们的coze的api接口的密钥
Body params就是我们需要调用的工作流的id(下文会详细讲解)
parameters就是我们工作流要输入的内容,也就是我们在开始节点的输入变量
token的获取
如何获取token?
点击授权,找到个人访问令牌,点击添加新令牌
注意:此处步骤务必看完以下图文讲解操作
重点
点击确定后,出现的两个红框中,一个是密钥的名称,另一个是密钥只会出现一次,务必要复制下来,务必要复制下来,务必要复制下来,务必要复制下来!
到此,token已经获取。
Body params 和 parameters 的获取
Body params
我们打开需要调用的工作流(已经发布过的工作流),红框中的数字,就是我们的工作流ID,我们把它复制下来
parameters
点击开始节点,输入中的变量名就是我们工作流要输入的内容
这里我搭建的是一套简单流程,复杂的流程里开始节点的输入变量会很多,我们全部输入进去
三、http请求格式获取
回到我们的cozeapi调用页面,在以下红框依次输入我们得到的token、Body params 和 parameters。
我们发现右侧的代码发生了变化,我们输入的内容都出现在右侧的代码里面,我们把代码全部复制下来
四、影刀中http请求配置及运行效果
http请求的配置
打开影刀,搜索到我们的http请求,拖到我们的流程区域
在http请求编排页面里,点击智能识别填入,将刚才复制的代码粘贴进输入框,点击确定
他自动地把代码分解,填入了四个输入量中,其中红框的地方就是我们的token、Body params 和 parameters在其中的位置。
为了提高程序的通用性,我们现在要对token、Body params 和 parameters。进行变量赋值的处理。
我们在http请求前设置了三个变量,依次对应token、Body params 和 parameters。
而http请求中,改成这样的
1的地方是我们的token,我们删除掉原本的密钥,输入光标在Bearer右侧填入一个空格,在点击右侧fx中,将变量token引入
2删除掉原本的工作流id,在""中引入变量工作流id
3直接在"input":""中,引入变量输入内容
接下来,我们在http请求下面添加一个打印日志,打印我们http请求输出内容的响应内容
运行http请求
打印的内容
{"code":0,"cost":"0","data":"{\"output\":\"先别着急啦,现在你能平平安安的就特别好。下雨天路不好走,差点迟到也不是你的错呢,好在最后有惊无险,没有真的迟到,这就已经很不错啦。可以跟我说说,这下雨天赶路是不是特别不容易呀? \"}","debug_url":"https://www.coze.cn/work_flow?execute_id=7521279403969363977\u0026space_id=7453097145227477042\u0026workflow_id=7520842248431403043\u0026execute_mode=2","msg":"Success","token":100}
打印的内容是字符串类型的,而我们只需要里面文本部分的内容,而整个代码块的数据组成是字典,我们要获取文本内容则需要获取他的键————output
拓展( 字典 )
代码块中"code":0、"cost":"0"等类型的量叫字典
字典由键和值组成,表现形式为{ 键:值 },键对应值
对数据进行处理
这时候有人要问了,直接http_response.content['data']['output']不就行了,想法是不错,但是这是字符串,字符串是不同通过字典索引来获取所需数据的,这里,我们需要对得到的数据进行处理
在打印日志流程下面,添加一个转化成JSON对象,编辑内容如下
在给处理后的数据打印一下,得到json语言的数据
{'code': 0, 'cost': '0', 'data': '{ "output": "别着急别着急,幸好没真的迟到呀,这就已经很不错啦。下雨天路不好走,出行本就容易遇到状况,你能在这种情况下还没迟到,已经很厉害啦。先放松放松,咱们平复一下紧张的心情。能和我说说,这一路上是不是遇到不少麻烦呀? " }', 'debug_url': 'https: //www.coze.cn/work_flow?execute_id=7521296897437990955&space_id=7453097145227477042&workflow_id=7520842248431403043&execute_mode=2', 'msg': 'Success', 'token': 108}
最后,我们在看能不能打印出文本内容
我们发现,运行后,流程是报错的,问题出在data字段属于字符串类型,不属于字典类型
正好影刀也帮我们写出了解决方案,直接一键应用
苹果端的小伙伴也不要担心,代码已弄好,直接复制即可
import('json').loads(转化后的响应内容['data'])['output']
最后,得到了我们想要的文本内容
拓展( json的loads和load的用法 )
这里主要分析讲解一下json的loads和load方法。这两个方法中都是把其他类型的对象转为Python对象,这里先说明一下Python对象,Python对象包括:所有Python基本数据类型,列表,元组,字典,自己定义的类,等等等等
不相同点:
1. loads操作的是字符串 2. load操作的是文件流
相同点
1. 除了第一个参数(要转换的对象)类型不同,其他所有的参数都相同 2. 最终都是转换成Python对象
上文用到的就是最常见的就是把字符串通过json.loads转为字典
结语:
影刀RPA作为一款实现简单重复工作的自动化工具,可以应用在我们生活中的各个场景中。
影刀,让我们告别简单重复的机械式工作,把有限的精力用在更有意义的事!
关注公众号并添加舰长微信,领取智能体学习资料,并参与Coze技术直播讲解
另外非常欢迎大家加入[唐舰长AI落地智能体交流群],主要交流群每周都会进行公益直播教大家搭建AI智能体工作流
没有评论:
发表评论