点击上方卡片关注 不要错过精彩文章
持续更新有关Agent的最新搭建思路和工作流分享,希望能给您带来帮助,点一点上方的🔵蓝色小字关注,你的支持是我最大的动力!🙏谢谢啦!🌟"
大家好,我是舰长🙏
大家都是舰长公众号的粉丝,相信也有不少伙伴也在做公众号,那么你们是否有这样的烦恼:公众号把粉丝引流到微信,微信上时不时有粉丝来领取资料或者咨询合作事项等,一条一条地回复每天要花不少时间在微信上。
那么有没有一种工具,能帮我们处理粉丝的简单诉求,遇到合作咨询等需要人主观性的问题的时候,推给我们本人来处理呢?
于是针对这个场景,我试着用影刀搭建了一个简易的客服机器人。
演示视频
这边简单地演示下机器人是怎么运行操作的。
流程图如下
此次程序的难点在于系统消息、群聊消息和个人消息的判断。
此次程序内容涉及到多段循环嵌合、if判断的使用位置以及基础指令的高级选项编辑与报错处理。
具体搭建如下:
流程1:获取窗口对象
按图中内容配置指令
流程2和流程3(关键词库的建立)
流程2:打开/新建Excel
创建一个表格,A列写关键词,B列写关键词的对应内容,当客户的回答中包含关键词时,程序将对应关键词的B列内容发送给用户。
表格图片
流程3:生成字典(列表拼接)
字典的键和值是一一对应的关系,列如第一行的A1与B1就是对应的,第二行A2与B2也是对应的,生成字典的便利之处在于通过键和值的一一对应关系,当客户回复的话中包含关键词,程序就可以通过库找到对应的内容发送给客户。
流程4和流程45:For次数循环
控制微信消息下滑的次数,确保压在底下的消息能被看到,群聊较多的建议结束次数9-10次左右。
总的来说,for次数循环就是控制鼠标滚轮滚动的次数的。
流程5:循环相似元素列表(win)
捕获新消息的小红点的相似元素保存为相似元素列表。
高级设置里
流程6、流程40和流程44:IF条件
根据条件判断,当列表长度不等于0:即存在小红点的时候,则执行IF下的流程。 当列表长度等于0:即不存在小红点的时候,则执行else的流程。
接下来的讲解将从以上俩种情况下讲解,而不是顺着流程的顺序讲解,这样子能方便大家理解流程的逻辑。
当列表长度不等于0(流程7~流程39)
流程7和流程39:循环相似元素(win)
输入: 操作目标:选择流程5捕获的新消息相似元素组 元素操作:获取元素对象
输出: 保存当前循环项至:当前小红点
流程8:获取元素信息(win)
输入: 操作目标:选择流程7的输出当前小红点 操作:获取元素文本内容
输出: win_element_attribute(默认的)
高级设置里
流程9:等待
流程10:点击元素(win)
输入: 操作目标:选择流程7的输出当前小红点
高级设置里
设置点击的位置在元素的顶部。
流程11:添加备注说明
流程12:获取元素对象(win)
获取判别是否的群聊的依据,大家知道,群聊的标题栏有人数这一元素,而个人微信没有人数这一元素,这个就可以作为我们判断的依据。
捕获群聊的人数元素,多找几个群校验元素确保是通用元素而不是专属元素即可。
高级设置里
流程13:获取元素对象(win)
捕获输入框,多找几个联系人的输入框校验元素,确保是通用元素而不是专属元素。
流程14和流程38:IF多条件
需全部符合以下条件的才属于我们所需要找的客户个人微信:
输入框判断依据不为None,即输入框元素存在
群聊判断依据为None,即不存在群聊人数的元素
流程15:获取个人微信聊天内容
截取消息数量:流程8的输出 win_element_attribute(默认的),最新消息的数量,决定我们捕获几条消息
高级设置里
流程16和流程37:ForEach列表循环
列表:流程15的聊天记录列表输出
流程17和流程18:设置变量
将流程15运行并打印,得到一串字典的输出
流程17
流程18
流程19和流程27:循环Excel内容
循环我们的关键词表格。
流程20和流程26:IF条件
content是客户发的消息,当前项【0】是列表中A列当前循环的关键词
这边的逻辑是判断用户发的消息中是否含有关键词。
流程21:获取键值
字典:流程3的字典
键名:当前项【0】
高级设置里
流程22:列表聚合成文本
由于我们的字典是列表拼接的格式,得到的回复内容是列表,而列表不能直接发送,所以我们需要对他进行转换成字符串。
流程23:填写输入框(win)
将转换好的字符串文本填写至输入框
流程24:键盘输入
输入Enter
流程25:退出循环
由于我们是循环表格来找关键词的,当我们寻找到关键词时,及时退出循环,进入下一步。
流程28和流程36:添加备注说明
这片区域可以通过API的方式接入大模型或者coze智能体,这边我使用的是影刀自带的AI大语言模型(流程32),对于模型的选择,大家可以根据自身情况来选择,这边建议接入coze智能体的API,因为智能体可以对他进行提示词的模型训练。
流程29:获取个人微信聊天内容
高级设置里
一定要勾选保留自己的信息
流程30:设置变量
根据流程17和18知,dict_content[0]代表的是id,在其规则里:0代表系统消息,1代表自己发的消息,2代表对方发的消息。
通过流程29得到列表是一个二维列表,即列表中嵌套列表。
流程31和流程35:IF条件
当流程29获取的最新消息的id不等于1,即我们自己发的消息的时候,我们就执行IF条件里的流程。
当id等于1,即不是我们发的消息的时候,我们就不执行IF条件里的流程。
流程32:AI大语言模型
提问就是我们之前获取的客户消息
大模型价格表
高级设置里
调节回复的字数,控制住,有些问题ai会回复很多字。
流程33:填写输入框(win)
将流程32的输出,写入输入内容。
流程34:键盘输入
输入Enter
当列表长度等于0(流程41~43)
流程41:等待
提高程序的稳定性,预防微信风控。
流程42:移动鼠标
在图中红框的有效区域内可以滑动,鼠标移动到有效区域内即可。
流程43:滚动鼠标滚轮
一个循环滚动5次,滚动一次幅度太小。
流程46:移动鼠标
在图中红框的有效区域内可以滑动,鼠标移动到有效区域内即可。
流程47:由于魔法指令更新,该指令无法通过对话获取,我们这边使用python语言来手搓一个。
# pip install pyautoguifrom xbot import printfrom typing import *def scroll_to_top_wheel(): """ title: 一键滚轮滚到顶部 description: 模拟鼠标滚轮快速向上滚动,将页面滚动到顶部 inputs: None outputs: None """ import pyautogui import time # 设置滚动次数,每次滚动的距离为1000 for _ in range(20): pyautogui.scroll(1000) time.sleep(0.1)
将上面的代码粘贴在14行。
粘贴好了后
结语:
影刀RPA作为一款实现简单重复工作的自动化工具,可以应用在我们生活中的各个场景中。
影刀,让我们告别简单重复的机械式工作,把有限的精力用在更有意义的事!
关注公众号并添加舰长微信,领取智能体学习资料,并参与智能体技术直播讲解
另外非常欢迎大家加入[唐舰长AI落地智能体交流群],主要交流群每周都会进行公益直播教大家搭建AI智能体工作流
没有评论:
发表评论