使用RPA通过GPT大模型AI Agent自动执行业务流程任务企业级应用开发实战:RPA在化工与制药行业的应用趋势...
1.背景介绍业务流程是企业成功的关键所在,但由于现代商业模式的发展及现代管理方式的转变,越来越多的企业处于流程重构的困境之中。手动执行的流程耗时耗力且容易出错,而采用自动化的方式能够有效提升效率、降低成本、节约时间,是提高生产力和产品ivity的有效手段之一。而人工智能技术(Artificial Intelligence (AI))可以提供高精度、高效率的自动化解决方案。近年来,基于人工智能...
1.背景介绍
业务流程是企业成功的关键所在,但由于现代商业模式的发展及现代管理方式的转变,越来越多的企业处于流程重构的困境之中。手动执行的流程耗时耗力且容易出错,而采用自动化的方式能够有效提升效率、降低成本、节约时间,是提高生产力和产品ivity的有效手段之一。而人工智能技术(Artificial Intelligence (AI))可以提供高精度、高效率的自动化解决方案。 近年来,基于人工智能的自动化工具逐渐成为企业实现业务流程自动化的利器。人工智能自动化(AI Automation)最初只是基于人的指令进行计算处理的一些工具,如Siebel等,后来随着技术的进步,机器学习(Machine Learning)技术也逐渐涌现出来。基于机器学习的方法通常将数据进行预处理、特征工程、模型训练、部署、运营等环节,然后基于模型预测出结果,并将结果反馈给最终的用户或后台系统。 GPT-3 (Generative Pre-trained Transformer 3) 是一种基于深度学习技术的语言模型,由OpenAI提出并开源,GPT-3 能够理解自然语言,并且生成有意义的文本,是一种人工智能技术的代表,具备了生成式预训练(Generative Pre-Training)和微调(Fine-Tuning)的能力,能够利用海量数据进行预训练。因此,基于GPT-3 的自然语言生成模型能够实现自动化任务的自动化,并通过抽取文本信息的方式完成特定任务的执行。 本文将介绍如何用GPT-3来自动化企业内部的各类工作流程,包括销售订单的处理、采购订单的审批、库存管理、客户服务中心的回复、生产生产效率的优化等,并对其实际应用的过程中产生的问题进行深入剖析,提出改进建议。
2.核心概念与联系
2.1 GPT-3 模型结构
GPT-3 模型由编码器和解码器组成。编码器是一个深度神经网络,它接收输入序列并将其转换为表示形式,用于生成输出。而解码器则是另一个深度神经网络,它接收编码器的输出并生成相应的序列。编码器和解码器一起工作,形成了一个循环系统。 图1 编码器-解码器结构示意图
2.2 预训练数据集
GPT-3 论文声称,它采用了超过1亿条带注释的海量互联网文章作为预训练数据集。预训练数据集包括了各种类型的数据,如新闻、维基百科等等。其中,GPT-3 的训练数据集最大为2万亿个词,从而覆盖了几乎所有的现代技术语料。
2.3 概率分布函数(Probability Distribution Function, P.D.F.)
在生成文本时,GPT-3 通过计算概率分布函数(P.D.F.), 找到最可能出现的下一个单词或者短语。概率分布函数将模型的每种可能性都看作一个概率,并根据模型历史的状态估计当前状态的概率分布。也就是说,概率分布函数描述了模型对于目前观察到的事件的一种判断,从而使得模型能够正确生成下一个词汇。
2.4 NLP 任务
GPT-3 支持多种 NLP 任务,包括文本分类、关系抽取、问答匹配、摘要生成、翻译、文本生成、词嵌入等。如下图所示: 图2 GPT-3 支持的NLP任务
2.5 对话系统
GPT-3 可以构建聊天机器人、对话系统等,可以用来处理多种业务场景。对话系统可以通过输入、查询、获取、处理、输出等不同阶段处理信息,并根据个人喜好、知识库、数据库、规则引擎等因素选择合适的回应方式,最终达到智能对话的目的。
2.6 应用领域
GPT-3 可应用于各类领域,例如自动驾驶、政务咨询、客服等,但主要应用于金融、医疗、教育、交通、生活服务等领域。
3.核心算法原理和具体操作步骤以及数学模型公式详细讲解
3.1 操作步骤
3.1.1 数据准备
首先需要准备数据集。数据集应该由多份文档或是包含多个文件的集合。每份文件中的文本长度要保持一致,这样才能保证生成的文本具有连贯性。
3.1.2 模型训练
GPT-3 由两部分组成——编码器和解码器。编码器接受输入序列并生成表示形式;解码器接受编码器的输出并生成相应的序列。两个网络一起工作,形成了一个循环系统。训练过程就是通过大量数据训练模型,使其能够生成更加准确的结果。训练结束之后,就可以应用模型进行文本生成了。
3.1.3 生成结果
生成结果的过程就是解码器对编码器生成的表示进行解码,得到真正意义上的文本结果。GPT-3 通过计算概率分布函数,找到最可能出现的下一个单词或短语。解码器会在最后的结果中添加一些噪声或是异常值,来增加模型的鲁棒性。
3.2 具体操作步骤
下面是对 GPT-3 的具体操作步骤以及数据准备方法的详细讲解。
3.2.1 数据准备
1.收集数据
需要的数据集可以是类似于维基百科等的大规模语料。也可以是已经被标记过的文本数据集,例如电影评论,商品评论等。数据的质量决定了模型的效果。一般来说,GPT-3 的训练数据集要求至少有2万亿个词,并且每个词都要对应一个标签。
2.上传数据
点击“UPLOAD”按钮,选择需要上传的文件。上传完毕后,点击“FINISH”按钮。如果上传的文件大小不符合要求,可以在“ADD FILES”按钮中添加新的文件。另外,也可以将数据集分享给其他人。
3.准备环境
为了运行 GPT-3 模型,需要安装相应的软件包。由于 GPT-3 的训练数据集较大,所以下载速度可能会比较慢。所以,可以使用如下命令安装较慢的包,并设置代理服务器: python pip install -i https://mirrors.aliyun.com/pypi/simple transformers==4.9.2 torch torchvision datasets fasttext
此外,还需要配置 Hugging Face API Token ,这样才能够使用 GPT-3 。可以按照如下步骤获取 token:
获取token
点击右上角头像,选择 “Settings and privacy”。点击 “API Tokens”,生成新的 Token。复制 Token,保存起来,供日后使用。注意:Token 只能访问一次,即失效。
配置token
打开系统终端或Anaconda Prompt,运行以下命令: python transformers-cli login <your_api_token>
注意: 替换成你自己刚刚生成的 API Token。运行成功后,会打印出登录成功的信息。
3.2.2 模型训练
1.创建训练脚本
当所有准备工作都做好后,就可以开始训练模型了。首先,创建一个 Python 文件,导入 transformers 和相关库,如 torch、numpy、json。然后定义模型。模型可以直接从 Hugging Face Hub 上下载,也可以自己训练模型。这里,我还是选择直接训练模型。 ```python import torch from transformers import AutoModelForCausalLM, AutoTokenizer, TrainingArguments, Trainer
model = AutoModelForCausalLM.frompretrained("gpt2") tokenizer = AutoTokenizer.frompretrained("gpt2") ```
2.加载数据集
然后,加载数据集,使用 tokenizer 将文本转化为模型可以处理的形式。这里,我还是选择使用数据集中的书籍名作为训练文本。 python train_dataset = tokenizer([book for book in books], return_tensors="pt", padding=True)
3.训练模型
设置训练参数,启动模型训练。 ```python trainingargs = TrainingArguments( outputdir="./results", # output directory numtrainepochs=1, # total number of training epochs perdevicetrainbatchsize=16, # batch size per device during training save_steps=1000, # save checkpoint every X updates steps )
trainer = Trainer( model=model, # the instantiated 🤗 Transformers model to be trained args=trainingargs, # training arguments, defined above traindataset=traindataset["inputids"] # input dataset containing text data )
trainer.train() ```
4.评估模型
训练结束后,可以使用测试集来评估模型的效果。这里,我还是选择使用同样的书籍名作为测试文本。 python test_dataset = tokenizer(["the tale of two cities"], return_tensors="pt", padding=True) result = trainer.evaluate(test_dataset["input_ids"]) print(result)
5.导出模型
训练完成后,就可以导出模型了。使用 trainer 对象调用 save_model
方法即可。 python trainer.save_model("./my_model")
3.2.3 生成结果
生成结果的过程就是解码器对编码器生成的表示进行解码,得到真正意义上的文本结果。GPT-3 通过计算概率分布函数,找到最可能出现的下一个单词或短语。解码器会在最后的结果中添加一些噪声或是异常值,来增加模型的鲁棒性。
1.设置模型
使用 AutoModelForCausalLM.from_pretrained()
来加载模型,然后定义 tokenizer。这里,我还是选择使用“The Tale of Two Cities”作为测试文本。 python model = AutoModelForCausalLM.from_pretrained('./my_model') tokenizer = AutoTokenizer.from_pretrained('gpt2') test_sentence = "the tale of" context_tokens = tokenizer.encode(test_sentence, return_tensors='pt')
2.推理
定义 generate 函数,用来推断出生成结果。 python def generate(): out = model.generate( context_tokens, do_sample=True, # use multinomial sampling instead of greedy decoding max_length=50, # maximum length of the output sentence top_p=0.9, # only consider tokens with cumulative probability >= 0.9 top_k=10 # only consider the top k tokens with highest probability ) result = [] for i, sample in enumerate(out): generated_text = tokenizer.decode(sample, skip_special_tokens=True) if not any(word in ['.', ',', '!', '?'] for word in generated_text[-3:]): continue print("{}: {}".format(i+1, generated_text)) result.append(generated_text) return result[:1]
调用 generate 函数,得到生成的结果。 python output = generate()[0].split() print(output)
输出结果示例: ['told,', 'as', 'they', 'went', 'through', 'the', 'city,', 'heard', 'the', 'noise', '.', 'There', 'was', 'a','shouting', 'and', 'a', 'chanting', '.']

GitCode 天启AI是一款由 GitCode 团队打造的智能助手,基于先进的LLM(大语言模型)与多智能体 Agent 技术构建,致力于为用户提供高效、智能、多模态的创作与开发支持。它不仅支持自然语言对话,还具备处理文件、生成 PPT、撰写分析报告、开发 Web 应用等多项能力,真正做到“一句话,让 Al帮你完成复杂任务”。
更多推荐
所有评论(0)