chatglm3-6b 实现AI Agent
本文介绍了基于chatglm3-6b实现的数字员工系统,以下简称RPA。通过结合自然语言理解和生成能力,实现了自动化流程构建和执行。我们以自动邮件回复和电商listing优化为案例,展示了该系统在实际应用中的高效性和智能化程度。
引言
RPA(机器人流程自动化)通过软件机器人实现业务流程的自动化。然而,传统的RPA需要大量的人工设计和维护工作。chatglm3-6b是一种基于深度学习的自然语言处理模型,它具有强大的文本理解和生成能力。通过预训练和微调,chatglm3-6b可以理解复杂的自然语言指令,并生成相应的代码或配置文件。chatglm3-6b作为一种先进的自然语言处理模型,具有强大的理解和生成能力。本文利用chatglm3-6b实现了RPA的智能化升级,提出了基于AI的RPA系统。
系统能力 1、构建领域知识: 使用与RPA相关的数据集对chatglm3-6b进行微调,使其掌握RPA领域的基础知识,包括常见的流程节点、数据格式、接口等。
2、设计对话系统 构建一个面向用户的自然语言对话系统,用于接收用户的流程构建请求,并输出chatglm3-6b的流程描述。
解析chatglm3-6b描述:编写后端代码解析chatglm3-6b生成的流程描述,将其转换为可执行的流程配置文件或代码。
实现自动化执行:利用RPA工具执行chatglm3-6b生成的流程配置文件或代码,实现流程的自动化执行。
结果反馈:将流程执行结果反馈给chatglm3-6b,用于优化其流程构建策略。 支持动态决策:集成chatglm3-6b的推理能力,实现流程执行中的动态决策,处理更复杂的流程场景
持续优化:根据用户反馈和执行结果,持续优化chatglm3-6b的流程构建能力。
监控与评估:建立监控机制评估chatglm3-6b构建的流程效果,确保流程自动化质量。
支持复杂交互:扩展chatglm3-6b的交互能力,使其支持更复杂的流程构建交互,如支持节点调整、添加约束等。
性能优化:持续优化chatglm3-6b的响应速度、计算资源消耗等,提升整体流程构建效率。
通过以上步骤,chatglm3-6b可以有效地结合RPA工具,实现流程的智能化构建和自动化执行,从而提升RPA系统的智能化水平。
3、关键架构
基于AI的RPA系统架构 我们的系统包括以下几个关键组件: 1、用户需求解析器:解析用户输入的短需求,扩展成详细的流程步骤。 2、流程构建器:利用chatglm3-6b根据详细步骤生成流程配置文件。 3、流程执行器:根据配置文件执行RPA流程。
用户需求解析器分为两个步骤:
第一步,上下文理解:结合上下文信息,理解需求的具体背景和情境,以确保生成流程步骤的针对性和准确性。
提示词:请结合以下上下文信息理解以下需求(对历史信息汇总并理解)
第二步:分解任务
需求意图识别:利用chatglm3的文本理解能力,对用户输入的短需求进行意图识别,确定需求的核心目标和关键信息。 推理与规划:通过chatglm3的推理和规划能力,将需求转化为详细的步骤,确定执行流程的具体顺序和逻辑。 自然语言生成:利用chatglm3的文本生成能力,将步骤和逻辑转化为自然语言描述,形成详细的流程说明。
提示词:请识别以下需求的核心目标和关键信息,然后把需求转化为详细的步骤,确定执行流程的具体顺序和逻辑,然后将生成的具体顺序和逻辑转化为自然语言描述,形成详细的流程说明:从跨境卫士的亚马逊店铺中获取加湿器今年1月到2月的销售报表(自然语言描述的详细流程说明 请用编号标注)
流程构建器
建立Chatglm3-6b RPA领域知识模型
收集RPA相关资料:从RPA工具的文档、流程设计指南、API文档、典型流程案例等来源收集相关资料,以便chatglm3-6b学习RPA领域的基础知识。
构建RPA流程语料库:根据收集的资料,构建RPA流程的语料库,包括流程描述、节点信息、接口调用、输入输出数据等。 标注流程特征:对语料库中的流程进行标注,标记出流程的关键特征,如节点类型、节点关系、数据格式、接口名称等。 生成数据对:根据标注的特征,为每个流程生成一个自然语言描述作为输入,同时生成对应的流程配置文件或代码作为输出,构建输入输出数据对。 数据清洗与去重:清洗数据对中的重复或噪声样本,确保数据质量。 数据集切分:将数据集切分为训练集、验证集和测试集,用于chatglm3-6b的训练、验证和测试。
以下是一个电商领域的RPA任务获取网页价格的数据对范例:
收集RPA相关资料:获取电商网站的API文档、网页结构、常见价格获取方法等。 构建RPA流程语料库:构建一个包含电商价格获取流程的语料库。 标注流程特征:为流程中的关键特征进行标注,如节点类型、数据格式等。
生成数据对: 输入:获取电商网站上的商品价格。 输出:API调用节点,请求参数包括商品ID,返回结果为商品价格。 数据清洗与去重:清洗重复或错误的数据对。 数据集切分:将数据集切分为训练集、验证集和测试集。
为了将上述范例转换为适合微调chatglm3-6b的数据对格式,我们需要构造一个自然语言指令作为输入,并定义一个期望的代码或配置文件作为输出。以下是一个简化的例子: 输入 (自然语言指令):
获取电商网站商品价格的任务流程如下:
- 使用浏览器工具打开商品详情页面。
- 使用网页元素定位工具定位商品价格元素。
- 读取商品价格元素的内容。
- 将商品价格保存到JSON文件中。
输出 (代码或配置文件): json { “nodes”: [ { “name”: “打开商品详情页面”, “type”: “browser”, “params”: { “url”: “商品详情页面的URL” }, “next”: “定位商品价格元素” }, { “name”: “定位商品价格元素”, “type”: “elementLocator”, “params”: { “cssSelector”: “.product-price” }, “next”: “读取商品价格” }, { “name”: “读取商品价格”, “type”: “elementReader”, “params”: { “target”: “定位商品价格元素的结果” }, “next”: “保存商品价格” }, { “name”: “保存商品价格”, “type”: “fileWriter”, “params”: { “filePath”: “output/product_price.json”, “data”: “读取商品价格的结果” } } ] }
在这个例子中,输入是一个自然语言描述的流程,输出是一个JSON格式的流程配置文件。这个配置文件定义了一系列节点,每个节点都包含名称、类型、参数和下一个节点。这样的数据对可以被用来训练chatglm3-6b,使其能够根据自然语言描述生成对应的流程配置文件。 请注意,这个例子是一个简化的示例,实际的流程可能更加复杂,需要包含更多的细节和错误处理机制。此外,在实际应用中,输出通常需要被进一步处理以适配特定的RPA工具。
抽象出流程组件-对组件内流程元数据在页面上高显示- 对任务步骤和流程组件做一对一标记
需求:从跨境卫士的亚马逊店铺中获取加湿器今年1月到2月的销售报表 流程如下: 1、登录跨境卫士的亚马逊卖家中心。打开店铺Node(flow) 2、在卖家中心导航至报告管理页面。导航组件 3、设置报告的时间范围为2023年1月1日至2023年2月28日。 时间选择组件(组件已经标注) 4、在筛选条件中选择加湿器作为产品类别。(条件帅选组件) 5、生成加湿器在指定时间范围内的销售报表。(获取数据组件/异步生成按钮) 6、报表生成后,下载至本地电脑。(保存数据成excel/下载excel 到本地) 7、打开下载的报表文件,验证报表内容的完整性和准确性。(人工/调用逻辑接口,RPC组件) 8、(可选)对报表中的销售数据进行分析,如对比去年同期销售情况,分析不同款式的加湿器销售表现等。(调用大数据接口,重新生成不同维度报表,RPC组) 9、将报表通过电子邮件或工作群组分享给需要的团队成员或领导。(报表发送组件)
json { “nodes”: [ { “name”: “打开跨境卫士的亚马逊某店铺的卖家中心”, “type”: “browser”, “params”: { “url”: “店铺URL” }, “next”: “菜单导航” }, { “name”: “菜单导航”, “type”: “nav”, “params”: { “url”: “报告管理页面url” }, “next”: “时间选择” },
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
{
"name": "时间选择",
"type": "timeselector",
"params": {
"date range": "2023年1月1日至2023年2月28日"
},
"next": "筛选查询参数"
},
{
"name": "筛选查询参数",
"type": "elementReader",
"params": {
"sku": "家湿气"
},
"next": "查询数据"
},
{
"name": "保存销售数据",
"type": "fileWriter",
"params": {
"filePath": "output/product_price.json",
"data": "读取商品价格的结果"
}, "next": "查询数据" }, {
"name": "验证报表内容的完整性和准确性",
"type": "val",
"params": {
"api url": "接口地址",
"filePath": "output/product_price.json",
}, "next": "销售数据进行分析"
},
{ “name”: “销售数据进行分析”, “type”: “bigdata”, “params”: { “api url”: “接口地址”,
1
}, "next": "发布邮件"
},
{ “name”: “发布邮件”, “type”: “email”, “params”: { “api url”: “发送邮件地址”,
1
} }, ] }
4、范例: 4.1 自动邮件回复 在自动邮件回复的应用案例中,基于chatglm3-6b的RPA系统通过用户需求解析器理解用户对自动邮件回复的简短需求,并将该需求扩展成详细的流程步骤。这些步骤可能包括:从企业邮箱中提取新邮件,根据发件人将邮件分类,调用chatglm3-6b生成回复内容,将回复内容发送给发件人。随后,流程构建器利用chatglm3-6b的代码生成能力,将这些步骤转换成RPA配置文件。最后,RPA执行器根据配置文件自动执行整个邮件回复流程。实验结果显示,该系统生成的回复内容准确,回复速度快,优于人工操作。
4.2 电商listing优化 在电商listing优化的应用案例中,基于chatglm3-6b的RPA系统通过用户需求解析器理解用户对商品listing优化的简短需求,并将该需求扩展成详细的优化步骤。这些步骤可能包括:抓取电商平台上的商品信息/读取刊登信息,调用chatglm3-6b生成优化后的商品标题、描述等,将优化后的信息更新到商品listing。流程构建器利用chatglm3-6b生成相应的RPA配置文件。RPA执行器根据配置文件自动执行整个listing优化流程。经过测试,该系统生成的优化内容质量高,listing的曝光率和转化率均有显著提升。
4.3 AI购物聊天机器人 基于chatglm3-6b的AI购物聊天机器人可以通过以下方法进行扩展: 商品推荐: 机器人可以分析用户的聊天记录,了解用户的兴趣和偏好。 通过chatglm3-6b生成推荐理由,向用户推荐相关商品。 用户可以选择查看推荐商品详情或继续提问。
价格比较: 机器人可以调用外部API获取不同平台上的商品价格信息。 通过chatglm3-6b生成价格比较报告,为用户提供购买建议。
促销信息推送: 机器人可以监控电商平台的促销活动。 当有符合用户兴趣的促销活动时,通过chatglm3-6b生成个性化的促销信息,推送给用户。
售后咨询: 用户可以通过聊天机器人咨询售后问题。 机器人可以通过chatglm3-6b生成相关回答,解决用户的疑问。
智能客服: 当机器人无法回答用户问题时,可以转接给人工客服。 机器人可以通过chatglm3-6b生成问题摘要,帮助人工客服更快了解用户问题。
通过这些扩展,AI购物聊天机器人可以更好地理解用户需求,提供更个性化的购物建议和服务,从而提高用户的购物体验。
5、结论 通过自动邮件回复、电商listing优化和AI购物聊天机器人的案例,本文展示了基于chatglm3-6b的RPA系统在实际应用中的高效性和智能化程度。该系统通过chatglm3-6b的强大理解生成能力,实现了从用户需求到RPA流程的智能化构建,大幅降低了人工设计和维护的工作量。未来,我们将继续探索该系统在更多RPA场景中的应用,以实现更广泛的工作流程自动化。