CN118034661A - 大语言模型智能任务应用系统 - Google Patents
大语言模型智能任务应用系统 Download PDFInfo
- Publication number
- CN118034661A CN118034661A CN202410438709.3A CN202410438709A CN118034661A CN 118034661 A CN118034661 A CN 118034661A CN 202410438709 A CN202410438709 A CN 202410438709A CN 118034661 A CN118034661 A CN 118034661A
- Authority
- CN
- China
- Prior art keywords
- component
- data
- language model
- large language
- application system
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
- 230000003993 interaction Effects 0.000 claims abstract description 52
- 238000004364 calculation method Methods 0.000 claims abstract description 9
- 238000004806 packaging method and process Methods 0.000 claims abstract description 5
- 238000011161 development Methods 0.000 claims description 19
- 238000000034 method Methods 0.000 claims description 17
- 238000012795 verification Methods 0.000 claims description 15
- 238000012545 processing Methods 0.000 claims description 10
- 230000002688 persistence Effects 0.000 claims description 9
- 230000002452 interceptive effect Effects 0.000 claims description 7
- 238000007405 data analysis Methods 0.000 claims description 5
- 238000011144 upstream manufacturing Methods 0.000 claims description 5
- 238000006243 chemical reaction Methods 0.000 claims description 4
- 238000004140 cleaning Methods 0.000 claims description 4
- 238000005516 engineering process Methods 0.000 abstract description 6
- 239000000306 component Substances 0.000 description 133
- 230000006870 function Effects 0.000 description 14
- 238000010586 diagram Methods 0.000 description 7
- 230000008569 process Effects 0.000 description 7
- 238000013461 design Methods 0.000 description 6
- 238000012216 screening Methods 0.000 description 6
- 239000008186 active pharmaceutical agent Substances 0.000 description 4
- 238000004891 communication Methods 0.000 description 4
- 238000003491 array Methods 0.000 description 3
- 238000002347 injection Methods 0.000 description 3
- 239000007924 injection Substances 0.000 description 3
- 238000007726 management method Methods 0.000 description 3
- 239000003795 chemical substances by application Substances 0.000 description 2
- 238000010276 construction Methods 0.000 description 2
- 238000007667 floating Methods 0.000 description 2
- 239000000463 material Substances 0.000 description 2
- 230000002085 persistent effect Effects 0.000 description 2
- 238000012800 visualization Methods 0.000 description 2
- 238000004458 analytical method Methods 0.000 description 1
- 238000013473 artificial intelligence Methods 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 239000008358 core component Substances 0.000 description 1
- 238000013524 data verification Methods 0.000 description 1
- 238000013079 data visualisation Methods 0.000 description 1
- 230000002708 enhancing effect Effects 0.000 description 1
- 238000007689 inspection Methods 0.000 description 1
- 230000010354 integration Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000003058 natural language processing Methods 0.000 description 1
- 230000035515 penetration Effects 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 230000002441 reversible effect Effects 0.000 description 1
- 238000010845 search algorithm Methods 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 230000007474 system interaction Effects 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
- 238000013519 translation Methods 0.000 description 1
Landscapes
- Devices For Executing Special Programs (AREA)
Abstract
本发明涉及一种大语言模型智能任务应用系统,其中,编程计算组件用于编写大语言模型智能任务应用系统的代码,并为其他组件提供交互接口;基础组件用于定义输入数据类型、输出数据的类型、输入数据和输出数据的安全性级别,并利用交互接口与外部系统和/或外部数据源进行第一数据交互;可复用组件用于在构建工作流的图结构时,校验所有连通的节点的输入数据类型和输出数据类型是否匹配,并基于交互接口与外部系统和/或外部数据源进行第二数据交互;任务服务组件用于将工作流组合封装为智能任务,并提供向外的服务接口。由此,解决相关技术在部署阶段正确性、安全性不足的问题,使系统具备易用性和可扩展性的同时,提升正确性和安全性。
Description
技术领域
本申请涉及人工智能技术领域,特别涉及一种大语言模型智能任务应用系统。
背景技术
随着ChatGPT(Chat Generative Pre-trained Transformer,一种聊天机器人程序)发布,大语言模型的独特能力得到了充分的重视,应用开发者越来越倾向于将大语言模型集成到自己的应用中,用以完成一些复杂的智能任务。然而,由于大语言模型生成结果的不确定性和不准确性,仅依靠大语言模型本身能够提供的智能化服务非常有限。
相关技术如LangChain等大语言模型应用框架,通过将大语言模型能力融入更复杂的计算流程中,用以完成更复杂的智能任务,提供更智能化的服务。
对话式大语言模型系统是一种以大语言模型为核心能力、能够提供对话式服务与用户进行交互的系统。它可以接受用户的输入,并生成相应的自然语言响应。用户可以通过简单的对话交互利用该系统完成各种简单的自然语言处理任务,例如语言理解、文本生成、机器翻译等。同时,用户也可以通过在输入内容中详细描述需求,利用对话式大语言模型系统完成知识问答、个性化推荐、代码编写等较复杂的智能任务。虽然该系统具备了大语言模型的核心能力,但受限于该系统较为单一的交互运行方式和较薄的后端设施,该系统难以支持用户快速、批量地完成具有一定复杂度的智能任务,并且不能够支持用户完成需要大量资料、超长上下文跨度的智能任务。
LangChain是一个用于开发由语言模型驱动的应用程序的框架。它支持将大语言模型与外部数据源进行连接,并允许与大语言模型进行交互。它支持了多种复杂功能组件,例如文档知识库、数据库索引、命令执行器和接口调用器等。LangChain围绕大语言模型的应用场景构建了一套应用开发框架和常用功能组件,开发者可以在这个框架内快速地开发较为复杂的智能任务应用。然而,LangChain框架的核心始终是智能任务应用的快速构建,对于应用在规模化部署阶段的需求则不能满足。首先,LangChain框架使用Python这种弱类型脚本语言编写,脚本语言的特性决定了由它构建的应用存在天然的运行效率瓶颈,弱类型语言的特性决定了它在构建应用阶段能够进行的错误检查非常有限,也就是在运行阶段存在更大的错误风险。其次,LangChain框架现阶段存在一些风险较大的安全漏洞,例如SQL(Structured Query Language,结构化查询语言)注入和命令穿透执行等,这在web应用程序中尤其危险,可能导致数据破坏和信息泄露风险。
综上,此类框架目前主要关注应用的快速开发,对应用本身的正确性和安全性等方面优化较少,因此由其搭建的智能任务应用尚不适用于实际的大规模部署场景。
发明内容
本申请提供一种大语言模型智能任务应用系统,以解决相关技术在部署阶段正确性、安全性不足的问题,通过分层系统设计和施加多种强类型约束,使得系统在具备易用性和可扩展性的同时,显著提升部署阶段的正确性和安全性。
本申请第一方面实施例提供一种大语言模型智能任务应用系统,包括:编程计算组件、基础组件、可复用组件和任务服务组件,其中,
所述编程计算组件,用于基于预设的强类型编程语言编写大语言模型智能任务应用系统的代码,并为所述基础组件、所述可复用组件和所述任务服务组件提供交互接口;
所述基础组件,用于基于预设的数据类型约束策略和预设的安全等级约束策略定义输入数据类型、输出数据类型、输入数据安全性级别和输出数据安全性级别,并基于所述输入数据安全性级别和所述输出数据安全性级别,利用所述交互接口与外部系统和/或外部数据源进行第一数据交互;
所述可复用组件,用于在构建工作流的图结构时,基于预设的校验策略,校验所有连通的节点的输入数据类型和输出数据类型是否匹配,并基于所述交互接口与所述外部系统和/或所述外部数据源进行第二数据交互;以及
所述任务服务组件,用于将工作流组合封装为智能任务,并提供向外的服务接口。
可选地,在一些实施例中,所述编程计算组件,包括:
强类型编程件,所述强类型编程件用于编写所述大语言模型智能任务应用系统的代码。
可选地,在一些实施例中,所述编程计算组件,还包括:
开发件,所述开发件用于为应用开发者提供开发环境;
算法库,所述算法库包括多种基础算法和数据结构;
并行计算框架,所述并行计算框架用于支持多线程计算,或者多进程计算,或者分布式计算。
可选地,在一些实施例中,所述开发件包括代码编辑器、编译器和调试器中的至少一种。
可选地,在一些实施例中,所述基础组件,包括:
组件输入输出数据类型约束件,用于定义所述输入数据类型和所述输出数据类型
组件输入输出安全等级约束件,用于定义和验证所述输入数据安全性级别和所述输出数据安全性级别。
可选地,在一些实施例中,所述基础组件,还包括:
数据处理件,用于对待处理数据进行数据清洗、数据转换和数据分析;
数据持久化件,所述数据持久化件用于对所述待处理数据进行持久化处理;
向外交互件,用于与所述外部系统和/或所述外部数据源进行第一数据交互;
大语言模型调用件,用于基于API调用策略和本地模型调用策略,调用各类大语言模型;
可视化件,用于提供数据可视化工具。
可选地,在一些实施例中,所述可复用组件,包括:
连通节点数据类型校验件,用于在构建所述工作流的图结构时,基于所述预设的校验策略,校验所有连通的节点中的下游节点的输入数据类型和上游节点的输出数据类型是否一致。
可选地,在一些实施例中,所述可复用组件,还包括:
流程管理件,用于定义所述工作流和/或执行所述工作流;
模板库,用于提供业务模板;
适配件,用于基于所述交互接口与所述外部系统和/或所述外部数据源进行所述第二数据交互。
可选地,在一些实施例中,所述任务服务组件向外提供的服务接口包括对话服务接口、知识库服务接口和智能体服务接口。
可选地,在一些实施例中,
所述编程计算组件设置于大语言模型智能任务应用系统的底层;
所述基础组件设置于所述编程计算组件上方;
所述可复用组件设置于所述基础组件上方;
所述任务服务组件设置于所述大语言模型智能任务应用系统顶层。
由此,通过编程计算组件基于预设的强类型编程语言编写大语言模型智能任务应用系统的代码,并为基础组件、可复用组件和任务服务组件提供交互接口;通过基础组件基于预设的数据类型约束策略和预设的安全等级约束策略定义输入数据类型、输出数据类型、输入数据安全性级别和输出数据安全性级别,并基于输入数据安全性级别和输出数据安全性级别,利用交互接口与外部系统和/或外部数据源进行第一数据交互;通过可复用组件在构建工作流的图结构时,基于预设的校验策略,校验所有连通的节点的输入数据类型和输出数据类型是否匹配,并基于交互接口与外部系统和/或外部数据源进行第二数据交互;通过任务服务组件将工作流组合封装为智能任务,并提供向外的服务接口。由此,解决了相关技术在部署阶段正确性、安全性不足的问题,通过分层系统设计和施加多种强类型约束,使得系统在具备易用性和可扩展性的同时,显著提升部署阶段的正确性和安全性。
本申请附加的方面和优点将在下面的描述中部分给出,部分将从下面的描述中变得明显,或通过本申请的实践了解到。
附图说明
本申请上述的和/或附加的方面和优点从下面结合附图对实施例的描述中将变得明显和容易理解,其中:
图1为根据本申请实施例提供的大语言模型智能任务应用系统的结构示意图;
图2为根据本申请一个实施例提供的大语言模型智能任务应用系统的原理示意图。
具体实施方式
下面详细描述本申请的实施例,所述实施例的示例在附图中示出,其中自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。下面通过参考附图描述的实施例是示例性的,旨在用于解释本申请,而不能理解为对本申请的限制。
针对相关技术在部署阶段正确性、安全性不足的问题,本申请实施例提出了一种大语言模型智能任务应用系统,通过分层系统设计和施加多种强类型约束,使得系统在具备易用性和可扩展性的同时,显著提升部署阶段的正确性和安全性。
具体而言,图1为本申请实施例所提供的一种大语言模型智能任务应用系统的结构示意图。
如图1所示,该大语言模型智能任务应用系统10包括:编程计算组件100、基础组件200、可复用组件300和任务服务组件400。
编程计算组件100,用于基于预设的强类型编程语言编写大语言模型智能任务应用系统10的代码,并为基础组件200、可复用组件300和任务服务组件400提供交互接口。
其中,预设的强类型语言包括:c++、go语言、java等。
可选地,在一些实施例中,编程计算组件100,还包括:开发件、算法库和并行计算框架。
其中,开发件,用于为应用开发者提供开发环境。
算法库包括:多种基础算法(例如,排序算法、搜索算法、图论算法等)和多种数据结构。
并行计算框架,用于支持多线程计算,或者多进程计算,或者分布式计算。
可选地,在一些实施例中,开发件包括代码编辑器、编译器和调试器中的至少一种。
具体地,编程计算组件100为整个大语言模型智能任务应用系统10提供了基本的编程和计算框架,开发件可以为应用开发者提供一整套集成开发环境(IntegratedDevelopment Environment,IDE),包括代码编辑器、编译器、调试器等;算法库可以包含各种基础算法和数据结构,例如,排序、搜索、图论算法等,方便开发者快速实现和应用;并行计算框架提供了基于并行计算的框架,支持多线程、多进程以及分布式计算,可以提高计算效率。
编程计算组件100还包括系统接口,以通过系统接口为上层提供标准化的接口,使得基础组件200、可复用组件300和任务服务组件400可以与编程计算组件100进行交互。
可选地,在一些实施例中,编程计算组件100,包括:强类型编程件。
其中,强类型编程件,用于编写大语言模型智能任务应用系统10的代码。
需要说明的是,本申请实施例可以通过强类型编程件施加一类强类型约束。
具体地,本申请实施例可以使用强类型编程方式编写系统代码,该约束要求本申请实施例的基础代码均由强类型编程语言编写,使得程序能够在编译阶段捕获类型错误,减少运行时错误的发生,并提高代码质量和可维护性。
基础组件200,用于基于预设的数据类型约束策略和预设的安全等级约束策略定义输入数据类型、输出数据类型、输入数据安全性级别和输出数据安全性级别,并基于输入数据安全性级别和输出数据安全性级别,利用交互接口与外部系统和/或外部数据源进行第一数据交互。
其中,预设的数据约束策略可以为通过组件输入输出数据类型约束件定义输入数据类型、输出数据类型、输入数据安全性级别和输出数据安全性级别,预设的安全等级约束策略可以为通过组件输入输出安全等级约束件定义和验证输入数据类型、输出数据类型、输入数据安全性级别和输出数据安全性级别。
可选地,在一些实施例中,基础组件200,还包括:数据处理件、数据持久化件、向外交互件、大语言模型调用件和可视化件。
其中,数据处理件,用于对待处理数据进行数据清洗、数据转换和数据分析。
数据持久化件,用于对待处理数据进行持久化处理。
向外交互件,用于与外部系统和/或外部数据源进行第一数据交互。
大语言模型调用件,用于基于API调用策略和本地模型调用策略,调用各类大语言模型。
可视化件,用于提供数据可视化工具。
具体地,基础组件200这一层级主要负责实现各种核心业务逻辑,数据处理件可以提供数据清洗、转换、分析等功能,支持多种数据源的接入;数据持久化件可以提供各种数据持久化模块,包括数据库、向量索引、知识库等;向外交互件可以提供各种向外部系统进行主动交互操作的功能,包括执行bash命令、执行SQL命令、使用搜索引擎等;大语言模型调用件可以提供各类大语言模型的调用能力,包括API调用和本地模型调用等;可视化件可以提供数据可视化工具,帮助用户更好地理解和分析数据。
可选地,在一些实施例中,基础组件200,包括:组件输入输出数据类型约束件和组件输入输出安全等级约束件。
组件输入输出数据类型约束件,用于定义输入数据类型和输出数据类型。
组件输入输出安全等级约束件,用于定义和验证输入数据安全性级别和输出数据安全性级别。需要说明的是,本申请实施例可以通过组件输入输出数据类型约束件、组件输入输出安全等级约束件施加两类强类型约束。
具体地,组件输入输出数据类型约束件可以对各基础组件200的输入输出进行强类型定义,该约束要求所有基础组件的输入数据、输出数据必须具有明确的类型定义,其中数据类型可以包括:整数、浮点数、字符串、数组、键-值对和其它抽象数据类型等。
组件输入输出安全等级约束件可以定义各基础组件200的输入数据安全性级别和输出数据安全性级别,并实现对应的验证流程。该约束在类型定义的基础上添加了安全级别的定义,并对每种安全级别设计相应的数据验证流程,用以在复杂的智能应用中保证不同种类组件的安全性,并最大化地保证可用性。本申请实施例定义的安全性级别和验证流程包括但不限于:
数值类型:数值范围校验。
裸字符串:字符集合法性校验。
持久化字符串:字符集合法性校验、注入性攻击筛查。
数据库交互命令:注入性攻击筛查、权限控制。
系统交互命令:注入性攻击筛查、命令白名单筛查。
搜索引擎交互字符串:合规性筛查。
在实际执行过程中,基础组件200的输入输出数据的安全性级别由该组件的开发者在开发该组件时进行确定和定义,同时,本申请实施例中定义有不同安全性级别数据对应的验证函数,用以判断实际数据是否符合特定级别的安全性。在执行智能任务推理时,会根据各组件输入/输出数据的安全性级别,在实际数据输入/输出时调用对应级别的验证函数进行安全性校验。
举例而言:开发者需要开发一个“自动执行SQL查询并输入返回结果的目标组件”,则开发者在定义目标组件时,将目标组件的输入数据类型规定为“字符串”、输入数据安全性级别规定为“数据库交互命令”、输出数据类型规定为“字符串”、输出数据安全性定义为“裸字符串”。
当目标组件被接入工作流后,在实际运行过程中,目标组件每次收到新的输入数据,都会自动调用本框架内的“数据库交互命令安全性验证函数”,仅当函数输出“通过”时,会继续执行组件内部处理逻辑(“数据库交互命令安全性验证函数”内部逻辑中包含字符集合法性判断、SQL注入筛查等相应的安全性验证逻辑)。
在目标组件每次生产新的输出数据,都会自动调用本框架内的“裸字符串安全性验证函数”,仅当函数输出“通过”时,工作流会将目标组件当次生产的数据传递给下游组件。可复用组件300,用于在构建工作流的图结构时,基于预设的校验策略,校验所有连通的节点的输入数据类型和输出数据类型是否匹配,并基于交互接口与外部系统和/或外部数据源进行第二数据交互。
其中,预设的校验策略可以为校验所有连通的节点中的下游节点的输入数据类型和上游节点的输出数据类型是否一致。
可选地,在一些实施例中,可复用组件300,还包括:流程管理件、模板库和适配件。
其中,流程管理件,用于定义工作流和/或执行工作流。
模板库,用于提供业务模板,业务模板包括数据分析模板、问答模板等。
适配件,用于基于交互接口与外部系统和/或外部数据源进行第二数据交互。
具体地,可复用组件300主要用于提高大语言模型智能任务应用系统的复用性和灵活性。可复用组件300可以包括:流程管理件,用于支持工作流定义和执行,方便对业务流程进行自动化管理;模板库,用于提供各种业务模板,例如,数据分析模板、问答模板等,方便用户快速构建应用;适配件,用于连接不同的外部系统和数据源,实现数据的整合和交换。
可选地,在一些实施例中,可复用组件300,包括:连通节点数据类型校验件。
需要说明的是,本申请实施例可以通过连通节点数据类型校验件施加一类强类型约束。
其中,连通节点数据类型校验件,用于在构建工作流的图结构时,基于预设的校验策略,校验所有连通的节点中的下游节点的输入数据类型和上游节点的输出数据类型是否一致。
具体地,本申请实施例对计算图结构的连通节点进行数据类型检查。该约束要求在构建工作流的图结构时对所有连通的节点进行输入输出数据类型进行校验,要求上游节点的输出类型与下游节点的输入类型完全匹配,并且对应的安全级别必须符合要求。
举例而言,本申请实施例可以设置如表1所示的4个组件(未填写的表格代表可以为任意值,不影响本申请实施例),表1为组件信息表。
表1
组件 | 输入类型 | 输入安全性级别 | 输出类型 | 输出安全性级别 |
组件A | 字符串 | 持久化字符串 | ||
组件B | 浮点数 | 数值类型 | ||
组件C | 字符串 | 数据库交互命令 | ||
组件D | 字符串 | 裸字符串 |
本申请实施例将在工作流编译时检查各连通节点:
具体而言,若一个智能任务的计算图中包含了A->B 的边,则会在工作流编译时报错:A的输出数据类型与B的输入数据类型不匹配;
若一个智能任务的计算图中包含了A->C的边,则会在工作流编译时报警告:A的输出数据安全性低于与C的输入数据安全性,需要注意;
若一个智能任务的计算图中包含了A->D的边,则符合数据类型相同、A输出数据安全性不低于D输入数据安全性,在工作流编译时不对该连通关系报错或报警告,即校验过程通过。
任务服务组件400,用于将工作流组合封装为智能任务,并提供向外的服务接口。
具体地,任务服务组件400主要用于将工作流组合封装为智能任务并提供向外的服务接口,其中,智能任务包括但不限于:对话服务、知识库服务、智能体服务。任务服务组件400的安全性保障以网络服务安全技术为主,暂不需要施加额外的强类型约束。
通过以上四个层级的设计,以及在各层级上分别施加的强类型约束,本申请实施例提出的大语言模型智能任务应用系统10能够更好地满足开发阶段和部署阶段的需求,既保证了系统的易用性和可扩展性,又增强了系统的正确性、安全性和可维护性。
可选地,在一些实施例中,编程计算组件100设置于大语言模型智能任务应用系统10的底层;基础组件200设置于编程计算组件100上方;可复用组件300设置于基础组件200上方;任务服务组件400设置于大语言模型智能任务应用系统10顶层。
具体地,结合图2所示,本申请实施例使用强类型编程方式编写大语言模型智能任务应用系统10代码,优势在于,强类型编程语言在编译时进行严格的类型检查,能够在编译阶段捕获类型错误,减少运行时错误的发生,有助于提高代码质量和可维护性,为打造社区生态提供坚实基础。
同时,本申请实施例对基础组件200的输入输出进行强类型定义,使得组件更加模块化,更易进行分类抽象,增强整个框架在开发阶段的易用性。
为使本领域相关技术人员进一步了解本申请实施例的大语言模型智能任务应用系统,下面结合具体实施例进行详细阐述。
需要指出的是,创建不同的大语言模型智能任务应用,并不需要每次都从头开始构建一个新的系统,而是在本框架给定的系统基座上,通过添加新组件、添加新工作流的方式构建出一个新的应用。
举例而言,结合图2所示,在本系统框架下创建一个对话式的MySQL数据库查询应用:
1、系统基座由golang开发,定义了“组件”、“工作流图结构”、“组件间连接关系”等一系列基类接口,作为开发新组件和部署运行的基础。
2、为了创建上述应用,应用开发者需要开发3个组件:①具备对话和生成SQL查询语句能力的大语言模型组件;②能够连接数据库、自动执行SQL语句并输出返回结果的MySQL数据库交互组件;③能够区分一段字符串输出是否需要由数据库执行并返回结果的分流组件。开发组件的输入输出定义如表2,其中,表2为开发组件的输入输出定义表。
表2
组件 | 输入(数据类型-安全性级别) | 输出(数据类型-安全性级别) |
大语言模型组件 | 输入1:字符串-裸字符串 | 输出1:字符串-裸字符串 |
MySQL数据库交互组件 | 输入1:字符串-数据库交互命令 | 输出1:字符串-裸字符串 |
分流组件 | 输入1:字符串-裸字符串 | 输出1:字符串-裸字符串输出2:字符串-数据库交互命令 |
3、将上述核心组件连接成为一个工作流计算图,可以使用任意能够准确表达计算图的形式,以下使用json文件格式作为举例:
JSON{"graph_name": "数据库对话工作流","graph": {"out1@str_in": "in1@llm","out1@llm": "in1@switch","out1@switch": "in1@str_out","out2@switch": "in1@db_exe","out1@db_exe": "in1@llm"},"op": {"str_in": {"type": "StrInput"},"llm": {"type": "LLMModule","param": {"model": "xxx"}},"switch": {"type": "StrSwitch"},"db_exe": {"type": "DataBaseExecutor","param": {"db": "mysql","host": "xxx"}},"str_out": {"type": "StrOutput"}}}
如上述代码所示,工作流计算图定义了工作流中的各个组件以及它们之间的连接关系,用户通过"str_in"输入字符串,字符串输入(即,"str_in")的输出连接到大语言模型组件"llm"的输入,大语言模型组件的输出为分流组件"switch"的输入,分流组件有两种输出,分别为:输出1字符串-裸字符串、输出2字符串-数据库交互命令,其中输出1会提供给"str_out",作为大语言模型的输出;输出2会作为输入提供给MySQL数据库交互组件"db_exe",MySQL数据库交互组件"db_exe"自动执行SQL语句并输出返回结果给大语言模型组件"llm"。
4、将第3步中定义的计算图输入给系统,进行部署前的工作流预编译阶段,系统将解析其中的连通关系并检验数据类型和安全性,本申请实施例中定义的计算图数据类型正确、安全性正确。而此工作流的每次实际运行时,各组件都会根据输入/输出所属的安全性级别,调用系统内的安全性校验函数检验每份数据的安全性。
5、预编译完成后用户可将此工作流做外部接口封装,例如选用标准openAI-API式接口,封装完成后一个对话式MySQL数据库查询应用创建成功。用户可以运行此任务,通过多轮自然语言式的输入,基于数据库中的已有信息获取到想要的结果。(例如:用户输入:“总结一下所有月薪2万以上的员工在2023年使用年假的规律”,应用返回:“好的,数据库中查询到以下2条符合条件的结果:①小明,2023年年假共x天,已使用x天,日期分别是x月x日;②小红,…,根据以上数据,所有月薪2万以上的员工在2023年使用年假的规律有:…”)。本申请实施例为传输数据类型赋予安全性级别定义,并针对每个安全级别设计了对应的验证流程,优势在于,严格地保证了每个功能单元与外界交互的范围被限制在可控的范围内,并且通过分级保证了低风险模块的灵活性,同时,带来的良好可扩展性保证了本系统可以在迭代中对新出现的外部风险进行快速应对。
本申请实施例对工作流图结构的连通节点进行数据类型检查,优势在于,通过在流水线图结构构建阶段对各功能模块的连接进行严格的类型检查,捕获模块连接错误,提前校验图结构的正确性,减少运行时错误的发生。
根据本申请实施例提出的大语言模型智能任务应用系统,通过编程计算组件基于预设的强类型编程语言编写大语言模型智能任务应用系统的代码,并为基础组件、可复用组件和任务服务组件提供交互接口;通过基础组件基于预设的数据类型约束策略和预设的安全等级约束策略定义输入数据类型、输出数据类型、输入数据安全性级别和输出数据安全性级别,并基于输入数据安全性级别和输出数据安全性级别,利用交互接口与外部系统和/或外部数据源进行第一数据交互;通过可复用组件在构建工作流的图结构时,基于预设的校验策略,校验所有连通的节点的输入数据类型和输出数据类型是否匹配,并基于交互接口与外部系统和/或外部数据源进行第二数据交互;通过任务服务组件将工作流组合封装为智能任务,并提供向外的服务接口。由此,解决了相关技术在在部署阶段正确性、安全性不足的问题,通过分层系统设计和施加多种强类型约束,使得系统在具备易用性和可扩展性的同时,显著提升部署阶段的正确性和安全性。
在本说明书的描述中,参考术语“一个实施例”、“一些实施例”、 “示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本申请的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不是必须针对的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任一个或N个实施例或示例中以合适的方式结合。此外,在不相互矛盾的情况下,本领域的技术人员可以将本说明书中描述的不同实施例或示例以及不同实施例或示例的特征进行结合和组合。
此外,术语“第一”、“第二”仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括至少一个该特征。在本申请的描述中,“N个”的含义是至少两个,例如两个,三个等,除非另有明确具体的限定。
流程图中或在此以其他方式描述的任何过程或方法描述可以被理解为,表示包括一个或更N个用于实现定制逻辑功能或过程的步骤的可执行指令的代码的模块、片段或部分,并且本申请的优选实施方式的范围包括另外的实现,其中可以不按所示出或讨论的顺序,包括根据所涉及的功能按基本同时的方式或按相反的顺序,来执行功能,这应被本申请的实施例所属技术领域的技术人员所理解。
应当理解,本申请的各部分可以用硬件、软件、固件或它们的组合来实现。在上述实施方式中,N个步骤或方法可以用存储在存储器中且由合适的指令执行系统执行的软件或固件来实现。如,如果用硬件来实现和在另一实施方式中一样,可用本领域公知的下列技术中的任一项或他们的组合来实现:具有用于对数据信号实现逻辑功能的逻辑门电路的离散逻辑电路,具有合适的组合逻辑门电路的专用集成电路,可编程门阵列,现场可编程门阵列等。
本技术领域的普通技术人员可以理解实现上述实施例方法携带的全部或部分步骤是可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,该程序在执行时,包括方法实施例的步骤之一或其组合。
尽管上面已经示出和描述了本申请的实施例,可以理解的是,上述实施例是示例性的,不能理解为对本申请的限制,本领域的普通技术人员在本申请的范围内可以对上述实施例进行变化、修改、替换和变型。
Claims (10)
1.一种大语言模型智能任务应用系统,其特征在于,包括:编程计算组件、基础组件、可复用组件和任务服务组件,其中,
所述编程计算组件,用于基于预设的强类型编程语言编写大语言模型智能任务应用系统的代码,并为所述基础组件、所述可复用组件和所述任务服务组件提供交互接口;
所述基础组件,用于基于预设的数据类型约束策略和预设的安全等级约束策略定义输入数据类型、输出数据类型、输入数据安全性级别和输出数据安全性级别,并基于所述输入数据安全性级别和所述输出数据安全性级别,利用所述交互接口与外部系统和/或外部数据源进行第一数据交互;
所述可复用组件,用于在构建工作流的图结构时,基于预设的校验策略,校验所有连通的节点的输入数据类型和输出数据类型是否匹配,并基于所述交互接口与所述外部系统和/或所述外部数据源进行第二数据交互;以及
所述任务服务组件,用于将工作流组合封装为智能任务,并提供向外的服务接口。
2.根据权利要求1所述的大语言模型智能任务应用系统,其特征在于,所述编程计算组件,包括:
强类型编程件,所述强类型编程件用于编写所述大语言模型智能任务应用系统的代码。
3.根据权利要求2所述的大语言模型智能任务应用系统,其特征在于,所述编程计算组件,还包括:
开发件,所述开发件用于为应用开发者提供开发环境;
算法库,所述算法库包括多种基础算法和数据结构;
并行计算框架,所述并行计算框架用于支持多线程计算,或者多进程计算,或者分布式计算。
4.根据权利要求3所述的大语言模型智能任务应用系统,其特征在于,所述开发件包括代码编辑器、编译器和调试器中的至少一种。
5.根据权利要求1-4中任一项所述的大语言模型智能任务应用系统,其特征在于,所述基础组件,包括:
组件输入输出数据类型约束件,用于定义所述输入数据类型和所述输出数据类型;
组件输入输出安全等级约束件,用于定义和验证所述输入数据安全性级别和所述输出数据安全性级别。
6.根据权利要求5所述的大语言模型智能任务应用系统,其特征在于,所述基础组件,还包括:
数据处理件,用于对待处理数据进行数据清洗、数据转换和数据分析;
数据持久化件,所述数据持久化件用于对所述待处理数据进行持久化处理;
向外交互件,用于与所述外部系统和/或所述外部数据源进行第一数据交互;
大语言模型调用件,用于基于API调用策略和本地模型调用策略,调用各类大语言模型;
可视化件,用于提供数据可视化工具。
7.根据权利要求1-4中任一项所述的大语言模型智能任务应用系统,其特征在于,所述可复用组件,包括:
连通节点数据类型校验件,用于在构建所述工作流的图结构时,基于所述预设的校验策略,校验所有连通的节点中的下游节点的输入数据类型和上游节点的输出数据类型是否一致。
8.根据权利要求7所述的大语言模型智能任务应用系统,其特征在于,所述可复用组件,还包括:
流程管理件,用于定义所述工作流和/或执行所述工作流;
模板库,用于提供业务模板;
适配件,用于基于所述交互接口与所述外部系统和/或所述外部数据源进行所述第二数据交互。
9.根据权利要求1-4中任一项所述的大语言模型智能任务应用系统,其特征在于,所述任务服务组件向外提供的服务接口包括对话服务接口、知识库服务接口和智能体服务接口。
10.根据权利要求1-4中任一项所述的大语言模型智能任务应用系统,其特征在于,
所述编程计算组件设置于大语言模型智能任务应用系统的底层;
所述基础组件设置于所述编程计算组件上方;
所述可复用组件设置于所述基础组件上方;
所述任务服务组件设置于所述大语言模型智能任务应用系统顶层。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202410438709.3A CN118034661B (zh) | 2024-04-12 | 2024-04-12 | 大语言模型智能任务应用系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202410438709.3A CN118034661B (zh) | 2024-04-12 | 2024-04-12 | 大语言模型智能任务应用系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN118034661A true CN118034661A (zh) | 2024-05-14 |
CN118034661B CN118034661B (zh) | 2024-06-11 |
Family
ID=90993642
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202410438709.3A Active CN118034661B (zh) | 2024-04-12 | 2024-04-12 | 大语言模型智能任务应用系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN118034661B (zh) |
Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116680093A (zh) * | 2023-05-20 | 2023-09-01 | 数字郑州科技有限公司 | 基于LLM的web应用优化系统及服务实现方法和系统 |
US20230350650A1 (en) * | 2022-04-29 | 2023-11-02 | Grid.ai, Inc. | Distributed application development platform |
CN117009113A (zh) * | 2023-09-04 | 2023-11-07 | 平安银行股份有限公司 | 人工智能模型的调用方法、装置、计算机设备及存储介质 |
CN117193745A (zh) * | 2023-09-07 | 2023-12-08 | 中国建设银行股份有限公司 | 一种组件组装和大语言模型结合的应用开发方法及装置 |
CN117235279A (zh) * | 2023-09-04 | 2023-12-15 | 上海歆广数据科技有限公司 | 一种融合大语音模型和知识图谱的关键任务开发框架 |
CN117370985A (zh) * | 2023-10-12 | 2024-01-09 | 中电信数智科技有限公司 | 一种基于大语言模型的漏洞环境自动化搭建方法 |
CN117369790A (zh) * | 2023-10-24 | 2024-01-09 | 张婷 | 智能节点与传统功能节点业务流混编引擎系统 |
CN117391371A (zh) * | 2023-10-26 | 2024-01-12 | 武汉市万睿数字运营有限公司 | 一种工单任务的拆解与分配方法、装置及其相关介质 |
CN117473101A (zh) * | 2023-11-09 | 2024-01-30 | 上海伽易信息技术有限公司 | 一种轨交智能运维大模型mot及其构建方法 |
-
2024
- 2024-04-12 CN CN202410438709.3A patent/CN118034661B/zh active Active
Patent Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20230350650A1 (en) * | 2022-04-29 | 2023-11-02 | Grid.ai, Inc. | Distributed application development platform |
CN116680093A (zh) * | 2023-05-20 | 2023-09-01 | 数字郑州科技有限公司 | 基于LLM的web应用优化系统及服务实现方法和系统 |
CN117009113A (zh) * | 2023-09-04 | 2023-11-07 | 平安银行股份有限公司 | 人工智能模型的调用方法、装置、计算机设备及存储介质 |
CN117235279A (zh) * | 2023-09-04 | 2023-12-15 | 上海歆广数据科技有限公司 | 一种融合大语音模型和知识图谱的关键任务开发框架 |
CN117193745A (zh) * | 2023-09-07 | 2023-12-08 | 中国建设银行股份有限公司 | 一种组件组装和大语言模型结合的应用开发方法及装置 |
CN117370985A (zh) * | 2023-10-12 | 2024-01-09 | 中电信数智科技有限公司 | 一种基于大语言模型的漏洞环境自动化搭建方法 |
CN117369790A (zh) * | 2023-10-24 | 2024-01-09 | 张婷 | 智能节点与传统功能节点业务流混编引擎系统 |
CN117391371A (zh) * | 2023-10-26 | 2024-01-12 | 武汉市万睿数字运营有限公司 | 一种工单任务的拆解与分配方法、装置及其相关介质 |
CN117473101A (zh) * | 2023-11-09 | 2024-01-30 | 上海伽易信息技术有限公司 | 一种轨交智能运维大模型mot及其构建方法 |
Also Published As
Publication number | Publication date |
---|---|
CN118034661B (zh) | 2024-06-11 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Gosain et al. | Static analysis: A survey of techniques and tools | |
US10162612B2 (en) | Method and apparatus for inventory analysis | |
EP1706833A2 (en) | System and method for modeling, abstraction, and analysis of software | |
Monteiro et al. | Bounded model checking of C++ programs based on the Qt cross‐platform framework | |
Savic et al. | Use Case Specification Using the SILABREQ Domain Specific Language. | |
CN114896755A (zh) | 一种支持模型属性量化评估的指标验证技术 | |
Tarassow | The potential of LLMs for coding with low-resource and domain-specific programming languages | |
Terwilliger et al. | PLEASE: Executable specifications for incremental software development | |
Friedrich et al. | Knowledge engineering for configuration systems | |
KR20090099977A (ko) | 예약된 컴포넌트 컨테이너 기반 소프트웨어 개발 방법 및장치 | |
Kerkouche et al. | Uml activity diagrams and maude integrated modeling and analysis approach using graph transformation | |
CN118034661B (zh) | 大语言模型智能任务应用系统 | |
Lai et al. | Defining and verifying behaviour of domain specific language with fUML | |
Beebe | A complete bibliography of publications in science of computer programming | |
Barbosa et al. | Checking semantics equivalence of mda transformations in concurrent systems. | |
Wehrmeister et al. | Support for early verification of embedded real-time systems through UML models simulation | |
Paskaleva et al. | Leveraging integration facades for model-based tool interoperability | |
Nikiforova et al. | Towards a Business Process Model-based Testing of Information Systems Functionality. | |
O'Regan et al. | Overview of formal methods | |
Dechsupa et al. | An automated framework for BPMN model verification achieving branch coverage | |
Straszak et al. | Model-driven acceptance test automation based on use cases | |
Hartmanns et al. | Fast Verified SCCs for Probabilistic Model Checking | |
Khor et al. | Requirements analysis of variability constraints in a configurable flight software system | |
Bernstein | Abstractions for Probabilistic Programming to Support Model Development | |
Segal et al. | A comparison of intermediate verification languages: Boogie and Sireum/Pilar |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |