基于LLM的web应用优化系统及服务实现方法和系统
文献发布时间:2024-01-17 01:27:33
技术领域
本发明涉及web应用技术领域,特别涉及一种基于LLM的web应用优化系统及服务实现方法和系统。
背景技术
Web应用(Web application)是一种通过网络(通常是互联网)访问的,基于浏览器的软件应用程序。与传统的桌面应用程序相比,Web应用不需要在用户的计算机上安装,而是通过Web浏览器运行。Web应用的实现主要依赖于Web技术,如HTML、CSS、JavaScript等,以及后端编程语言(如Python、Java、Ruby等)和数据库技术。Web应用的优点包括跨平台兼容性、易于更新和维护、以及可随时随地访问。典型的Web应用有电子邮件客户端(如Gmail)、社交媒体平台(如Facebook、Twitter)、在线购物网站(如Amazon、淘宝)和在线办公套件(如Google Docs、Microsoft Office在线)等。用户可以通过浏览器与Web应用互动,获取所需信息或完成特定任务。Web应用与用户交互的过程中,通常需要用户执行多个页面动作才能完成用户的需求,比如执行新增用户这样一个请求,管理员需要先进入到用户管理模块,然后点击新增用户按钮,填写用户的基本信息,然后点击确定才能完成这样一个基本的请求,如果针对多个请求,就需要进入到不同的页面中,执行不同的动作和填写不同的信息。这对于用户来说是繁琐且不必要的,增加了用户使用系统的门槛和成本。
大语言模型(Large Language Model),简称LLM,是指一类采用深度学习技术训练的,能够理解和生成自然语言文本的大型人工智能模型。这些模型通常基于神经网络架构,如Transformer。大语言模型的参数量通常非常庞大,可以达到数十亿甚至上百亿个参数。这些参数的数量和模型的层数、规模密切相关,通常越大的模型具有越高的处理能力。大语言模型通过对大量文本数据进行训练,学习到了语言的语法、句法、语义等方面的知识,从而能够理解和生成自然语言。这些模型可以广泛应用于各种自然语言处理(NLP)任务,如机器翻译、文本摘要、情感分析、问答系统、对话生成等。目前,许多大型人工智能公司和研究机构已经开发出了多种大语言模型。如OpenAI的GPT系列模型(如GPT-3、GPT-4),谷歌的BERT、T5模型,微软的Turing-NLG等。这些模型在很多NLP任务上取得了显著的成果,推动了自然语言处理领域的快速发展。因此,如何将大语言模型应用到web应用与用户的交互,可成为解决web应用服务交互效率低、门槛的手段。
发明内容
为此,本发明提供一种基于LLM的web应用优化系统及服务实现方法和系统,能够简化web应用客户端用户操作流程,通过输入框提交给Web应用即可完成对应的需求,降低用户使用web应用系统的门槛和成本,更加高效、友好。
按照本发明所提供的设计方案,提供一种基于LLM的web应用优化系统,其特征在于,包含:设置在web应用服务端的需求接受模块、任务编排模块和语义解析模块,其中,
需求接受模块,用于接收web应用客户端中用户输入的服务需求信息;
任务编排模块,用于基于大型语言模型LLM解析服务需求信息并对解析的服务需求信息进行任务拆解,将服务需求信息拆解为存在依赖关系的多个子任务;
语义解析模块,用于基于大型语言模型LLM识别子任务对应的web应用接口操作名称并反馈给任务编排模块;
且任务编排模块根据语义解析模块反馈的子任务对应的web应用接口操作名称,并子任务上下文信息和子任务执行优先级执行子任务对应的操作,直至服务需求信息对应的全部子任务执行完毕,将最终执行结果作为响应信息并反馈给用户。
作为本发明基于LLM的web应用优化系统,进一步地,还包含:设置在web应用服务端的异常处理模块,该异常处理模块依据子任务对应操作执行结果对其执行异常进行检测,以对子任务操作异常执行进行强制处理。
进一步地,本发明还提供一种基于LLM的web应用服务实现方法,包含:
接收用户以自然语言描述的服务需求信息;
基于大型语言模型LLM解析服务需求信息并对解析的服务需求信息进行任务拆解,将服务需求信息拆解为存在依赖关系的多个子任务,并依据依赖关系设置子任务执行优先级;
识别子任务对应的web应用接口操作名称;根据子任务上下文信息并依据子任务执行优先级执行子任务对应的操作,直至服务需求信息对应的全部子任务执行完毕,将最终执行结果作为响应信息并反馈给用户。
作为本发明基于LLM的web应用服务实现方法,进一步地,接收用户以自然语言描述的服务需求信息,包含:收集web应用客户端用户以文本或语音方式输入的任务需求,并将任务需求统一转换为以文本表示的服务需求信息。
作为本发明基于LLM的web应用服务实现方法,进一步地,将任务需求统一转换为以文本表示的服务需求信息,还包含:对文本表示的服务需求信息进行数据预处理,所述数据预处理包括对预设指定字符的过滤,其中,预设指定字符包括特殊字符和敏感字符。
作为本发明基于LLM的web应用服务实现方法,进一步地,大型语言模型LLM采用部署在web应用服务端的OpenAI中的GPT语言模型,利用GPT语言模型获取输入信息对应的文本数据。
作为本发明基于LLM的web应用服务实现方法,进一步地,基于大型语言模型LLM解析服务需求信息并对解析的服务需求信息进行任务拆解,包含:首先,利用大型语言模型LLM提取服务需求信息中任务执行动作关键字;然后,依据关键字将服务需求信息拆解为多个子任务。
作为本发明基于LLM的web应用服务实现方法,进一步地,识别子任务对应的web应用接口操作名称,包含:首先,利用大型语言模型LLM解析子任务文本信息,依据子任务文本信息将子任务表示为动作指令名称和动作指令参数的组合;然后,依据动作指令名称在web应用接口字典中匹配对应的web应用接口操作名称,其中,web应用接口字典为在web应用开发中将操作执行代码对应接口信息以[key,value]结构进行存储的字典结构,key为全局唯一的接口操作名称,value为接口操作名称对应的执行函数。
作为本发明基于LLM的web应用服务实现方法,进一步地,根据子任务上下文信息并依据子任务执行优先级执行子任务对应的操作,还包含:依据子任务对应操作执行结果对其执行异常进行检测,以对子任务操作异常执行进行强制处理。
进一步地,本发明还提供一种基于LLM的web应用服务实现系统,包含:web应用客户端和web应用服务端,其中,
web应用客户端,用于接收用户以自然语言描述的服务需求信息;
web应用服务端,用于基于大型语言模型LLM解析服务需求信息并对解析的服务需求信息进行任务拆解,将服务需求信息拆解为存在依赖关系的多个子任务,并依据依赖关系设置子任务执行优先级;识别子任务对应的web应用接口操作名称,根据子任务上下文信息并依据子任务执行优先级执行子任务对应的操作,直至服务需求信息对应的全部子任务执行完毕,将最终执行结果作为响应信息并反馈给用户。
本发明的有益效果:
本发明改变传统的Web应用处理流程和Web应用的交互模式,基于LLM实现Web应用交互,充分利用自然语言处理的能力,满足用户个性化的需求,不仅降低用户使用Web系统的门槛,还大大简化业务处理流程,从而提高用户使用体验,能够应用于各种Web系统,无论是基于云端还是基于客户端,具有广泛的应用场景和市场前景。
附图说明:
图1为实施例中web应用优化系统原理框图示意;
图2为实施例中基于LLM的web应用服务实现流程示意;
图3为实施例中识别子任务对应的web应用接口操作名称流程示意;
图4为实施例中任务拆解和子任务执行流程示意。
具体实施方式:
为使本发明的目的、技术方案和优点更加清楚、明白,下面结合附图和技术方案对本发明作进一步详细的说明。
Web应用与用户交互的过程主要涉及以下几个方面:用户界面(User Interface,UI):Web应用的用户界面是通过HTML、CSS和JavaScript等前端技术构建的。HTML定义了页面的结构,CSS负责页面的样式和布局,而JavaScript用于处理交互、动画和其他动态效果。用户通过浏览器访问Web应用时,会看到这些技术构建的可视界面。用户输入:用户通过各种方式与Web应用交互,例如点击按钮、填写表单、拖放元素等。这些交互行为会触发JavaScript事件,从而执行相应的功能。客户端与服务器的通信:当用户与Web应用交互时(如提交表单或点击链接),通常需要将数据发送到服务器。这种通信通常通过HTTP(超文本传输协议)或HTTPS(安全的HTTP)进行。在此过程中,Web应用会向服务器发送请求(Request),服务器会处理请求并返回响应(Response)。异步通信:为了提高用户体验,Web应用通常使用Ajax(Asynchronous JavaScript and XML)技术实现异步通信。通过Ajax,Web应用可以在不重新加载整个页面的情况下,与服务器交换数据。这样可以减少页面刷新次数,提高响应速度,使得用户界面更加流畅。服务器端处理:服务器接收到客户端的请求后,会根据请求内容进行处理。这可能包括查询数据库、处理业务逻辑、生成动态HTML等。处理完成后,服务器会将结果(通常是HTML、CSS、JavaScript、JSON等格式的数据)返回给客户端。更新用户界面:客户端(浏览器)接收到服务器返回的数据后,通过JavaScript更新用户界面。这可能包括添加新的内容、修改现有内容、显示提示信息等。传统的Web应用是基于用户事件点击和数据填报来完成用户需求的,增加了用户使用门槛和流程的复杂性。为此,本案实施例中,考虑将大语言模型应用到web应用与用户的交互过程中,参见图1所示的web应用优化系统,基于LLM的多个模块相互配合和处理,通过输入框或者语音等方式接收用户需求,并将需求信息通过HTTP或者自定义协议等方式发送到Web应用服务端,Web应用服务端由4个模块组成,分别是需求接受模块、任务编排模块、语义解析模块、异常处理模块。首先需求接受模块处理用户需求信息,并将处理后的信息发送给任务编排模块,任务编排模块以LLM为底座,作为核心控制器,编排和协调子任务之间的依赖关系和优先级,如果执行子任务的过程中,遇到异常信息,那么会将异常信息提交异常处理模块。具体的子任务解析则交给语义解析模块。语义解析模块同样利用LLM的能力,能够分析文本的具体语义并根据语义在描述接口的能力和方法名称的字典结构中,查询出具体的执行方法,并返回给任务编排模块。任务编排模块拿到子任务的执行方法后,重新组织上下文,并且将上下文输入给LLM,LLM会根据上下文的信息,调用相应的执行方法,完成子任务的处理。并且将最终的结果返回给需求接受模块,需求接受模块转化为响应信息,并且将响应信息通过HTTP或者自定义协议等方式发送到Web应用客户端,用户得到最终的响应结果,可以为web应用的发展提供更加高效、精准的服务,为用户提供更加优质的使用体验。
基于上述框架思想,本发明实施例中,参见图2所示,提供一种基于LLM的web应用服务实现方法,包含:
S101、接收用户以自然语言描述的服务需求信息;
S102、基于大型语言模型LLM解析服务需求信息并对解析的服务需求信息进行任务拆解,将服务需求信息拆解为存在依赖关系的多个子任务,并依据依赖关系设置子任务执行优先级;
S103、识别子任务对应的web应用接口操作名称;根据子任务上下文信息并依据子任务执行优先级执行子任务对应的操作,直至服务需求信息对应的全部子任务执行完毕,将最终执行结果作为响应信息并反馈给用户。
收集web应用客户端用户以文本或语音方式输入的任务需求,并将任务需求统一转换为以文本表示的服务需求信息。以输入框的方式,接收用户的请求信息,主要是文本。比如新增用户,名字叫张三,手机号17671623456。这样的自然语言描述信息被称为用户需求。可对文本表示的服务需求信息进行数据预处理,所述数据预处理包括对预设指定字符的过滤,其中,预设指定字符包括特殊字符和敏感字符。
Web应用框架在搭建过程中,可选取适合的大型语言模型(LLM),如OpenAI的GPT-4模型,作为自然语言处理的核心模块;GPT-4具有强大的推理能力,能够理解用户的问题,并提供准确且相关的回答;并选取合适的Web框架,如Python的Flask框架或Java的Springboot框架,构建Web应用的基础架构。其中,基于大型语言模型LLM解析服务需求信息并对解析的服务需求信息进行任务拆解,可具体设计为包含如下内容:首先,利用大型语言模型LLM提取服务需求信息中任务执行动作关键字;然后,依据关键字将服务需求信息拆解为多个子任务。
针对大型语言模型LLM,通过收集和整理用于训练和评估LLM的数据集。数据集应包括用户请求信息以及对应的标签或注释,例如指令和参数的标记。可以手动标注数据或利用现有的标记工具。并使用准备好的数据集对LLM进行训练。训练过程通常包括输入文本的编码、自注意力机制、上下文理解和生成等步骤。可以使用预训练的语言模型(如GPT、BERT等)作为基础模型,然后进行微调,也可以从头开始训练模型。
作为优选实施例,进一步地,识别子任务对应的web应用接口操作名称,包含:首先,利用大型语言模型LLM解析子任务文本信息,依据子任务文本信息将子任务表示为动作指令名称和动作指令参数的组合;然后,依据动作指令名称在web应用接口字典中匹配对应的web应用接口操作名称,其中,web应用接口字典为在web应用开发中将操作执行代码对应接口信息以[key,value]结构进行存储的字典结构,key为全局唯一的接口操作名称,value为接口操作名称对应的执行函数。
在web开发中,定义接口并编写对应的代码。比如用户管理模块中一个接口名为AddUser(Param1,Param2)的方法,作用是新增用户,参数是Param1,Param2。设置一个字典结构,将描述接口的能力和方法名称存放到字典结构中,字典结构如下:[key,value]。以新增用户为例。字典结构中存放的数据是[新增用户,AddUser(Param1,Param2)]。注意,方法名称是全局唯一的。以此类推,Web应用中,所有的接口对应的描述信息都被一一对应存到字典结构中。
参见图3所示,基于大型语言模型LLM解析用户的请求信息,可将请求信息拆解为指令+参数组合。使用预训练后的LLM模型生成指令和参数的组合,将用户请求信息转化为结构化的表示形式。例如,可以使用生成模型从用户输入中提取指令,然后使用序列标注模型或规则匹配方法提取参数信息。如果用户请求信息中涉及到特定实体的识别,可以使用命名实体识别(NER)模型或其他相关技术将文本序列中的实体识别为预定义的类别,例如人名、地点、时间等。比如添加用户,名字叫张三,手机号17671623456,被解析为action=添加用户,parameter=名字叫张三,手机号17671623456;根据action的语义,基于LLM的能力根据语义查询出定义字典中对应的value值,即执行方法名称,比如字典中存放的是[新增用户,AddUser],action=新增用户,LLM能够区分出来添加用户和新增用户语义相同,那么从字典中就能查询出来对应的接口是AddUser。
参见图4所示,以LLM作为控制器,拆解用户的需求为多个子任务。比如添加用户,名字叫张三,手机号17671623456,然后赋予张三一个管理员的权限。这个用户需求会被拆解为2个子任务,第一个子任务是新增用户,第二个任务是赋予张三管理员的权限,并且任务之间存在依赖关系,第二个任务依赖第一个任务。按照拆分的子任务,进行任务编排,定义任务的优先级,按照优先级执行对应的任务。比如上面的用户需求中,因为用户的描述中有然后,那么拆解的第二个子任务,需要在第一个子任务执行完成后,才能被执行。根据子任务的信息,基于语言解析模块获取指令和参数信息。比如添加用户,名字叫张三,手机号17671623456,然后赋予张三一个管理员的权限。会被解析为第一个任务指令是AddUser,参数是[名字=张三,手机号=17671623456]。第二个任务指令是AddPermisson,参数是[名字=张三,权限=管理员]。重新组装上下文,即执行AddUser方法,参数是[名字=张三,手机号=17671623456],执行完AddUser方法后,再执行AddPermisson方法,参数是[名字=张三,权限=管理员]。将该上下文输入到LLM中。LLM根据上下文执行任务。如果子任务有返回结果,将返回结果做自回归,作为下一个任务的入参,一并提交。全部任务执行完成后,将结果返回给前端。
本案实施例中,进一步地,根据子任务上下文信息并依据子任务执行优先级执行子任务对应的操作,还包含:依据子任务对应操作执行结果对其执行异常进行检测,以对子任务操作异常执行进行强制处理。通过异常检测和处理来提高web应用系统的稳定性。
子任务执行完毕后,会返回统一格式的处理结果。具体格式可设计如下:
{code:0,
message:成功
data:123
}
利用code来表示任务执行成功还是失败,并可设置值为0是成功,值为-1失败。如果code=-1,那么表示任务失败。会进入异常处理流程。通过预定义各任务异常处理流程,比如定义新增任务失败异常处理流程,任务失败以后是直接返回,还是重试。执行异常处理模块以后,结束任务。
进一步地,基于上述的方法,本发明实施例还提供一种基于LLM的web应用服务实现系统,包含:web应用客户端和web应用服务端,其中,
web应用客户端,用于接收用户以自然语言描述的服务需求信息;
web应用服务端,用于基于大型语言模型LLM解析服务需求信息并对解析的服务需求信息进行任务拆解,将服务需求信息拆解为存在依赖关系的多个子任务,并依据依赖关系设置子任务执行优先级;识别子任务对应的web应用接口操作名称,根据子任务上下文信息并依据子任务执行优先级执行子任务对应的操作,直至服务需求信息对应的全部子任务执行完毕,将最终执行结果作为响应信息并反馈给用户。
除非另外具体说明,否则在这些实施例中阐述的部件和步骤的相对步骤、数字表达式和数值并不限制本发明的范围。
本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。对于实施例公开的系统而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。
结合本文中所公开的实施例描述的各实例的单元及方法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已按照功能一般性地描述了各示例的组成及步骤。这些功能是以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。本领域普通技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不认为超出本发明的范围。
本领域普通技术人员可以理解上述方法中的全部或部分步骤可通过程序来指令相关硬件完成,所述程序可以存储于计算机可读存储介质中,如:只读存储器、磁盘或光盘等。可选地,上述实施例的全部或部分步骤也可以使用一个或多个集成电路来实现,相应地,上述实施例中的各模块/单元可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。本发明不限制于任何特定形式的硬件和软件的结合。
最后应说明的是:以上所述实施例,仅为本发明的具体实施方式,用以说明本发明的技术方案,而非对其限制,本发明的保护范围并不局限于此,尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,其依然可以对前述实施例所记载的技术方案进行修改或可轻易想到变化,或者对其中部分技术特征进行等同替换;而这些修改、变化或者替换,并不使相应技术方案的本质脱离本发明实施例技术方案的精神和范围,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应所述以权利要求的保护范围为准。
- 一种基于LDA跨域的构建服务知识图谱实现服务组合优化的方法及系统
- 一种基于LDA跨域的构建服务知识图谱实现服务组合优化的方法及系统