CN117234525A - 机器人搭建方法、装置、电子设备和存储介质 - Google Patents
机器人搭建方法、装置、电子设备和存储介质 Download PDFInfo
- Publication number
- CN117234525A CN117234525A CN202311522050.1A CN202311522050A CN117234525A CN 117234525 A CN117234525 A CN 117234525A CN 202311522050 A CN202311522050 A CN 202311522050A CN 117234525 A CN117234525 A CN 117234525A
- Authority
- CN
- China
- Prior art keywords
- tool
- code
- language model
- configuration
- plug
- 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
- 238000000034 method Methods 0.000 title claims abstract description 62
- 230000006870 function Effects 0.000 claims abstract description 34
- 238000010276 construction Methods 0.000 claims abstract description 17
- 230000008569 process Effects 0.000 claims description 12
- 238000004891 communication Methods 0.000 claims description 11
- 230000000694 effects Effects 0.000 claims description 10
- 238000012360 testing method Methods 0.000 claims description 5
- 238000004590 computer program Methods 0.000 claims description 4
- 230000027455 binding Effects 0.000 claims 1
- 238000009739 binding Methods 0.000 claims 1
- 238000011161 development Methods 0.000 description 13
- 238000012544 monitoring process Methods 0.000 description 6
- 238000012545 processing Methods 0.000 description 4
- 238000010586 diagram Methods 0.000 description 3
- 230000007246 mechanism Effects 0.000 description 3
- 238000013461 design Methods 0.000 description 2
- 238000001914 filtration Methods 0.000 description 2
- 230000015556 catabolic process Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 239000003795 chemical substances by application Substances 0.000 description 1
- 238000013135 deep learning Methods 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 238000006731 degradation reaction Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000008676 import Effects 0.000 description 1
- 238000010801 machine learning Methods 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
- 230000003287 optical effect Effects 0.000 description 1
- 230000008439 repair process Effects 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 238000004904 shortening Methods 0.000 description 1
- 238000004088 simulation Methods 0.000 description 1
- 238000011144 upstream manufacturing Methods 0.000 description 1
Landscapes
- Stored Programmes (AREA)
Abstract
本申请涉及一种机器人搭建方法、装置、电子设备和存储介质,所述方法包括:获取机器人功能流程框架的框架代码,其中,所述功能流程框架中包括非必选功能模块;在配置页面,根据用户操作选取至少一个语言模型工具,并确定所述语言模型工具的工具代码的第一配置参数,其中,所述语言模型工具是大语言模型的工具;基于所述第一配置参数对所述工具代码进行参数配置;对所述框架代码和配置后的工具代码进行代码组装后,进行代码编译和代码发布,完成机器人搭建。本申请缩短机器人搭建周期。
Description
技术领域
本申请涉及机器人领域,尤其涉及一种机器人搭建方法、装置、电子设备和存储介质。
背景技术
随着ChatGPT的发布,一股大语言模型的浪潮随即而来,国内外各个公司相继推出了各种大语言模型以及相关的基于大语言模型的产品。ChatGPT的到来,让客服机器人及其他闲聊机器人发生了翻天覆地的变化。从早期阶段的基于固定规则的聊天机器人,到随着搜索技术发展逐渐演进的检索型聊天机器人,再到机器学习和深度学习引入后能够学习语言模式的机器人,到现在基于大语言模型的生成式聊天机器人,每一次都是质的进步。
传统开发方式,纯代码从0到1逐个功能去开发一款聊天机器人,虽然可以完全定制,完全满足业务需求,但是这种方式的弊端也是有很多的,至少存在以下问题:1.代码复用性低,公司内不同团队每开发一个新的机器人可能都在造轮子,相同的功能可能会开发多个;2.周期长,每个功能从0到1设计、开发、测试上线,最快也得半个多月才能上线。
因此,现有技术中的机器人开发存在开发周期长的问题。
发明内容
本申请提供了一种机器人搭建方法、装置、电子设备和存储介质,以解决机器人开发存在开发周期长的问题。
第一方面,本申请提供了一种机器人搭建方法,所述方法包括:获取机器人功能流程框架的框架代码,其中,所述功能流程框架中包括非必选功能模块;在配置页面,根据用户操作选取至少一个语言模型工具,并确定所述语言模型工具的工具代码的第一配置参数,其中,所述语言模型工具是大语言模型的工具;基于所述第一配置参数对所述工具代码进行参数配置;对所述框架代码和配置后的工具代码进行代码组装后,进行代码编译和代码发布,完成机器人搭建。
可选地,所述在配置页面,根据用户操作选取至少一个语言模型工具,并确定所述语言模型工具的工具代码的第一配置参数包括:在方案配置页面,基于创建指令创建至少一个方案;在当前方案对应的工具选择页面中,基于工具选取指令从工具集合库中选取所述当前方案对应的至少一个语言模型工具;在当前语言模型工具对应的工具代码配置页面中,基于工具参数配置指令确定所述当前语言模型工具的工具代码的第一配置参数。
可选地,对所述框架代码和配置后的工具代码进行代码组装包括:在所述配置页面,基于插件选取指令从插件集合库中选取至少一个插件;基于插件参数配置指令确定所述插件的插件代码的第二配置参数,并基于所述第二配置参数对所述插件代码进行参数配置,其中,所述插件应用在所述功能流程框架的各模块中或所述语言模型工具中;对所述框架代码、配置后的工具代码以及配置后的插件代码进行代码组装。
可选地,基于创建指令创建至少一个方案之后,所述方法还包括:在所述方案配置页面,配置所述大语言模型的敏感词信息和所述当前方案的设定角色;将所述敏感词信息和所述设定角色写入所述当前方案对应的数据库。
可选地,对所述框架代码、配置后的工具代码以及配置后的插件代码进行代码组装包括:基于代码构建指令,加载所述配置后的工具代码、所述配置后的插件代码以及所述当前方案对应数据库中的敏感词信息和设定角色至所述当前方案的代码仓库中,得到所述当前方案的完整代码;基于所述功能流程框架的开放接口,将所述当前方案的完整代码加入所述功能流程框架对应的代码仓库中,完成代码组装。
可选地,进行代码编译包括:编译过程中,判断选取的语言模型工具中是否包括vectorstore类语言模型工具;若选取的语言模型工具中包括vectorstore类语言模型工具,则检查所述vectorstore类语言模型工具绑定的向量库是否存在;若所述向量库存在,则进行代码编译。
可选地,检查所述vectorstore类语言模型工具绑定的向量库是否存在之后,所述方法还包括:若所述向量库不存在,则发送提示信息,其中,所述提示信息用于提示用户创建向量库;在所述向量库创建成功后,导入预设知识库中的知识至所述向量库;重新进行代码编译。
可选地,判断选取的语言模型工具中是否包括vectorstore类语言模型工具之后,所述方法还包括:若选取的语言模型工具中不包括vectorstore类语言模型工具,则进行代码编译。
可选地,完成机器人搭建之后,所述方法还包括:为每个方案设置对应的流量比例,其中,多个方案的执行目标相同、配置内容不完全相同,所述配置内容包括语言模型工具、插件、敏感词信息和设定角色;针对所述多个方案进行AB测试,得到执行效果最好的方案;对所述执行效果最好的方案增加流量投入比例。
可选地,所述工具选择页面设有允许用户注册语言模型工具至所述工具集合库的选项。
可选地,所述配置页面设有允许用户注册插件至所述插件集合库的选项。
可选地,完成机器人搭建之后,所述方法还包括:接收用户输入;通过敏感词拦截器对所述用户输入中的敏感词进行拦截,得到目标输入;调用选取的语言模型工具和插件,对所述目标输入进行意图识别,得到所述意图对应的回复内容;采用回复内容拦截器对所述回复内容中的敏感词进行拦截;将拦截后的回复内容进行输出。
第二方面,本申请提供了一种机器人搭建装置,所述装置包括:获取模块,用于获取机器人功能流程框架的框架代码,其中,所述功能流程框架中包括非必选功能模块;选取模块,用于在配置页面,根据用户操作选取至少一个语言模型工具,并确定所述语言模型工具的工具代码的第一配置参数,其中,所述语言模型工具是大语言模型的工具;配置模块,用于基于所述第一配置参数对所述工具代码进行参数配置;组装模块,用于对所述框架代码和配置后的工具代码进行代码组装后,进行代码编译和代码发布,完成机器人搭建。
第三方面,本申请提供了一种电子设备,包括:至少一个通信接口;与所述至少一个通信接口相连接的至少一个总线;与所述至少一个总线相连接的至少一个处理器;与所述至少一个总线相连接的至少一个存储器。
第四方面,本申请还提供了一种计算机存储介质,存储有计算机可执行指令,所述计算机可执行指令用于执行本申请上述任一项所述的机器人搭建方法。
本申请实施例提供的上述技术方案与现有技术相比具有如下优点:功能流程架构的非必要功能模块能够根据实际情况选择,满足机器人开发过程中的功能自定义,同时大语言模型的语言模型工具是可以根据实际语言功能需求进行选择的,这样在搭建机器人时,可以直接调用功能流程架构和语言模型工具,功能流程架构的架构代码和语言模型工具的工具代码都是事先确定好的,用户只需要调整工具代码的参数配置即可,无需现有技术中从0到1的设计开发,缩短机器人搭建周期。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本发明的实施例,并与说明书一起用于解释本发明的原理。
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,对于本领域普通技术人员而言,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
一个或多个实施例通过与之对应的附图中的图片进行示例性说明,这些示例性说明并不构成对实施例的限定,附图中具有相同参考数字标号的元件表示为类似的元件,除非有特别申明,附图中的图不构成比例限制。
图1为本申请实施例提供的一种机器人搭建的方法流程图;
图2为本申请实施例提供的机器人的使用流程示意图;
图3为本申请实施例提供的一种机器人搭建装置的结构示意图;
图4为本申请实施例提供的一种电子设备的结构示意图。
具体实施方式
为使本申请实施例的目的、技术方案和优点更加清楚,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本申请的一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本申请保护的范围。
下文的公开提供了许多不同的实施例或例子用来实现本发明的不同结构。为了简化本发明的公开,下文中对特定例子的部件和设置进行描述。当然,它们仅仅为示例,并且目的不在于限制本发明。此外,本发明可以在不同例子中重复参考数字和/或字母。这种重复是为了简化和清楚的目的,其本身不指示所讨论各种实施例和/或设置之间的关系。
本申请提供了一种机器人搭建方法,应用于服务器,用于缩短机器人开发周期,如图1所示,方法包括:
步骤101:获取机器人功能流程框架的框架代码。
其中,功能流程框架中包括非必选功能模块。
机器人的功能流程框架是由实现机器人功能的各功能模块搭建而成的,具体通过Langchain框架模块将各功能模块串联起来,功能模块包括但不限于:输入输出解析模块、敏感词解析模块、agent意图识别模块、日志收集模块、数据监控模块、配置文件读取解析模块、数据库访问模块、第三方依赖包模块等。
功能流程框架包括必选功能模块和非必选功能模块,用户选择必选功能模块后,可以根据实际功能需求选择非必要功能模块,从而确定该机器人的功能流程框架,得到对应的框架代码,框架代码存储在代码仓库中。服务器在确定必选功能模块和非必选功能模块后,可以从代码仓库中获取对应的代码框架。
步骤102:在配置页面,根据用户操作选取至少一个语言模型工具,并确定语言模型工具的工具代码的第一配置参数。其中,语言模型工具是大语言模型的工具。
用户进入配置页面,该配置页面可以选取语言模型工具和语言模型工具的代码参数配置。具体来说,语言模型工具是大语言模型的工具Tool,不同的语言模型工具具有不同的功能,实现大语言模型的功能需要一个或多个语言模型工具,用户可以根据实际所需要的大语言模型的功能,选取至少一个语言模型工具。
每个语言模型工具的工具代码是固定的,但其工具代码的配置参数是可选的,配置页面中包括工具代码的配置项,配置项包括常见数值、布尔、字符串或json格式等,服务器根据用户操作,从配置项中选取第一配置参数。
步骤103:基于第一配置参数对工具代码进行参数配置。
服务器基于第一配置参数对工具代码进行参数配置,在工具代码的整体流程不变的基础上,动态调整工具代码中的参数。
步骤104:对框架代码和配置后的工具代码进行代码组装后,进行代码编译和代码发布,完成机器人搭建。
功能流程框架基于开放接口纳入配置后的工具代码,将工具代码和框架代码组合后得到完整的代码,然后进行代码编译,代码编译成功后进行代码发布,完成机器人搭建。
本申请中,功能流程架构的非必要功能模块能够根据实际情况选择,满足机器人开发过程中的功能自定义,同时大语言模型的语言模型工具是可以根据实际语言功能需求进行选择的,这样在搭建机器人时,可以直接调用功能流程架构和语言模型工具,功能流程架构的架构代码和语言模型工具的工具代码都是事先确定好的,用户只需要调整工具代码的参数配置即可,无需现有技术中从0到1的设计开发,缩短机器人搭建周期。
作为一种可选的实施方法,在配置页面,根据用户操作选取至少一个语言模型工具,并确定语言模型工具的工具代码的第一配置参数包括:在方案配置页面,基于创建指令创建至少一个方案;在当前方案对应的工具选择页面中,基于工具选取指令从工具集合库中选取当前方案对应的至少一个语言模型工具;在当前语言模型工具对应的工具代码配置页面中,基于工具参数配置指令确定当前语言模型工具的工具代码的第一配置参数。
服务器可以通过配置页面实现工具代码的参数配置,具体过程为,首先进入方案配置页面,服务器可以根据用户的创建指令,创建至少一个方案,各方案的执行目的相同,但配置内容不同,用户可以通过给各方案配置流量,然后选取出执行效果最好的方案。
用户选择任一方案作为当前方案,用户点击进入该当前方案对应的工具选择页面,工具选择页面具有工具集合库,服务器根据用户的工具选取指令,从工具集合库中选取当前方案对应的至少一个语言模型工具。
不同的语言模型工具具有不同的功能,这体现在每个语言模型工具对应一个工具代码,用户将任一语言模型工具作为当前语言模型工具,然后点击进入该语言模型工具的工具代码配置页面,在工具代码配置页面可以选择配置项进行代码参数配置,具体的,服务器根据工具参数配置指令,确定用户选取的当前语言模型工具的工具代码的第一配置参数。
服务器在配置页面实现方案创建、语言模型工具的选择和工具代码的参数配置,能够自定义设置所需要的语言模型工具。
其中,工具集合库中包含其他用户提交的语言模型工具,服务器可以直接使用该工具集合库中的任意语言模型工具,工具选择页面还具有工具注册功能,用户可以通过工具注册机制,将自定义的语言模型工具注册到该工具集合库,即将该自定义语言模型工具绑定的代码仓库地址注册到工具集合库中,然后再进行语言模型工具选取,如果不提前进行工具注册,自定义的语言模型工具无法在工具选择页面中集成。自定义的语言模型工具可以是用户设置的任意处理流程,只要语言模型工具的输入输出接口格式满足工具集合库的格式要求即可注册。
作为一种可选的实施方法,基于创建指令创建至少一个方案之后,方法还包括:在方案配置页面,配置大语言模型的敏感词信息和当前方案的设定角色;将敏感词信息和设定角色写入当前方案对应的数据库。
在方案配置页面,用户还可以配置敏感词信息,敏感词信息包括敏感词词库或自定义的敏感词列表,敏感词信息用于对用户输入或机器人回复内容中的敏感词进行过滤,从而避免机器人对用户输入中的敏感词进行搜索查询,或避免机器人的回复内容中存在敏感词。
若存在多个方案,用户还可以给每个方案中的机器人设定角色,不同方案的机器人的角色不同、敏感词信息也不同,实现方案之间的不同配置。
用户配置敏感词信息和设定角色结束后,将配置的该内容写入当前方案对应的数据库。
多个方案的执行目标相同、而配置内容不完全相同,配置内容包括语言模型工具、插件、敏感词信息和设定角色,服务器针对多个方案进行AB测试,得到执行效果最好的方案,后续可以对该执行效果最好的方案逐步增加流量投入比例,确定该方案的最终执行效果。
作为一种可选的实施方法,对框架代码和配置后的工具代码进行代码组装包括:在配置页面,基于插件选取指令从插件集合库中选取至少一个插件;基于插件参数配置指令确定插件的插件代码的第二配置参数,并基于第二配置参数对插件代码进行参数配置,其中,插件应用在功能流程框架的各模块中或语言模型工具中;对框架代码、配置后的工具代码以及配置后的插件代码进行代码组装。
配置页面还可以进行插件选取和插件代码的参数配置,插件不依赖大语言模型,可以是查询数据库结果,也可以是查询接口结果,还可以是代码实现的函数,还可以传递上游模块的配置信息及上下文信息。
具体来说,在配置页面中,用户点击插件集合库中的至少一个插件Plugin,服务器基于插件选取指令进行插件选取,对于选取好的插件,用户还可以从配置项中选取该插件的插件代码的第二配置参数,服务器将第二配置参数插入插件代码中,实现插件代码的参数配置。
在插件选取过程中,部分插件是默认必选的,例如,返回结果格式转换Plugin,其他非必选插件是根据实际功能需求选取的。
其中,插件集合库中包含其他用户提交的插件,服务器可以直接调用该插件集合库中的任意插件,插件选择页面还具有插件注册功能,用户可以通过插件注册机制,将自定义的插件注册到该插件集合库,即将该自定义插件绑定的代码仓库地址注册到插件集合库中,然后再进行插件选取,如果不提前进行插件注册,自定义的插件无法在配置页面中集成。
插件可以应用在功能流程框架的各模块中,也可以应用在语言模型工具中,如果应用在功能流程框架的各模块中,是在模块的配置页面进行插件配置,如果应用在语言模型工具中,是在工具代码配置页面进行插件配置。
模块的配置过程中也可以对模块的代码进行参数配置,实现机器人开发过程中的模块自定义,提高模块适配性。
若插件应用在语言模型工具中,每个语言模型工具对应一个或多个插件,如图2所示,Tool-1对应plugin-1和plugin-2,Tool-2对应plugin-3,Tool-3对应plugin-2,Tool-n对应plugin-3。
工具代码和插件代码都配置完成后,可以对框架代码、配置后的工具代码以及配置后的插件代码进行代码组装,便于后续进行整体代码的编译和发布。
作为一种可选的实施方法,对框架代码、配置后的工具代码以及配置后的插件代码进行代码组装包括:基于代码构建指令,加载配置后的工具代码、配置后的插件代码以及当前方案对应数据库中的敏感词信息和设定角色至当前方案的代码仓库中,得到当前方案的完整代码;基于功能流程框架的开放接口,将当前方案的完整代码加入功能流程框架对应的代码仓库中,完成代码组装;将组装后的代码保存至指定目录下。
工具代码和插件代码都配置完成后,用户点击代码构建,配置后的工具代码、配置后的插件代码、当前方案对应数据库中的敏感词信息和设定角色都加载至当前方案的代码仓库中。功能流程框架基于自身的开发接口,将当前方案集成后的代码纳入功能流程框架对应的代码仓库中,自动实现代码组装,然后将组装后的代码保存至指定目录下。示例性地,指定目录为sys-dataframe-path/scenes/scene-a/solution-1。
作为一种可选的实施方法,进行代码编译包括以下三种实施例。
在第一种实施例中,编译过程中,服务器检测到编译指令后,判断选取的语言模型工具中是否包括vectorstore类语言模型工具。若选取的语言模型工具中包括vectorstore类语言模型工具,那么需要检查vectorstore类语言模型工具绑定的向量库是否存在,如果向量库存在,则进行代码编译。其中,vectorstore类语言模型工具绑定的向量库,是基于大语言模型的向量检索数据库,一些知识库中的知识会存储到该向量库中,当知识库应用到客服场景时,是需要该向量库的。
在第二种实施例中,若选取的语言模型工具中包括vectorstore类语言模型工具、且vectorstore类语言模型工具绑定的向量库不存在,则发送提示信息,该提示信息用于提示用户创建向量库,用户创建向量库后,服务器若检测到向量库,则导入预设知识库中的知识至向量库,由于该向量库已存在,那么服务器重新进行代码编译。
在第三种实施例中,若选取的语言模型工具中不包括vectorstore类语言模型工具,表明不需要用到该向量库,则直接进行代码编译。
若代码编译失败,会自动提示编译错误原因,服务器进行代码修复,然后重新进行编译,直至编译成功,然后进行后续的代码发布。
代码发布可以对应为是某个方案的发布,每个方案都是一个独立的处理流程。
方案发布成功后,只要不配置线上流量,就不会影响线上其他方案的运行。在未配置线上流量的情况下,可以在机器人调试页面进行机器人模拟调试,调试没有问题后再配置线上流量百分比或用户数。当然也可以设置其他灰度测试方式,如根据用户ID的Hash结果尾号分流等。
机器人调试成功后,可以为该机器人配置场景,场景指示机器人的处理任务,其中,不同机器人的配置场景不同。机器人配置场景和线上流量后,可以正式投入使用。
用户点击发布按钮后,可以将方案发布至预设集群,示例性地,预设集群为Kubernetes集群,通过服务统一部署到Kubernetes集群,能够提供运行状态监控、报警及降级处理机制。
方案发布成功后,还可以采用数据监控模块进行秒级数据监控。技术人员可以从监控页面看到当前场景和方案的监控信息,包括每秒请求数、响应时长、CPU使用率等指标,指标内容可以自定义配置。
作为一种可选的实施方法,本申请中的机器人为聊天机器人,完成机器人搭建之后,机器人的使用流程如图2所示,包括如下步骤:
步骤201:接收用户输入。
用户输入语音数据至机器人,机器人使用敏感词信息分析语音数据中是否包含敏感词,若用户输入不包含敏感词,则直接进行意图识别,执行步骤203;若用户输入包含敏感词,则执行步骤202。
步骤202:通过敏感词拦截器对用户输入中的敏感词进行拦截,得到目标输入。
机器人通过敏感词拦截器对用户输入中的敏感词进行拦截,拦截的目的,可以是重新让用户进行输入,也可以是过滤掉该敏感词。机器人得到目标输入,目标输入可以是用户重新输入的不包含敏感词的语音数据,也可以是过滤敏感词后的数据内容。
步骤203:调用选取的语言模型工具和插件,对目标输入进行意图识别,得到意图对应的回复内容。
机器人根据当前方案,调用选取的语言模型工具和插件对目标输入进行意图识别,得到意图对应的回复内容。
其中,在方案配置过程中,可以配置实现每个方案的标识和该方案对应的语言模型工具、插件的标识相同,机器人根据标识确定需要选取哪些语言模型工具和插件,其中,标识可以是当前方案中的角色和敏感词信息,服务器在方案配置时,在语言模型工具的prompt中增加该角色限定和敏感词信息的前缀。
Prompt是用于与用户进行对话的一种技术,它可以通过自然语言处理技术将用户输入的语言转化为机器可以理解的语言,然后根据预先编写的算法和规则,提供有用的信息和建议。
步骤204:采用回复内容拦截器对回复内容中的敏感词进行拦截。
机器人的回复内容也可能包括敏感词,为了避免回复内容中出现敏感词,机器人采用回复内容拦截器对回复内容中的敏感词进行拦截,实现回复内容的合理性。
步骤205:将拦截后的回复内容进行输出。
机器人在拦截回复内容中的敏感词后,将回复内容输出。
基于相同的技术构思,本申请提供了一种机器人搭建装置,如图3所示,装置包括:
获取模块301,用于获取机器人功能流程框架的框架代码,其中,功能流程框架中包括非必选功能模块;
选取模块302,用于在配置页面,根据用户操作选取至少一个语言模型工具,并确定语言模型工具的工具代码的第一配置参数,其中,语言模型工具是大语言模型的工具;
配置模块303,用于基于第一配置参数对工具代码进行参数配置;
组装模块304,用于对框架代码和配置后的工具代码进行代码组装后,进行代码编译和代码发布,完成机器人搭建。
可选地,选取模块302用于:
在方案配置页面,基于创建指令创建至少一个方案;
在当前方案对应的工具选择页面中,基于工具选取指令从工具集合库中选取当前方案对应的至少一个语言模型工具;
在当前语言模型工具对应的工具代码配置页面中,基于工具参数配置指令确定当前语言模型工具的工具代码的第一配置参数。
可选地,组装模块304用于:
在配置页面,基于插件选取指令从插件集合库中选取至少一个插件;
基于插件参数配置指令确定插件的插件代码的第二配置参数,并基于第二配置参数对插件代码进行参数配置,其中,插件应用在功能流程框架的各模块中或语言模型工具中;
对框架代码、配置后的工具代码以及配置后的插件代码进行代码组装。
可选地,装置还用于:
在方案配置页面,配置大语言模型的敏感词信息和当前方案的设定角色;
将敏感词信息和设定角色写入当前方案对应的数据库。
可选地,组装模块304用于:
基于代码构建指令,加载配置后的工具代码、配置后的插件代码以及当前方案对应数据库中的敏感词信息和设定角色至当前方案的代码仓库中,得到当前方案的完整代码;
基于功能流程框架的开放接口,将当前方案的完整代码加入功能流程框架对应的代码仓库中,完成代码组装。
可选地,组装模块304用于:
编译过程中,判断选取的语言模型工具中是否包括vectorstore类语言模型工具;
若选取的语言模型工具中包括vectorstore类语言模型工具,则检查vectorstore类语言模型工具绑定的向量库是否存在;
若向量库存在,则进行代码编译。
可选地,组装模块304用于:
若向量库不存在,则发送提示信息,其中,提示信息用于提示用户创建向量库;
在向量库创建成功后,导入预设知识库中的知识至向量库;
重新进行代码编译。
可选地,组装模块304用于:
若选取的语言模型工具中不包括vectorstore类语言模型工具,则进行代码编译。
可选地,该装置还用于:
为每个方案设置对应的流量比例,其中,多个方案的执行目标相同、配置内容不完全相同,配置内容包括语言模型工具、插件、敏感词信息和设定角色;
针对多个方案进行AB测试,得到执行效果最好的方案;
对执行效果最好的方案增加流量投入比例。
可选地,工具集合库中支持用户注册语言模型工具至工具集合库中。
可选地,插件集合库中支持用户注册插件至插件集合库中。
可选地,该装置还用于:
接收用户输入;
通过敏感词拦截器对用户输入中的敏感词进行拦截,得到目标输入;
调用选取的语言模型工具和插件,对目标输入进行意图识别,得到意图对应的回复内容;
采用回复内容拦截器对回复内容中的敏感词进行拦截;
将拦截后的回复内容进行输出。
如图4所示,本申请实施例提供了一种电子设备,包括处理器401、通信接口402、存储器403和通信总线404,其中,处理器401,通信接口402,存储器403通过通信总线404完成相互间的通信。
存储器403,用于存放计算机程序。
在本申请一个实施例中,处理器401,用于执行存储器403上所存放的程序时,实现前述任意一个方法实施例提供的机器人搭建方法。
本申请实施例还提供了一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现如前述任意一个方法实施例提供的机器人搭建方法的步骤。
以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到各实施方式可借助软件加通用硬件平台的方式来实现,当然也可以通过硬件。基于这样的理解,上述技术方案本质上或者说对相关技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行各个实施例或者实施例的某些部分所述的方法。
应理解的是,文中使用的术语仅出于描述特定示例实施方式的目的,而无意于进行限制。除非上下文另外明确地指出,否则如文中使用的单数形式“一”、“一个”以及“所述”也可以表示包括复数形式。术语“包括”、“包含”、“含有”以及“具有”是包含性的,并且因此指明所陈述的特征、步骤、操作、元件和/或部件的存在,但并不排除存在或者添加一个或多个其它特征、步骤、操作、元件、部件、和/或它们的组合。文中描述的方法步骤、过程、以及操作不解释为必须要求它们以所描述或说明的特定顺序执行,除非明确指出执行顺序。还应当理解,可以使用另外或者替代的步骤。
以上所述仅是本发明的具体实施方式,使本领域技术人员能够理解或实现本发明。对这些实施例的多种修改对本领域的技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本发明的精神或范围的情况下,在其它实施例中实现。因此,本发明将不会被限制于本文所示的这些实施例,而是要符合与本文所申请的原理和新颖特点相一致的最宽的范围。
Claims (15)
1.一种机器人搭建方法,其特征在于,所述方法包括:
获取机器人功能流程框架的框架代码,其中,所述功能流程框架中包括非必选功能模块;
在配置页面,根据用户操作选取至少一个语言模型工具,并确定所述语言模型工具的工具代码的第一配置参数,其中,所述语言模型工具是大语言模型的工具;
基于所述第一配置参数对所述工具代码进行参数配置;
对所述框架代码和配置后的工具代码进行代码组装后,进行代码编译和代码发布,完成机器人搭建。
2.根据权利要求1所述的方法,其特征在于,所述在配置页面,根据用户操作选取至少一个语言模型工具,并确定所述语言模型工具的工具代码的第一配置参数包括:
在方案配置页面,基于创建指令创建至少一个方案;
在当前方案对应的工具选择页面中,基于工具选取指令从工具集合库中选取所述当前方案对应的至少一个语言模型工具;
在当前语言模型工具对应的工具代码配置页面中,基于工具参数配置指令确定所述当前语言模型工具的工具代码的第一配置参数。
3.根据权利要求2所述的方法,其特征在于,对所述框架代码和配置后的工具代码进行代码组装包括:
在所述配置页面,基于插件选取指令从插件集合库中选取至少一个插件;
基于插件参数配置指令确定所述插件的插件代码的第二配置参数,并基于所述第二配置参数对所述插件代码进行参数配置,其中,所述插件应用在所述功能流程框架的各模块中或所述语言模型工具中;
对所述框架代码、配置后的工具代码以及配置后的插件代码进行代码组装。
4.根据权利要求3所述的方法,其特征在于,基于创建指令创建至少一个方案之后,所述方法还包括:
在所述方案配置页面,配置所述大语言模型的敏感词信息和所述当前方案的设定角色;
将所述敏感词信息和所述设定角色写入所述当前方案对应的数据库。
5.根据权利要求4所述的方法,其特征在于,对所述框架代码、配置后的工具代码以及配置后的插件代码进行代码组装包括:
基于代码构建指令,加载所述配置后的工具代码、所述配置后的插件代码以及所述当前方案对应数据库中的敏感词信息和设定角色至所述当前方案的代码仓库中,得到所述当前方案的完整代码;
基于所述功能流程框架的开放接口,将所述当前方案的完整代码加入所述功能流程框架对应的代码仓库中,完成代码组装。
6.根据权利要求1所述的方法,其特征在于,进行代码编译包括:
编译过程中,判断选取的语言模型工具中是否包括vectorstore类语言模型工具;
若选取的语言模型工具中包括vectorstore类语言模型工具,则检查所述vectorstore类语言模型工具绑定的向量库是否存在;
若所述向量库存在,则进行代码编译。
7.根据权利要求6所述的方法,其特征在于,检查所述vectorstore类语言模型工具绑定的向量库是否存在之后,所述方法还包括:
若所述向量库不存在,则发送提示信息,其中,所述提示信息用于提示用户创建向量库;
在所述向量库创建成功后,导入预设知识库中的知识至所述向量库;
重新进行代码编译。
8.根据权利要求6所述的方法,其特征在于,判断选取的语言模型工具中是否包括vectorstore类语言模型工具之后,所述方法还包括:
若选取的语言模型工具中不包括vectorstore类语言模型工具,则进行代码编译。
9.根据权利要求4所述的方法,其特征在于,完成机器人搭建之后,所述方法还包括:
为每个方案设置对应的流量比例,其中,多个方案的执行目标相同、配置内容不完全相同,所述配置内容包括语言模型工具、插件、敏感词信息和设定角色;
针对所述多个方案进行AB测试,得到执行效果最好的方案;
对所述执行效果最好的方案增加流量投入比例。
10.根据权利要求2所述的方法,其特征在于,所述工具选择页面设有允许用户注册语言模型工具至所述工具集合库的选项。
11.根据权利要求3所述的方法,其特征在于,所述配置页面设有允许用户注册插件至所述插件集合库的选项。
12.根据权利要求4所述的方法,其特征在于,完成机器人搭建之后,所述方法还包括:
接收用户输入;
通过敏感词拦截器对所述用户输入中的敏感词进行拦截,得到目标输入;
调用选取的语言模型工具和插件,对所述目标输入进行意图识别,得到所述意图对应的回复内容;
采用回复内容拦截器对所述回复内容中的敏感词进行拦截;
将拦截后的回复内容进行输出。
13.一种机器人搭建装置,其特征在于,所述装置包括:
获取模块,用于获取机器人功能流程框架的框架代码,其中,所述功能流程框架中包括非必选功能模块;
选取模块,用于在配置页面,根据用户操作选取至少一个语言模型工具,并确定所述语言模型工具的工具代码的第一配置参数,其中,所述语言模型工具是大语言模型的工具;
配置模块,用于基于所述第一配置参数对所述工具代码进行参数配置;
组装模块,用于对所述框架代码和配置后的工具代码进行代码组装后,进行代码编译和代码发布,完成机器人搭建。
14.一种电子设备,其特征在于,包括处理器、通信接口、存储器和通信总线,其中,处理器,通信接口,存储器通过通信总线完成相互间的通信;
存储器,用于存放计算机程序;
处理器,用于执行存储器上所存放的程序时,实现权利要求1-12任一所述的方法。
15.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质内存储有计算机程序,所述计算机程序被处理器执行时实现权利要求1-12任一所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311522050.1A CN117234525B (zh) | 2023-11-15 | 2023-11-15 | 机器人搭建方法、装置、电子设备和存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311522050.1A CN117234525B (zh) | 2023-11-15 | 2023-11-15 | 机器人搭建方法、装置、电子设备和存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN117234525A true CN117234525A (zh) | 2023-12-15 |
CN117234525B CN117234525B (zh) | 2024-01-30 |
Family
ID=89086569
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202311522050.1A Active CN117234525B (zh) | 2023-11-15 | 2023-11-15 | 机器人搭建方法、装置、电子设备和存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117234525B (zh) |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113268229A (zh) * | 2021-06-08 | 2021-08-17 | 中国联合网络通信集团有限公司 | 一种代码生成方法和代码生成装置 |
CN114296737A (zh) * | 2021-12-27 | 2022-04-08 | 中国建设银行股份有限公司 | 业务代码生成方法、装置、设备及存储介质 |
CN114625353A (zh) * | 2020-12-14 | 2022-06-14 | 电科云(北京)科技有限公司 | 模型框架代码生成系统及方法 |
CN116009852A (zh) * | 2023-01-18 | 2023-04-25 | 深圳前海环融联易信息科技服务有限公司 | 代码构建方法、装置、计算机设备及存储介质 |
CN116931910A (zh) * | 2022-03-30 | 2023-10-24 | 腾讯科技(深圳)有限公司 | 基于协议框架的开发方法、装置、电子设备及存储介质 |
CN117009483A (zh) * | 2023-07-24 | 2023-11-07 | 腾讯科技(深圳)有限公司 | 问答服务的生成方法、装置、设备及可读存储介质 |
-
2023
- 2023-11-15 CN CN202311522050.1A patent/CN117234525B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114625353A (zh) * | 2020-12-14 | 2022-06-14 | 电科云(北京)科技有限公司 | 模型框架代码生成系统及方法 |
CN113268229A (zh) * | 2021-06-08 | 2021-08-17 | 中国联合网络通信集团有限公司 | 一种代码生成方法和代码生成装置 |
CN114296737A (zh) * | 2021-12-27 | 2022-04-08 | 中国建设银行股份有限公司 | 业务代码生成方法、装置、设备及存储介质 |
CN116931910A (zh) * | 2022-03-30 | 2023-10-24 | 腾讯科技(深圳)有限公司 | 基于协议框架的开发方法、装置、电子设备及存储介质 |
CN116009852A (zh) * | 2023-01-18 | 2023-04-25 | 深圳前海环融联易信息科技服务有限公司 | 代码构建方法、装置、计算机设备及存储介质 |
CN117009483A (zh) * | 2023-07-24 | 2023-11-07 | 腾讯科技(深圳)有限公司 | 问答服务的生成方法、装置、设备及可读存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN117234525B (zh) | 2024-01-30 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107273286B (zh) | 针对任务应用的场景自动化测试平台及方法 | |
CN109101415A (zh) | 基于数据库比对的接口测试方法、系统、设备和存储介质 | |
US9588742B2 (en) | Rule-based automatic class generation from a JSON message | |
CN110750442A (zh) | 测试用例的生成方法、装置、设备及存储介质 | |
CN105389256A (zh) | 一种单元测试方法及系统 | |
EP2437524A1 (en) | M2m service platform and work method thereof | |
CN110109681B (zh) | 不同平台间代码的转换方法及系统 | |
CN111596902B (zh) | 一种前后端开发框架的搭建方法、装置、设备及存储介质 | |
CN113572726B (zh) | 一种多模态网络控制-数据平面一致性校验方法及装置 | |
CN110532182B (zh) | 一种虚拟化平台的自动化测试方法及装置 | |
CN113868120A (zh) | 工业软件调试方法、装置、计算机设备和存储介质 | |
US6694290B1 (en) | Analyzing an extended finite state machine system model | |
CN112905459A (zh) | 服务接口测试方法、装置、电子设备及存储介质 | |
EP3974960B1 (en) | Method and system for automated testing of web service apis | |
CN117234525B (zh) | 机器人搭建方法、装置、电子设备和存储介质 | |
CN117290250A (zh) | 自动化测试框架建立方法、计算机设备及计算机存储介质 | |
CN111506305B (zh) | 工具包生成方法、装置、计算机设备及可读存储介质 | |
CN112561690A (zh) | 信用卡分期业务接口的测试方法、系统、设备及存储介质 | |
CN116346660A (zh) | 基于依赖替换服务的数据处理方法、装置、设备及介质 | |
Babac et al. | AgentTest: A specification language for agent-based system testing | |
CN115525561A (zh) | 协议接口测试方法、装置、终端设备以及存储介质 | |
CN110377463A (zh) | 接口测试方法、装置、终端及计算机可读存储介质 | |
CN101251824B (zh) | 测试公共对象请求代理结构的方法和测试工具 | |
CN110659215A (zh) | 一种开放式工业app快速开发及测试验证方法 | |
CN116893978B (zh) | 一种基于ptcrb认证的测试计划生成方法、系统和存储介质 |
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 |