CN116701601A - 人机交互的方法 - Google Patents
人机交互的方法 Download PDFInfo
- Publication number
- CN116701601A CN116701601A CN202310835141.4A CN202310835141A CN116701601A CN 116701601 A CN116701601 A CN 116701601A CN 202310835141 A CN202310835141 A CN 202310835141A CN 116701601 A CN116701601 A CN 116701601A
- Authority
- CN
- China
- Prior art keywords
- tool
- instruction
- tools
- information
- large model
- 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.)
- Pending
Links
- 230000003993 interaction Effects 0.000 title claims abstract description 95
- 238000000034 method Methods 0.000 title claims abstract description 75
- 230000004044 response Effects 0.000 claims abstract description 105
- 239000013598 vector Substances 0.000 claims description 19
- 238000012549 training Methods 0.000 description 49
- 230000006870 function Effects 0.000 description 31
- 238000004891 communication Methods 0.000 description 18
- 238000012545 processing Methods 0.000 description 17
- 238000010586 diagram Methods 0.000 description 16
- 238000004590 computer program Methods 0.000 description 15
- 230000008569 process Effects 0.000 description 12
- 238000012423 maintenance Methods 0.000 description 11
- 238000005516 engineering process Methods 0.000 description 10
- 230000000694 effects Effects 0.000 description 8
- 238000013473 artificial intelligence Methods 0.000 description 7
- 230000000007 visual effect Effects 0.000 description 7
- 238000010295 mobile communication Methods 0.000 description 5
- 238000003058 natural language processing Methods 0.000 description 5
- 241000282414 Homo sapiens Species 0.000 description 4
- 238000013459 approach Methods 0.000 description 4
- 230000008520 organization Effects 0.000 description 4
- 238000013461 design Methods 0.000 description 3
- 230000008451 emotion Effects 0.000 description 3
- 238000012986 modification Methods 0.000 description 3
- 230000004048 modification Effects 0.000 description 3
- 230000003287 optical effect Effects 0.000 description 3
- 230000005540 biological transmission Effects 0.000 description 2
- 238000012217 deletion Methods 0.000 description 2
- 230000037430 deletion Effects 0.000 description 2
- 238000002372 labelling Methods 0.000 description 2
- 239000000463 material Substances 0.000 description 2
- 230000003068 static effect Effects 0.000 description 2
- 238000013519 translation Methods 0.000 description 2
- 230000014616 translation Effects 0.000 description 2
- 230000006978 adaptation Effects 0.000 description 1
- 238000007792 addition Methods 0.000 description 1
- 238000004458 analytical method Methods 0.000 description 1
- 238000013475 authorization Methods 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 238000013136 deep learning model Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000018109 developmental process Effects 0.000 description 1
- 230000036541 health Effects 0.000 description 1
- 230000007774 longterm Effects 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 230000011218 segmentation Effects 0.000 description 1
- 238000000926 separation method Methods 0.000 description 1
- 125000006850 spacer group Chemical group 0.000 description 1
Landscapes
- Stored Programmes (AREA)
Abstract
本申请提供一种人机交互的方法。本申请的方法,通过获取用户输入的指令,从工具库中检索与指令相匹配的工具;将指令和与指令相匹配的工具的描述信息输入大模型,通过大模型调用至少一个工具,执行指令,生成指令的响应信息,并输出指令的响应信息;通过根据用户输入的指令,从工具库中自适应检索执行指令所需的工具,赋予了大模型使用外部工具的能力,大模型通过使用外部工具可以获取到执行指令所需的数据项,执行用户指令并输出响应信息,从而自动完成用户需求,由于工具库具有可扩展性,因此通过使用工具使得大模型的能力可以不断扩展,大大提升大模型的人机交互能力和性能,从而可提升人机交互系统的能力和性能。
Description
技术领域
本申请涉及计算机技术,尤其涉及一种人机交互的方法。
背景技术
近年来,随着人工智能(AI)技术的不断发展,实现人工智能的大模型取得了显著进展,在多个开放领域任务中展现出越来越越接近人类的能力,包括对话能力、情境学习(In-context Learning)、代码生成等。
人们希望未来人工智能可以帮助我们完成衣食住行等相关的各种需求,例如协助查天气、订外卖、预定酒店、召开会议等等。由用户提出需求,而人工智能系统自动完成用户需求。整个过程都不需要用户参与,人工智能系统成长为真正有用和全知全能的智能体。
目前大模型知识的来源只有训练数据,信息过时的问题不可避免,仅适用于经过训练的任务场景,大模型的能力存在较大的局限性,导致人机交互系统的功能无法满足需求,人机交互效果较差。
发明内容
本申请提供一种人机交互的方法,用以提升大模型的人机交互能力和性能,从而提升人机交互系统的能力和效果。
第一方面,本申请提供一种人机交互的方法,包括:
获取用户输入的指令;
从工具库中检索与所述指令相匹配的工具;
将所述指令和所述工具的描述信息输入大模型,通过所述大模型调用至少一个所述工具,执行所述指令,并生成所述指令的响应信息;
输出所述指令的响应信息。
第二方面,本申请提供一种人机交互的方法,应用于服务器,包括:
接收企业端设备发送的用户输入的指令;
从工具库中检索与所述指令相匹配的工具;
将所述指令和所述工具的描述信息输入大模型,通过所述大模型调用至少一个所述工具,执行所述指令,并生成所述指令的响应信息;
向所述企业端设备发送所述指令的响应信息。
第三方面,本申请提供一种人机交互的方法,应用于企业端设备,包括:
接收用户输入的指令,并向服务器发送所述用户输入的指令;
接收所述服务器发送的所述指令的响应信息,所述指令的响应信息是通过从工具库中检索与所述指令相匹配的工具,将所述指令和所述工具的描述信息输入大模型,通过所述大模型调用至少一个所述工具执行所述指令生成的;
输出所述指令的响应信息。
本申请提供的人机交互的方法,通过获取用户输入的指令,从工具库中检索与指令相匹配的工具;将指令和与指令相匹配的工具的描述信息输入大模型,通过大模型调用至少一个工具,执行指令,生成指令的响应信息,并输出指令的响应信息;通过根据用户输入的指令,从工具库中自适应检索执行指令所需的工具,赋予了大模型使用外部工具的能力,大模型通过使用外部工具可以获取到执行指令所需的数据项,执行用户指令并输出响应信息,从而自动完成用户需求,由于工具库具有可扩展性,因此通过使用工具使得大模型的能力可以不断扩展,大大提升大模型的人机交互能力和性能,从而可提升人机交互系统的能力和性能。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本申请的实施例,并与说明书一起用于解释本申请的原理。
图1为本申请所适用的一示例系统架构的示意图;
图2为本申请所适用的另一示例系统架构的示意图;
图3为本申请一示例性实施例提供的人机交互的方法流程图;
图4为本申请一示例性实施例提供的人机交互的方法的详细流程图;
图5为本申请一示例性实施例提供的人机交互方法的框架图;
图6为本申请一示例性实施例提供的人机交互方法的交互流程图;
图7为本申请另一示例性实施例提供的人机交互方法的交互流程图;
图8为本申请一示例性实施例提供的一种服务器的结构示意图;
图9为本申请一示例性实施例提供的一种电子设备的结构示意图。
通过上述附图,已示出本申请明确的实施例,后文中将有更详细的描述。这些附图和文字描述并不是为了通过任何方式限制本申请构思的范围,而是通过参考特定实施例为本领域技术人员说明本申请的概念。
具体实施方式
这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本申请相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本申请的一些方面相一致的装置和方法的例子。
首先对本申请所涉及的名词进行解释:
视觉问答任务:根据输入的图像和问题,从输入图像的视觉信息中确定问题的答案。
图像描述任务:生成输入图像的描述文本。
视觉蕴涵任务:预测输入图像和文本在语义上的相关性,即蕴涵、中性或矛盾。
指代表达与理解任务:根据输入文本定位输入图像中与输入文本对应的图像区域。
图像生成任务:基于输入的描述文本生成图像。
基于文本的情感分类任务:预测输入文本的情感分类信息。
文本摘要任务:生成输入文本的摘要信息。
多模态任务:是指输入输出数据涉及图像和文本等多种模态数据的下游任务,例如视觉问答任务、图像描述任务、视觉蕴涵任务、指代表达与理解任务、图像生成任务等。
多模态预训练模型:是指输入输出数据涉及图像和文本等多种模态数据的预训练模型,经过微调训练后可以应用于多模态任务处理。
预训练语言模型:对大规模语言模型(Large Language Model,简称LLM)进行预训练后得到的预训练模型。
大模型是指具有大规模模型参数的深度学习模型,通常包含上亿、上百亿、甚至上千亿的模型参数。大模型又可以称为基石模型/基础模型(Foundation Model),通过大规模无标注的语料进行大模型的预训练,产出亿级以上参数的预训练模型,这种模型能适应广泛的下游任务,模型具有较好的泛化能力,例如大规模语言模型(Large Language Model,LLM)、多模态预训练模型(multi-modal pre-training model)等。
大模型在实际应用时,仅需少量样本对预训练模型进行微调即可应用于不同的任务中,大模型可以广泛应用于自然语言处理(Natural Language Processing,简称NLP)、计算机视觉等领域,具体可以应用于如视觉问答(Visual Question Answering,简称VQA)、图像描述(Image Caption,简称IC)、图像生成等计算机视觉领域任务,以及基于文本的情感分类、文本摘要生成、机器翻译等自然语言处理领域任务,大模型主要的应用场景包括数字助理、智能机器人、搜索、在线教育、办公软件、电子商务、智能设计等。
预训练模型也称为通用大模型,具有通用的模型能力。在实际应用中,各企业/组织/平台可以利用通用大模型的能力,通过在自己垂直领域对通用大模型进行训练,来获取适用于自己垂直领域的专属大模型。
人们希望未来人工智能可以帮助我们完成衣食住行等相关的各种需求,例如协助查天气、订外卖、预定酒店、召开会议等等。由用户提出需求,而人工智能系统自动完成用户需求。整个过程都不需要用户参与,人工智能系统成长为真正有用和全知全能的智能体。大模型是人工智能(AI)的核心技术。目前大模型知识的来源只有训练数据,信息过时的问题不可避免,仅适用于经过训练的任务场景(如文本摘要、机器翻译、百科问答等),大模型的能力存在较大的局限性。
本申请提供一种人机交互的方法,通过获取用户输入的指令,从工具库中检索与指令相匹配的工具;将指令和与指令相匹配的工具的描述信息输入大模型,通过大模型调用至少一个工具,执行指令,生成指令的响应信息,并输出指令的响应信息;通过根据用户输入的指令,从工具库中自适应检索执行指令所需的工具,赋予了大模型使用外部工具的能力,大模型通过使用外部工具可以获取到执行指令所需的数据项,执行用户指令并输出响应信息,从而自动完成用户需求,由于工具库具有可扩展性,因此通过使用工具使得大模型的能力可以不断扩展,大大提升大模型的人机交互能力和性能,从而可提升人机交互系统的能力和性能。
本实施例中工具库可以包括但不限于如下几种类型的工具:应用程序编程接口(Application Programming Interface,简称API)、函数、模型、素材、算法、软件等,另外,工具库还可以包括其他能够提供特定能力的工具,此处不做具体限定。
图1为本申请所适用的一示例系统架构的示意图。如图1所示,该系统架构包括服务器和企业端设备。该系统架构中,大模型所在的服务器作为服务器侧,企业端设备作为端侧设备,服务器与企业端设备之间具有可通信的通信链路,能够实现服务器与企业端设备间的通信连接。
其中,服务器可以是部署在云端的服务器集群、或者本地具有计算能力的设备。服务器存储有实现人机交互的大模型和工具库。其中,工具库中包括预先定义的工具和工具的描述信息。服务器负责基于用户输入的指令,检索从工具库中检索与指令相匹配的工具,通过大模型调用至少一个工具,执行指令,并生成指令的响应信息。
企业端设备是企业端(如任意的企业、组织、系统平台等)所使用的电子设备,具体可以为企业端所使用的具有网络通信功能、运算功能以及信息显示功能的硬件设备,其包括但不限于企业端拥有的台式电脑、智能手机、平板电脑,企业端本地或云端部署的服务器,等。企业端设备上运行有人机交互系统,人机交互系统接收用户输入的指令,并利用服务器提供的大模型能力,执行用户指令,以实现人机交互。相对于使用人机交互系统的用户设备来说,企业端设备即是人机交互系统的服务器。
另外,企业端可以通过企业端设备与服务器进行交互,在服务器上自定义配置企业端专属的工具及工具的描述信息。企业端专属的工具是指仅配置该工具的企业端具有使用该工具的权限。示例性地,企业端可以通过企业端设备在服务器上建立自己专属的工具库,仅该企业端具有使用该专属工具库中工具的权限,而其他企业端则不具有该专属工具库中工具的使用权限。
在实现人机交互时,企业端设备将用户输入的指令发送至服务器。服务器从工具库中检索与指令相匹配的工具,将指令和工具的描述信息输入大模型,通过大模型调用至少一个工具,执行指令,并生成指令的响应信息。进一步地,服务器向企业端设备发送指令的响应信息。企业端设备向用户输出响应信息。
图2为本申请所适用的另一示例系统架构的示意图。如图2所示,该系统架构包括实现人机交互的服务器和模型服务。该系统架构中,实现人机交互的服务器可以是企业端(如任意的企业、组织、系统平台等)所使用的服务器设备。模型服务是指向企业端的服务器提供预训练大模型及初始的工具库,初始的工具库中包括预先配置的各个企业端具有使用权限的通用工具及通用工具的描述信息。企业端的服务器与模型服务之间具有可通信的通信链路,能够实现企业端的服务器与模型服务间的通信连接。
企业端的服务器基于模型服务提供的预训练大模型,使用自己专属领域的训练集对预训练大模型进行训练,获得企业端专属领域的大模型,用于实现企业端专属领域的人机交互。另外,企业端还可以自定义配置企业端专属的工具及工具的描述信息。企业端专属的工具是指仅配置该工具的企业端具有使用该工具的权限。
在实现人机交互时,企业端的服务器接收用户输入的指令,从工具库中检索与指令相匹配的工具(包括通用工具和/或专属工具),将指令和与指令相匹配的工具的描述信息输入大模型,通过大模型调用至少一个工具,执行指令,并生成指令的响应信息。服务器向用户输出响应信息。
下面以具体地实施例对本申请的技术方案以及本申请的技术方案如何解决上述技术问题进行详细说明。下面这几个具体的实施例可以相互结合,对于相同或相似的概念或过程可能在某些实施例中不再赘述。下面将结合附图,对本申请的实施例进行描述。
图3为本申请一示例性实施例提供的人机交互的方法流程图。本实施例的执行主体为前述任一系统架构中的服务器。如图3所示,该方法具体步骤如下:
步骤S301、获取用户输入的指令。
其中,用户输入的指令是指人机交互过程中人类用户发出的问题。基于用户的指令人机交互系统利用大模型执行用户的指令,生成指令的响应信息,并输出指令的响应信息。
示例性地,用户向人机交互系统输入的指令可以为“帮我取消下午2点的会议”。一种可能情况下,人机交互系统通过大模型取消该用户在当天下午2点的唯一的会议日程,并在指令执行成功后向用户返回“您的日程已被取消”的响应信息。另一可能情况下,人机交互系统向用户输出“未查询到下午2点的日程”的响应信息,这种情况下指令执行失败。又一可能情况下,若查询到该用户在当天下午2点有多个会议日程时,需要人类用户确认具体取消哪个日程,向用户输出“您有技术部会议和销售部会议两个日程,要取消哪个日程呢?”的答复信息,根据用户输入的“技术部会议”这一新的指令,人机交互系统通过大模型结合上下文信息和新的指令,取消该用户的“技术部会议”这一日程,至此完成用户需求,并向用户输出“您的日程已被取消”的响应信息。
步骤S302、从工具库中检索与指令相匹配的工具。
本实施例中,工具库中包括至少一个工具,以及工具的描述信息。
其中,工具库可以包括但不限于如下几种类型的工具:应用程序编程接口(API)、函数、模型、素材、算法、软件等,另外,工具库还可以包括其他能够提供特定能力的工具,此处不做具体限定。
其中,工具的描述信息用于介绍工具的功能、用途、语法、语义和使用规则等信息。示例性地,工具的描述信息可以包括对工具功能、用途、语法、语义和使用规则等信息的一段描述文本;或者,工具的描述信息可以包括描述工具功能、用途的一个或者多个关键词信息,以及描述工具的语法、语义和使用规则等信息的一端描述文本等。
该步骤中,服务器可以将用户输入的指令与工具库中工具的描述信息进行相似度匹配,确定工具的描述信息与指令的相似度较高的工具,作为与指令相匹配的工具。
可选地,服务器还可以对用户输入的指令与工具库中工具的描述信息进行包含关键词的匹配,若用户输入的指令与工具库中工具的描述信息包含相同的关键词,则确定指令与该工具相匹配。基于此方法可以检索到工具库中与指令相匹配的所有工具。
可选地,服务器还可以对用户输入的指令进行意图识别,以识别指令包含的一个或者多个意图。对于工具库中的工具,若工具的描述信息覆盖了用户输入的指令的至少一项意图,则确定该工具与该指令相匹配。基于此方法也可以检索到工具库中与指令相匹配的所有工具。
该步骤中检索到的与指令相匹配的工具,是执行该指令的过程中可能会用到的工具。
步骤S303、将指令和工具的描述信息输入大模型,通过大模型调用至少一个工具,执行指令,并生成指令的响应信息。
在从工具库中检索与指令相匹配的工具之后,将指令和指令相匹配的工具的描述信息一起输入大模型。通过大模型根据执行该指令的需要,调用与指令相匹配的一个或多个工具,完成用户指令的执行,并生成指令的响应信息。
步骤S304、输出指令的响应信息。
服务器输出指令的响应信息,以向用户返回指令的响应结果。
本实施例中,人机交互系统可以根据当前用户输入的指令,自适应地从工具库中检索与当前指令相匹配的工具,将指令和与指令相匹配的工具的描述信息输入大模型,通过大模型调用至少一个工具,执行指令,并生成指令的响应信息;输出指令的响应信息,赋予大模型调用外部工具的能力,大模型通过调用工具可以获取到执行指令所需的数据项,执行用户指令并输出响应信息,从而自动完成用户需求,由于工具库具有可扩展性,因此通过调用工具使得大模型的能力可以不断扩展,从而大大提升大模型的人机交互能力和性能。
图4为本申请一示例性实施例提供的人机交互的方法的详细流程图。在前述方法实施例的基础上,本实施例中对基于大模型调用工具实现的人机交互方法的处理流程进行详细地说明。本实施例中,通过向大模型输入不同的提示信息,使得大模型执行不同阶段的处理流程。如图4所示,该方法具体步骤如下:
步骤S401、获取用户输入的指令。
其中,用户输入的指令是指人机交互过程中人类用户发出的问题。基于用户的指令人机交互系统利用大模型执行用户的指令,生成指令的响应信息,并输出指令的响应信息。
步骤S402、确认执行指令是否需要调用工具。
本实施例中,在获取到用户输入的指令之后,通过大模型判断完成当前指令是否需要调用外部工具。若不需要调用外部工具,则大模型直接执行指令并生成响应信息即可。若需要调用外部工具,再进行工具检索及后续处理流程。
该步骤中,根据第一提示信息的格式,基于当前用户输入的指令,生成第一提示信息。第一提示信息用于指示大模型基于第一提示信息中包含的指令,判断执行当前指令是否需要调用外部工具。也即是,指示大模型基于第一提示信息中包含的指令,判断在不调用其他工具的前提下是否可以完成该指令的执行,满足用户需求。
例如,第一提示信息的格式可以是在指令后拼接间隔符号和第一提示内容,第一提示内容可以配置为“是否需要调用工具”、或者“不调用工具是否可以完成指令的执行”、或者“是否需要调用外部工具”等,第一提示内容的具体内容可以根据实际应用场景在大模型训练时进行配置和调整,此处不做具体限定。
示例性地,以用户输入的指令为“帮我取消下午2点的会议”为例,第一提示信息可以为“帮我取消下午2点的会议&执行该指令是否需要调用外部工具”,其中,“&”为间隔符号。间隔符号还可以使用其他符号,此处不做具体限定。例如,第一提示信息中还可以为“[帮我取消下午2点的会议]执行该指令是否需要调用外部工具”。其中,第一提示信息中的“[]”用于标识出用户输入的指令,第一提示信息中还可以通过其他符号其他方式对指令进行标记。
大模型可以基于第一提示信息的格式,从第一提示信息中提取用户的指令,判断执行该指令是否需要调用外部工具,并输出判断结果。该判断结果用于指示执行该指令是否需要调用外部工具,可以是预设编码/字符串,如“0”或“false”表示不需要调用外部工具,“1”或“true”表示需要调用外部工具。判断结果也可以是文本信息,如“需要调用外部工具”、或“不需要调用外部工具”。
进一步地,根据该步骤的判断结果,若通过大模型确认执行指令不需要调用工具,则执行后续步骤S403,通过大模型直接执行用户的指令,并生成指令的响应信息。
根据该步骤的判断结果,若通过大模型确认执行指令需要调用工具,则执行后续步骤S404,从工具库中检索与指令相匹配的工具。
本实施例中,利用大模型的已有能力,通过大模型自行判断执行当前的指令是否需要调用外部工具,为实现大模型使用外部工具的能力提供基础,无需人工干预。
步骤S403、若通过大模型确认执行指令不需要调用工具,则通过大模型执行指令,并生成指令的响应信息。
该步骤中,通过大模型直接执行用户指令生成响应信息,这是大模型的既有功能,此处不做赘述。
步骤S404、从工具库中检索与指令相匹配的工具。
其中,工具库中包括至少一个工具,以及工具的描述信息。其中,工具的描述信息用于介绍工具的功能、用途等信息。示例性地,工具的描述信息可以包括对工具功能、用途的一段描述文本,或者工具的描述信息可以包括描述工具功能、用途的一个或者多个关键词信息。
在一可选实施例中,服务器可以将用户输入的指令与工具库中工具的描述信息进行相似度匹配,确定工具的描述信息与指令的相似度较高的工具,作为与指令相匹配的工具。
具体地,将指令编码为向量,称为需求向量;将需求向量与工具库中工具的描述信息的文本向量进行相似度匹配,将描述信息的文本向量与需求向量相匹配的工具,确定为与指令相匹配的工具。
具体地,服务器可以计算指令的需求向量与工具库中工具的描述信息的文本向量的相似度,若需求向量与工具的描述信息的文本向量的相似度达到预设的相似度阈值,则确定该工具的描述信息的文本向量与需求向量相匹配,从而确定该工具是与指令相匹配的工具。
其中,需求向量与工具的描述信息的文本向量的相似度,具体可以是两个向量的余弦相似度、欧氏距离、余弦距离等,或者可以采用其他用于衡量两个向量间相似度的方法确定,此处不做具体限定。另外,对于不同工具,可以设置不同的相似度阈值,具体可以根据工具的特点和经验值进行设置,此处不做具体限定。
可选地,服务器还可以对用户输入的指令与工具库中工具的描述信息进行包含关键词的匹配,若用户输入的指令与工具库中工具的描述信息包含相同的关键词,则确定指令与该工具相匹配。基于此方法可以检索到工具库中与指令相匹配的所有工具。
可选地,服务器还可以对用户输入的指令进行意图识别,以识别指令包含的一个或者多个意图。对于工具库中的工具,若工具的描述信息覆盖了用户输入的指令的至少一项意图,则确定该工具与该指令相匹配。基于此方法也可以检索到工具库中与指令相匹配的所有工具。
该步骤中检索到的与指令相匹配的工具,是执行该指令的过程中可能会用到的工具。若未检索到与指令相匹配的工具,则执行步骤S405输出第一答复信息,第一答复信息用于提示无法执行指令。
可选地,若未检索到与指令相匹配的工具,可以重复进行多次检索,直至检索到与指令相匹配的工具,或者达到预设检索次数。若达到预设检索次数,仍未检索到与指令相匹配的工具,则执行步骤S405输出第一答复信息,第一答复信息用于提示无法执行指令。其中,预设检索次数可以为3、5、10等,具体可以根据实际应用场景和经验值进行配置,此处不做具体限定。
该步骤中,若检索到与指令相匹配的工具,则执行后续步骤S406-S411,实现步骤S303中,将指令和工具的描述信息输入大模型,通过大模型调用至少一个工具,执行指令,并生成指令的响应信息。
在一可选实施例中,大模型可以提供给不同的企业端用户使用。不同的企业端用户可以向工具库中增加自身专属的工具。可选地,为了实现专属工具的权限信息的配置,可以构建共用的工具库,为企业端专属的工具设置专属权限信息,该专属权限信息可以包含具有该工具使用、维护权限的企业端的信息。
可选地,为了实现专属工具的权限信息的配置,还可以分别为各个企业端构建专属工具库,以及企业端共用的通用工具库。其中通用工具库中的工具可以供所有企业端使用,但是企业端不可以对通用工具库进行删除、修改等维护操作,企业端可以向通用工具库中增加经审核后新的工具及工具描述信息。对于企业端的专属工具库,企业端可以对其专属工具库进行新增、删除、修改等所有权限。
进一步地,该步骤中,服务器从工具库中检索企业端具有使用权限且与指令相匹配的工具。
步骤S405、若未检索到与指令相匹配的工具,则输出第一答复信息,第一答复信息用于提示无法执行指令。
若前述步骤中大模型未检索到与指令相匹配的工具,这种情况下,大模型检索不到与当前的指令相匹配的工具,也无法直接完成指令的执行。因此输出第一答复信息,以向用户做出及时、合理的响应。
步骤S406、通过大模型判断基于输入的备选工具是否足以执行指令。
在从工具库中检索与指令相匹配的工具之后,将与指令相匹配的工具作为备选工具,将指令和备选工具的描述信息输入大模型。通过大模型根据执行该指令的需要,调用一个或多个备选工具,完成用户指令的执行,并生成指令的响应信息。
前述步骤中,大模型检索到的与指令相匹配的工具,是大模型执行指令可能会用到工具,作为当前的备选工具。通过调用当前的备选工具可以获取执行指令所需的一个或多个数据项,但是,通过调用当前的备选工具未必能够获得执行指令所需的全部数据项,也即基于检索到的当前的备选工具未必足以执行当前的指令。
该步骤中,通过根据指令和当前的备选工具的描述信息输入大模型,生成第二提示信息,第二提示信息用于指示大模型判断输入的备选工具是否足以执行输入的指令。通过大模型判断基于输入的备选工具是否足以执行输入的指令,并输出判断结果。
具体地,第二提示信息的格式可以是将指令、输入的备选工具的描述信息和第二提示内容,按照指定顺序拼接,并使用指定间隔符间隔。其中第二提示内容可以配置为“工具是否满足用户需求”、或者“工具是否足以执行指令”、或者“是否需要其他工具”等,第二提示内容的具体内容可以根据实际应用场景在大模型训练时进行配置和调整,此处不做具体限定。
示例性地,第二提示信息的格式可以为“[指令];[工具标识:工具描述信息]&[工具标识:工具描述信息]&……;[第二提示内容]”,其中“[]”表示占位符,生成第二提示信息时,使用用户输入的指令替换“[指令]”;用输入的备选工具的表示和描述信息替换[工具标识:工具描述信息],不同工具直接用分隔符号“&”进行分割;第二提示信息中“[第二提示内容]”处指代预先配置的第二提示内容。其中“;”是分割符号。其中“&”和“;”可以使用不同的分割符号替代,此处不做具体限定。
大模型可以基于第二提示信息的格式,从第二提示信息中提取用户的指令和输入的备选工具的信息。大模型判断基于输入的备选工具是否足以执行输入的指令,并输出判断结果。该判断结果用于指示基于输入的备选工具是否足以执行输入的指令,可以是预设编码/字符串,如“0”或“false”表示基于输入的备选工具不足以执行输入的指令,“1”或“true”表示基于输入的备选工具是足以执行输入的指令。判断结果也可以是文本信息,如“基于当前的备选工具足以完成指令的执行”、或“基于当前的备选工具不足以完成指令的执行”。
进一步地,根据该步骤的判断结果,若基于检索到的与指令相匹配的工具足以执行指令,则执行步骤S407,通过大模型调用至少一个工具,执行指令,并生成指令的响应信息。
根据该步骤的判断结果,若基于输入的备选工具不足以执行指令,则执行步骤S408-411,补充检索更多的备选工具,并通过大模型调用备选工具执行指令,生成指令的响应信息。
步骤S407、若基于输入的备选工具足以执行指令,则通过大模型调用至少一个备选工具,执行指令,并生成指令的响应信息。
该步骤中,将指令和当前的备选工具输入大模型,通过大模型调用至少一个备选工具,完成指令的执行,并生成指令的响应信息。
具体地,大模型解析输入的用户指令,理解用户意图,并从输入的与指令相匹配的备选工具中选择合适的备选工具来实现用户意图,从而将用户的自然语言指令转化为相应的工具调用,这个过程设计到两个关键的阶段:理解和执行。在理解阶段,大模型解析输入的用户指令,理解用户意图,并从输入的与指令相匹配的备选工具中选择合适的工具来实现用户意图,这一阶段通常需要复杂的自然语言处理技术,以确保高准确度的理解。在执行阶段,大模型需要构造正确的工具调用请求,将其发送到工具相应的服务,并处理返回的工具调用结果。这一阶段需要大模型对工具的语法、语义和使用规则等细节有深入的理解,这些信息可以从工具描述信息中获取。
例如,用户输入的指令为“帮我取消下午2点的会议”。通过检索工具库得到两个与当前指令相匹配的备选工具:取消日程,查日程。大模型基于当前的指令和检索到的与指令相匹配的备选工具,在理解阶段可以过如下理解:“取消日程”工具需要取消的日程名称和日程时间两个参数,“查日程”工具需要日程时间这一参数。通过解析指令可以识别到日程时间是“下午2点”,但是缺少要取消的日程名称的信息。所以需要使用“查日程”工具来查询相关日程名称。“查日程”工具需要日程时间这一参数,通过解析指令可以识别到日程时间是“下午2点”,所以可以调用“查日程”工具获取到日程名称。“查日程”工具服务返回了日程名称有“技术部会议”,获取到日程名称。通过传入要取消的日程名称“技术部会议”、日程时间“下午2点”这两个数据项,调用“取消日程”工具,完成用户指令的执行,“取消日程”工具返回执行成功消息后,大模型确定日程取消成功,输出“您的日程已被取消”的响应信息。
该步骤中,大模型的具体处理过程与现有的基于自然语言的工具智能调用工具的实现方式类似,此处不再赘述。
步骤S408、若基于输入的备选工具不足以执行指令,则通过大模型输出执行指令所缺失的数据项。
若前述步骤S406的判断结果为基于输入的备选工具不足以执行指令,则可以确定大模型执行当前的指令缺失一个或者多个数据项。需要获取到缺失的数据项,大模型才能完成用户指令的执行,满足用户需求。
若步骤S406中大模型的判断结果为基于输入的备选工具不足以执行指令,大模型输出执行指令所缺失的数据项的信息。例如,缺失要取消的“日程名称”、缺失“日程时间”等。
步骤S409、根据所缺失的数据项,检索用于获取所缺失的数据项的工具。
根据执行指令所缺失的数据项,检索工具库,从工具库中检索用于获取所缺失的数据项的工具,也作为备选工具,从获得更多更全面的备选工具。
示例性地,该步骤中,根据当前缺失的数据项,可以生成用于获取所缺失的数据项的中间指令。例如,生成类似于“获取[数据项],[数据项]……”的指令(称为中间指令)。其中“[数据项]”指代当前缺失的一个数据项。从工具库中检索与中间指令相匹配的工具,作为用于获取所缺失的数据项的工具。从工具库中检索与中间指令相匹配的工具,与前述步骤S404从工具库中检索与指令相匹配的工具的具体实现方式一致,具体参见前述步骤S404的相关内容,此处不再赘述。
进一步地,根据该步骤的检索结果,若检索到用于获取所缺失的数据项的工具,则执行步骤S410,通过大模型调用用于获取所缺失的数据项的工具,来获得执行用户输入的指令所缺失的数据项,从而为执行用户输入的指令提供必须的数据项。
根据该步骤的检索结果,若未检索到用于获取所缺失的数据项的工具,则可以确定因缺失数据项目前无法完成用户输入的指令的执行,执行步骤S411,向用户输出第二答复信息,以提示用户当前缺失的数据项的信息,以提示用户输入所缺失的数据项。
步骤S410、若检索到用于获取所缺失的数据项的工具,将用于获取所缺失的数据项的工具的描述信息,输入大模型,通过大模型调用用于获取所缺失的数据项的工具,获得所缺失的数据项,并执行指令,生成指令的响应信息。
该步骤中,将检索到的与用户输入指令匹配的工具,以及用于获取所缺失的数据项的工具,都作为备选工具,将用户输入的指令和当前的备选工具的描述信息输入大模型,通过大模型调用至少一个备选工具,完成用户输入指令的执行,并生成指令的响应信息。其中,将用户输入的指令和当前的备选工具的描述信息输入大模型,通过大模型调用至少一个备选工具,完成用户输入指令的执行,并生成指令的响应信息,与前述步骤S303的具体实现方式类似,具体可以通过循环执行步骤S406-S411的方式实现,此处不再赘述。
步骤S411、若未检索到用于获取所缺失的数据项的工具,则输出第二答复信息,第二答复信息用于提示执行指令所缺失的数据项的信息。
根据前述步骤S409的检索结果,若未检索到用于获取所缺失的数据项的工具,可以确定因缺失数据项,目前无法完成用户输入的指令的执行,则执行步骤S411,向用户输出第二答复信息,以提示用户当前缺失的数据项的信息,以提示用户输入所缺失的数据项。
进一步地,用户根据输出的第二答复信息,输入缺失的数据项,作为新一轮的输入指令。在新一轮对话中,大模型基于本轮输入,结合上下文信息,可以确定本轮输入提供了上一轮对话中所缺失的数据项,大模型通过整合本轮输入和上下文信息,获取到执行上一轮用户输入的指令所缺失的数据项,并继续完成用户输入指令的执行,得到满足用户需求的执行结果,并生成响应信息。
例如,用户输入的指令为“帮我取消下午2点的会议”。通过检索工具库得到两个与当前指令相匹配的工具:取消日程,查日程。大模型基于当前的指令和检索到的与指令相匹配的工具,在理解阶段可以过如下理解:“取消日程”工具需要取消的日程名称和日程时间两个参数(也即数据项),“查日程”工具需要日程时间这一参数。通过解析指令可以识别到日程时间是“下午2点”,但是缺少要取消的日程名称的信息。所以需要使用“查日程”工具来查询相关日程名称。“查日程”工具需要日程时间这一参数,通过解析指令可以识别到日程时间是“下午2点”,所以可以调用“查日程”工具获取到日程名称。“查日程”工具服务返回了日程名称有“技术部会议”和“销售部会议”。查询到多个日程,需要让用户确认具体是哪个日程需要取消。大模型输出第二答复信息:“您有技术部会议和销售部会议两个日程,要取消哪个日程呢?”。用户根据大模型输出的第二答复信息,输入如下内容“技术部会议”。大模型基于本轮输入的内容,结合上下文信息,可以获取到要取消的日程名称为“技术部会议”,到此为止,大模型获得了调用“取消日程”工具需要的全部数据项。进一步地,大模型通过传入要取消的日程名称“技术部会议”、日程时间“下午2点”这两个数据项,调用“取消日程”工具,完成用户输入指令的执行,“取消日程”工具返回执行成功的通知后,大模型确定日程取消成功,输出“您的日程已被取消”的响应信息。
本实施例中,通过向大模型输入不同的提示信息,使得大模型执行不同阶段的处理流程,使得大模型可以基于用户输入的质量自行判断是否需要调用外部工具,在检索到备选的工具之后,大模型可以自动判断当前检索到的备选工具是否足以执行用户输入的指令,在当前的备选工具不足以执行用户输入的指令的情况下,可以重新检索获取缺失数据项的备选工具,或者向用户输出第二答复信息以提示用户所缺失的数据项,获取用户输入的缺失数据项,从而自动获得执行用户输入指令所需的工具及数据项,进一步地,大模型调用至少一个工具完成用户指令的执行,并输出响应信息,从而赋予大模型自动检索和调用合适的工具的能力,使得大模型可以基于用户输入的指令,自动检索和调用合适的工具,完成用户指令的执行,并输出响应信息,大大提升了人机交互大模型的能力和性能。
在前述任一方法实施例的基础上,在一可选实施例中,服务器可以预先构建工具库,工具库中包含至少一个工具及至少一个工具的描述信息。其中,工具库中可以包括用于实现各种功能的工具,例如,查询天气、账户管理、信息检索、健康管理、娱乐应用(如播放音乐、视频搜索等)、旅行应用、进度管理、智能家居、金融管理、行程管理等。
工具的描述信息用于介绍工具的功能、用途、语法、语义和使用规则等信息。示例性地,工具的描述信息可以包括对工具功能、用途、语法、语义和使用规则等信息的一段描述文本;或者,工具的描述信息可以包括描述工具功能、用途的一个或者多个关键词信息,以及描述工具的语法、语义和使用规则等信息的一端描述文本等。
示例性地,服务器可以提供工具配置界面,工具配置界面用于配置工具库中的工具及工具的描述信息。相关技术人员可以通过工具配置界面中进行工具及工具描述信息的配置操作,配置一个或者多个工具及工具的描述信息。服务器基于通过工具配置界面所配置的工具及工具的描述信息,构建工具库。
在一可选实施例中,本方案还支持对工具库中的工具和/或工具描述信息进行配置更新,以对工具库进行工具新增、删除、修改工具和/或工具描述信息、配置工具的权限信息等操作,实现工具库的管理和维护。
具体地,服务器提供工具配置界面,工具配置界面用于配置工具库中的工具及工具的描述信息。相关技术人员可以通过工具配置界面中进行工具及工具描述信息的配置操作,对工具库进行如下至少一项配置更新:
向工具库中添加新的工具及工具的描述信息、修改工具库中的工具和/或工具的描述信息、删除工具库中的工具及被删除工具的描述信息、配置工具库中至少一个工具的权限信息。
需要说明的是,当工具库中的工具被删除时,删除已被删除的工具的描述信息。
在实际应用中,大模型可以提供给不同的企业端用户使用。不同的企业端用户可以向工具库中增加自身专属的工具。可选地,为了实现专属工具的权限信息的配置,可以构建共用的工具库,为企业端专属的工具设置专属权限信息,该专属权限信息可以包含具有该工具使用、维护权限的企业端的信息。可选地,为了实现专属工具的权限信息的配置,还可以分别为各个企业端构建专属工具库,以及企业端共用的通用工具库。其中通用工具库中的工具可以供所有企业端使用,但是企业端不可以对通用工具库进行删除、修改等维护操作,企业端可以向通用工具库中增加经审核后新的工具及工具描述信息。对于企业端的专属工具库,企业端可以对其专属工具库进行新增、删除、修改等所有权限。
示例性地,图5为本申请一示例性实施例提供的人机交互方法的框架图,如图5所示,用户输入指令,大模型判断是否需要调用工具。若需要调用工具,则从工具库中检索备选工具。若未检索到备选工具,可以重新检索,达到预设检索次数后放弃检索,输出第一答复信息,以提示无法执行指令。若检索到备选工具,则通过大模型判断当前的备选工具是否足以执行指令。若当前的备选工具不足以执行指令,则可以补充检索用于获取缺失数据项的备选AIP,或者输出第二答复信息,以提示执行指令所缺失的数据项。若当前的备选工具足以执行指令,则通过大模型调用至少一个备选工具,完成指令执行,输出响应信息。
在一可选实施例中,本实施例提供一种基于图1所示的系统架构实现的人机交互方法。流程图。图6为本实施例提供的一种人机交互方法的交互流程图,如图6所示,基于图1所示的系统架构的人机交互的流程如下:
步骤S601、企业端设备接收用户输入的指令,并向服务器发送用户输入的指令。
本实施例中,企业端设备运行有人机交互系统,对外提供人机交互服务。企业端设备具体可以是企业端(如任意的企业、组织、系统平台等)的本地或云端部署的服务器,也可以是企业端拥有的台式电脑、智能手机、平板电脑等。相对于人机交互系统的用户所用的用户设备来说,企业端设备则作为服务端。
企业端设备运行有人机交互系统,通过与用户所使用的用户设备进行通信,实现人机交互功能。用户通过所使用的用户设备输入指令,用户设备将用户输入的指令发送至企业端设备。企业端设备接受用户设备发送的用户输入的指令,并向服务器发送用户输入的指令。
另外,企业端设备与用户设备进行交互实现人机交互的具体实现方式,可以采用现有任意一种人机交互方案中,人机交互系统所在服务器与用户设备间实现人机交互的方法实现,本实施例此处不再赘述。
步骤S602、服务器接收企业端设备发送的用户输入的指令。
步骤S603、服务器从工具库中检索与指令相匹配的工具。
本实施例中,大模型可以提供给不同的企业端用户使用。在一可选实施例中,大模型提供各个企业端共用的工具库,各个企业端均具有工具库中工具的使用权限。该步骤中,服务器从工具库中检索与指令相匹配的工具,具体实现方式与前述步骤S302、S404的实现方式相同,具体可以参见前述实施例的相关内容,此处不再赘述。
另一可选实施例中,不同的企业端用户可以向工具库中增加自身专属的工具。可选地,为了实现专属工具的权限信息的配置,可以构建共用的工具库,为企业端专属的工具设置专属权限信息,该专属权限信息可以包含具有该工具使用、维护权限的企业端的信息。可选地,为了实现专属工具的权限信息的配置,还可以分别为各个企业端构建专属工具库,以及企业端共用的通用工具库。其中通用工具库中的工具可以供所有企业端使用,但是企业端不可以对通用工具库进行删除、修改等维护操作,企业端可以向通用工具库中增加经审核后新的工具及工具描述信息。对于企业端的专属工具库,企业端可以对其专属工具库进行新增、删除、修改等维护管理操作。
进一步地,该步骤中,服务器从工具库中检索企业端具有使用权限且与指令相匹配的工具。具体实现方式与前述步骤S303、S404类似,不同之处在于,进行工具检索时,叠加当前企业端具有工具的使用权限这一限制条件,具体实现流程类似,此处不再赘述。
另外,在步骤S603之前,服务器还可以将指令输入大模型,通过大模型确认执行指令是否需要调用工具。在确认执行指令需要调用工具的情况下执行步骤S603,在确认执行指令不需要调用工具的情况下,通过大模型执行指令,并生成指令的响应信息。具体实现方式与前述步骤S402-S403类似,具体参见前述实施例的相关内容,此处不再赘述。
进一步地,根据该步骤S603的检索结果,若未检索到与指令相匹配的工具,则输出第一答复信息,第一答复信息用于提示无法执行指令。具体实现方式与前述步骤S405类似,具体参见前述实施例的相关内容,此处不再赘述。
步骤S604、服务器将指令和工具的描述信息输入大模型,通过大模型调用至少一个工具,执行指令,并生成指令的响应信息。
根据步骤S603的检索结果,若检索到与指令相匹配的工具,该步骤中将指令和与指令相匹配的工具的描述信息输入大模型,通过大模型调用至少一个工具,执行指令,并生成指令的响应信息。
该步骤的具体实现方式与前述步骤S406-S411的实现方式类似,不同之处在于,在进行工具检索时,需叠加当前企业端具有工具的使用权限这一限制条件,具体实现流程类似,此处不再赘述。
步骤S605、服务器向企业端设备发送指令的响应信息。
步骤S606、企业端设备接收服务器发送的指令的响应信息。
步骤S607、企业端设备输出指令的响应信息。
在一可选实施例中,服务器向企业端设备提供工具配置界面,工具配置界面用于配置企业端的工具及工具的描述信息。
企业端设备输出工具配置界面。响应于工具配置界面上的工具配置操作,企业端设备获取通过工具配置界面配置的企业端的工具及工具的描述信息,并向服务器发送企业端的工具及工具的描述信息。
服务器接收企业端设备发送的通过工具配置界面配置的企业端的工具及工具的描述信息。服务器将企业端的工具及工具的描述信息存储到工具库中,并配置企业端的工具及工具的描述信息的权限信息。
可选地,为了实现企业端专属工具的权限信息的配置,可以构建共用的工具库。企业端可以通过工具配置界面向工具库中增加自己专属的工具。服务器为企业端自行配置的工具设置企业端的专属权限信息,该专属权限信息可以包含具有该工具使用、维护权限的企业端的信息。
可选地,为了实现专属工具的权限信息的配置。各个企业端还可以通过工具配置界面建立专属工具库。其中对于企业端的专属工具库,企业端可以对其专属工具库进行新增、删除、修改等维护操作。
本实施例中,企业端设备运行人机交互系统,通过与用户设备的交互实现接收用户输入的指令,以及向用户设备输出指令的响应信息、答复信息等,从而实现人机交互功能。服务器运行有实现人机交互的大模型,以及工具库。企业端设备通过工具配置界面可以配置自己专属的工具,从而基于使用工具的大模型实现企业专属的人机交互系统。在人机交互时,企业端设备将用户输入指令发送至服务器。服务器从自适应地从工具库中检索与当前指令相匹配的工具,将指令和与指令相匹配的工具的描述信息输入大模型,通过大模型调用至少一个工具,执行指令,并生成指令的响应信息,赋予了大模型调用外部工具的能力,大模型通过调用工具可以获取到执行指令所需的数据项,执行用户指令并输出响应信息,从而自动完成用户需求,由于工具库具有可扩展性,因此通过调用工具使得大模型的能力可以不断扩展,从而大大提升大模型的人机交互能力和性能。
在一可选实施例中,本实施例提供一种基于图2所示的系统架构实现的人机交互方法。流程图。图7为本实施例提供的一种人机交互方法的交互流程图,如图7所示,基于图2所示的系统架构的人机交互的流程如下:
步骤S700、模型服务向企业端的服务器提供预训练大模型和初始的工具库,初始的工具库包括通用工具及通用工具的描述信息。
步骤S701、企业端的服务器从模型服务获取预训练大模型和初始的工具库。
本实施例中,模型服务是指向各个企业端提供用于人机交互的预训练大模型的服务。
模型服务还提供预先配置的初始的工具库,该初始的工具库包含一个或者多个工具及工具的描述信息。初始的工具库中的工具可以由所有企业端共用,也称为通用工具。
步骤S702、企业端的服务器根据预训练大模型生成所在垂直领域的大模型。
在获取到预训练大模型之后,企业端的服务器可以从模型服务获取到预训练大模型,使用企业端垂直领域的训练集对预训练大模型进行训练后,得到企业端用于人机交互的大模型。
在一可选实施例中,企业端可以直接将获取的用于人机交互的预训练大模型作为自身人机交互系统所使用的大模型。
步骤S703、企业端的服务器配置企业端专属的工具及工具的描述信息。
该步骤为可选步骤,企业端的服务器可以不执行该步骤,直接使用模型服务提供的初始工具库实现人机交互。
该步骤中,企业端可以向初始的工具库中增加新的工具及工具的描述信息,以扩展人机交互中大模型可以使用的工具,从而扩展大模型的人机交互能力和性能。
示例性地,企业端的服务器提供工具配置界面,工具配置界面用于配置企业端的工具及工具的描述信息。响应于工具配置界面上的工具配置操作,企业端的服务器获取通过工具配置界面配置的工具及工具的描述信息,并将通过工具配置界面配置的工具及工具的描述信息存储到工具库中。本实施例中,由于工具库在企业端的服务器上,该工具仅供该企业端使用,无需配置工具的权限信息。
本实施例中,企业端可以根据人机交互系统的实际需求,随时向工具库中增加新的工具及工具的描述信息,从而可以实现人机交互大模型的交互能力的动态扩展。另外,企业端也可以对工具库中的工具和工具的描述信息进行删除、修改等维护操作。
步骤S704、企业端的服务器接收用户设备发送的用户输入的指令。
本实施例中,企业端的服务器运行人机交互系统,通过与用户设备的交互实现接收用户输入的指令,以及向用户设备输出指令的响应信息、答复信息等,从而实现人机交互功能。
步骤S705、企业端的服务器从工具库中检索与指令相匹配的工具。
该步骤的具体实现方式,与前述步骤S302、S404的实现方式相同,具体可以参见前述实施例的相关内容,此处不再赘述。需要说明的是,本实施例中企业端具有工具库中所有工具的使用权限,因此在进行工具检索时,可不考虑工具的权限信息。
另外,在步骤S705之前,企业端的服务器还可以将用户输入的指令输入大模型,通过大模型确认执行指令是否需要调用工具。在确认执行指令需要调用工具的情况下执行步骤S706,在确认执行指令不需要调用工具的情况下,通过大模型执行指令,并生成指令的响应信息。具体实现方式与前述步骤S402-S403类似,具体参见前述实施例的相关内容,此处不再赘述。
进一步地,根据该步骤S705的检索结果,若未检索到与指令相匹配的工具,则输出第一答复信息,第一答复信息用于提示无法执行指令。具体实现方式与前述步骤S405类似,具体参见前述实施例的相关内容,此处不再赘述。
步骤S706、企业端的服务器将指令和工具的描述信息输入大模型,通过大模型调用至少一个工具,执行指令,并生成指令的响应信息。
根据步骤S705的检索结果,若检索到与指令相匹配的工具,该步骤中将指令和与指令相匹配的工具的描述信息输入大模型,通过大模型调用至少一个工具,执行指令,并生成指令的响应信息。
该步骤的具体实现方式与前述步骤S406-S411的实现方式类似,具体参见前述实施例的相关内容,本实施例此处不再赘述。
步骤S707、企业端的服务器向用户设备输出指令的响应信息。
本实施例中,企业端的服务器运行人机交互系统,通过与用户设备的交互实现接收用户输入的指令,以及向用户设备输出指令的响应信息、答复信息等,从而实现人机交互功能。并且,企业端的服务器运行有实现人机交互的大模型,以及工具库。企业端的服务器通过工具配置界面可以向工具库中新增自己专属的工具,基于使用工具的大模型实现企业专属的人机交互系统。在人机交互时,企业端的服务器根据用户输入指令,自适应地从工具库中检索与当前指令相匹配的工具,将指令和与指令相匹配的工具的描述信息输入大模型,通过大模型调用至少一个工具,执行指令,并生成指令的响应信息,赋予了大模型调用外部工具的能力,大模型通过调用工具可以获取到执行指令所需的数据项,执行用户指令并输出响应信息,从而自动完成用户需求,由于工具库具有可扩展性,因此通过调用工具使得大模型的能力可以不断扩展,从而大大提升大模型的人机交互能力和性能。
为了实现人机交互的大模型使用工具的能力,构建用于训练大模型使用工具能力的训练集,通过该训练集对大模型/预训练大模型进行训练,得到可以使用工具的人机交互大模型。
在构建训练集时,可以构建一个或者多个垂直领域的训练集,各垂直领域的训练集需包含工具库,以及训练数据。其中训练数据包括:用户指令(query)、工具调用及响应、指令的响应结果。
其中,垂直领域可以根据当前企业端所涉及的垂直领域确定,也可以通过使用预训练语言模型生成。其中预训练语言模型可以使用现有的较为成熟的语言模型实现。
对于任一垂直领域,可以通过预训练语言模型生成该垂直领域的多个工具。示例性地,可以配置少量的工具示例。通过向预训练语言模型输入工具及工具描述信息的示例,并指定一个或多个垂直领域,利用预训练语言模型生成指定垂直领域的与输入示例类似的工具及工具描述信息。这样,可以利用预训练语言模型生成各个垂直领域的多个工具及工具描述信息。
对于任一工具,利用预训练语言模型可以生成通过调用该工具可以解决的与用户问题(query),得到一个或者多个用户指令。并且建立工具与用户指令间的关联关系。
进一步地,对于具有关联关系的一组工具和用户指令,利用预训练语言模型模拟调用该工具完成该用户指令的过程,生成该工具的调用信息、以及工具的响应信息(即返回值),并根据工具的返回值生成指令的响应结果。
综上,通过预训练语言模型可以自动构建多个垂直领域的工具库和训练集。其中,生成不同类型数据所使用的预训练语言模型可以是同一预训练语言模型,通过输入不同的提示信息,指示预训练语言模型生成不同类型的数据。另外,生成不同类型数据也可以使用不同的预训练语言模型实现。
进一步地,还可以通过预训练语言模型或者基于规则,自动验证和标注所构建的工具库和训练数据是否符合预设设计原则,仅保留符合预设设计原则的数据,提升训练集的准确性。
在对大模型使用工具的能力进行训练时,将垂直领域、工具的描述信息和用户指令输入大模型,通过大模型自动生成工具调用及响应信息,并输出指令响应结果。根据大模型输出的工具调用及响应信息,以及指令响应结果,以及训练集中该训练数据所包含的工具调用及响应信息,以及指令响应结果,计算损失(如交叉熵损失),并根据损失更新大模型的模型参数。在训练完成后,得到具有工具使用能力的人机交互大模型。
可选地,大模型输出包含工具调用及响应信息与指令响应结果的序列,将训练集中训练数据所包含的工具调用及响应信息与指令响应结果构成的具有相同格式的参考序列,进一步地,根据大模型输出的序列与参考序列间的差异计算损失。
可选地,大模型可以分别输出工具调用信息、工具响应信息,以及指令响应结果,分别计算工具调用信息、工具响应信息,以及指令响应结果这三项信息对应的子损失,根据三个子损失加权求和得到总体损失,根据总体损失更新大模型的模型参数。其中各项子损失的权重系数可以根据实际应用场景和经验值进行配置,此处不做具体限定。
本实施例中,通过使用预训练语言模型自动生成垂直领域、工具库和训练数据,并自动标注所构建的工具和训练数据,相较于手动标注训练数据,可以大大提升标注效率,节省获取训练集的成本。
图8为本申请实施例提供的一种服务器的结构示意图。如图8所示,该服务器包括:存储器801和处理器802。存储器801,用于存储计算机执行指令,并可被配置为存储其它各种数据以支持在服务器上的操作。处理器802,与存储器801通信连接,用于执行存储器801存储的计算机执行指令,以实现上述任一方法实施例中服务器/企业端的服务器所提供的技术方案,其具体功能和所能实现的技术效果类似,此处不再赘述。图8中以服务器为部署在云端的服务器设备为例进行示例性地说明,服务器还可以为企业端部署在本地的服务器。
可选的,如图8所示,该服务器还包括:防火墙803、负载均衡器804、通信组件805、电源组件806等其它组件。图8中仅示意性给出部分组件,并不意味着服务器只包括图8所示组件。
图9为本申请实施例提供的一种电子设备的结构示意图。如图9所示,该电子设备包括:存储器901和处理器902。存储器901,用于存储计算机执行指令,并可被配置为存储其它各种数据以支持在电子设备上的操作。处理器902,与存储器901通信连接,用于执行存储器901存储的计算机执行指令,以实现上述任一方法实施例中企业端设备所提供的技术方案,其具体功能和所能实现的技术效果类似,此处不再赘述。图9中以企业端电子设备为部署在云端为例进行示例性地说明,电子设备还可以为企业端部署在本地的设备。
可选的,如图9所示,该电子设备还包括:防火墙903、负载均衡器904、通信组件905、电源组件906等其它组件。图9中仅示意性给出部分组件,并不意味着企业端设备只包括图9所示组件。
本申请实施例还提供一种计算机可读存储介质,计算机可读存储介质中存储有计算机执行指令,计算机执行指令被处理器执行时用于实现上述任一方法实施例中服务器/企业端的服务器所提供的技术方案,具体功能和所能实现的技术效果此处不再赘述。
本申请实施例还提供一种计算机可读存储介质,计算机可读存储介质中存储有计算机执行指令,计算机执行指令被处理器执行时用于实现上述任一方法实施例中企业端设备所提供的技术方案,具体功能和所能实现的技术效果此处不再赘述。
本申请实施例还提供了一种计算机程序产品,计算机程序产品包括:计算机程序,计算机程序存储在可读存储介质中,服务器的至少一个处理器可以从可读存储介质读取计算机程序,至少一个处理器执行计算机程序使得服务器执行上述任一方法实施例中服务器/企业端的服务器所提供的技术方案,具体功能和所能实现的技术效果此处不再赘述。
本申请实施例还提供了一种计算机程序产品,计算机程序产品包括:计算机程序,计算机程序存储在可读存储介质中,服务器的至少一个处理器可以从可读存储介质读取计算机程序,至少一个处理器执行计算机程序使得服务器执行上述任一方法实施例中企业端设备所提供的技术方案,具体功能和所能实现的技术效果此处不再赘述。
本申请实施例提供一种芯片,包括:处理模块与通信接口,该处理模块能执行前述方法实施例中服务器/企业端的服务器的技术方案。可选的,该芯片还包括存储模块(如,存储器),存储模块用于存储指令,处理模块用于执行存储模块存储的指令,并且对存储模块中存储的指令的执行使得处理模块执行前述任一方法实施例中服务器/企业端的服务器所提供的技术方案。
本申请实施例提供一种芯片,包括:处理模块与通信接口,该处理模块能执行前述方法实施例中企业端设备的技术方案。可选的,该芯片还包括存储模块(如,存储器),存储模块用于存储指令,处理模块用于执行存储模块存储的指令,并且对存储模块中存储的指令的执行使得处理模块执行前述任一方法实施例中企业端设备所提供的技术方案。
上述存储器可以是对象存储(Object Storage Service,OSS)。上述存储器可以由任何类型的易失性或非易失性存储设备或者它们的组合实现,如静态随机存取存储器(SRAM),电可擦除可编程只读存储器(EEPROM),可擦除可编程只读存储器(EPROM),可编程只读存储器(PROM),只读存储器(ROM),磁存储器,快闪存储器,磁盘或光盘。
上述通信组件被配置为便于通信组件所在设备和其他设备之间有线或无线方式的通信。通信组件所在设备可以接入基于通信标准的无线网络,如移动热点(WiFi),第二代移动通信系统(2G)、第三代移动通信系统(3G)、第四代移动通信系统(4G)/长期演进(LTE)、第五代移动通信系统(5G)等移动通信网络,或它们的组合。在一个示例性实施例中,通信组件经由广播信道接收来自外部广播管理系统的广播信号或广播相关信息。在一个示例性实施例中,通信组件还包括近场通信(NFC)模块,以促进短程通信。例如,在NFC模块可基于射频识别(RFID)技术,红外数据协会(IrDA)技术,超宽带(UWB)技术,蓝牙(BT)技术和其他技术来实现。上述电源组件,为电源组件所在设备的各种组件提供电力。电源组件可以包括电源管理系统,一个或多个电源,及其他与为电源组件所在设备生成、管理和分配电力相关联的组件。
本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、只读光盘存储器(CD-ROM)、光学存储器等)上实施的计算机程序产品的形式。
本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
在一个典型的配置中,计算设备包括一个或多个处理器(CPU)、输入/输出接口、网络接口和内存。内存可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RAM)和/或非易失性内存等形式,如只读存储器(ROM)或闪存(flash RAM)。内存是计算机可读介质的示例。
计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数字多功能光盘(DVD)或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括暂存电脑可读媒体(transitory media),如调制的数据信号和载波。
需要说明的是,本申请所涉及的用户信息(包括但不限于用户设备信息、用户属性信息等)和数据(包括但不限于用于分析的数据、存储的数据、展示的数据等),均为经用户授权或者经过各方充分授权的信息和数据,并且相关数据的收集、使用和处理需要遵守相关法律法规和标准,并提供有相应的操作入口,供用户选择授权或者拒绝。
另外,在上述实施例及附图中的描述的一些流程中,包含了按照特定顺序出现的多个操作,但是应该清楚了解,这些操作可以不按照其在本文中出现的顺序来执行或并行执行,仅仅是用于区分开各个不同的操作,序号本身不代表任何的执行顺序。另外,这些流程可以包括更多或更少的操作,并且这些操作可以按顺序执行或并行执行。需要说明的是,本文中的“第一”、“第二”等描述,是用于区分不同的消息、设备、模块等,不代表先后顺序,也不限定“第一”和“第二”是不同的类型。“多个”的含义是两个以上,除非另有明确具体的限定。
本领域技术人员在考虑说明书及实践这里公开的发明后,将容易想到本申请的其它实施方案。本申请旨在涵盖本申请的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本申请的一般性原理并包括本申请未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本申请的真正范围和精神由下面的权利要求书指出。
应当理解的是,本申请并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本申请的范围仅由所附的权利要求书来限制。
Claims (14)
1.一种人机交互的方法,其特征在于,包括:
获取用户输入的指令;
从工具库中检索与所述指令相匹配的工具;
将所述指令和所述工具的描述信息输入大模型,通过所述大模型调用至少一个所述工具,执行所述指令,并生成所述指令的响应信息;
输出所述指令的响应信息。
2.根据权利要求1所述的方法,其特征在于,所述从工具库中检索与所述指令相匹配的工具,包括:
将所述指令编码为需求向量;
将所述需求向量与工具库中工具的描述信息的文本向量进行相似度匹配,将描述信息的文本向量与所述需求向量相匹配的工具,确定为与所述指令相匹配的工具。
3.根据权利要求1所述的方法,其特征在于,所述从工具库中检索与所述指令相匹配的工具之前,还包括:
将所述指令输入大模型,通过所述大模型确认执行所述指令需要调用工具。
4.根据权利要求3所述的方法,其特征在于,所述从工具库中检索与所述指令相匹配的工具之前,还包括:
若通过所述大模型确认执行所述指令不需要调用工具,则通过所述大模型执行所述指令,并生成所述指令的响应信息。
5.根据权利要求1所述的方法,其特征在于,所述从工具库中检索与所述指令相匹配的工具之后,还包括:
若未检索到与所述指令相匹配的工具,则输出第一答复信息,所述第一答复信息用于提示无法执行所述指令。
6.根据权利要求1所述的方法,其特征在于,所述将所述指令和所述工具的描述信息输入大模型,通过所述大模型调用至少一个所述工具,执行所述指令,并生成所述指令的响应信息,包括:
将所述指令和所述工具的描述信息输入大模型,通过所述大模型判断基于所述工具是否足以执行所述指令;
若基于所述工具足以执行所述指令,则通过所述大模型调用至少一个所述工具,执行所述指令,并生成所述指令的响应信息。
7.根据权利要求6所述的方法,其特征在于,所述将所述指令和所述工具的描述信息输入大模型,通过所述大模型判断基于所述工具是否足以执行所述指令之后,还包括:
若基于所述工具不足以执行所述指令,则通过所述大模型输出执行所述指令所缺失的数据项;
根据所述所缺失的数据项,检索用于获取所缺失的数据项的工具;
若检索到用于获取所缺失的数据项的工具,则将用于获取所缺失的数据项的工具的描述信息,输入所述大模型,通过所述大模型调用用于获取所缺失的数据项的工具,获得所述所缺失的数据项,并执行所述指令,生成所述指令的响应信息;
若未检索到用于获取所缺失的数据项的工具,则输出第二答复信息,所述第二答复信息用于提示执行所述指令所缺失的数据项的信息。
8.根据权利要求1-7中任一项所述的方法,其特征在于,还包括:
构建工具库,所述工具库中包含至少一个工具及所述至少一个工具的描述信息。
9.根据权利要求8所述的方法,其特征在于,还包括:
提供工具配置界面,所述工具配置界面用于配置工具库中的工具及工具的描述信息;
基于所述工具配置界面中进行的配置操作,对所述工具库进行如下至少一项配置更新:
向所述工具库中添加新的工具及工具的描述信息;
修改所述工具库中的工具和/或工具的描述信息;
删除所述工具库中的工具及被删除工具的描述信息;
配置所述工具库中至少一个工具的权限信息。
10.一种人机交互的方法,其特征在于,应用于服务器,包括:
接收企业端设备发送的用户输入的指令;
从工具库中检索与所述指令相匹配的工具;
将所述指令和所述工具的描述信息输入大模型,通过所述大模型调用至少一个所述工具,执行所述指令,并生成所述指令的响应信息;
向所述企业端设备发送所述指令的响应信息。
11.根据权利要求10所述的方法,其特征在于,还包括:
向所述企业端设备提供工具配置界面,所述工具配置界面用于配置所述企业端的工具及工具的描述信息;
接收通过所述工具配置界面配置的所述企业端的工具及工具的描述信息;
将所述企业端的工具及工具的描述信息存储到工具库中,并配置所述企业端的工具及工具的描述信息的权限信息。
12.根据权利要求10所述的方法,其特征在于,所述从工具库中检索与所述指令相匹配的工具,包括:
从工具库中检索所述企业端具有使用权限且与所述指令相匹配的工具。
13.一种人机交互的方法,其特征在于,应用于企业端设备,包括:
接收用户输入的指令,并向服务器发送所述用户输入的指令;
接收所述服务器发送的所述指令的响应信息,所述指令的响应信息是通过从工具库中检索与所述指令相匹配的工具,将所述指令和所述工具的描述信息输入大模型,通过所述大模型调用至少一个所述工具执行所述指令生成的;
输出所述指令的响应信息。
14.根据权利要求13所述的方法,其特征在于,还包括:
输出工具配置界面,所述工具配置界面用于配置所述企业端的工具及工具的描述信息;
响应于所述工具配置界面上的工具配置操作,获取通过所述工具配置界面配置的所述企业端的工具及工具的描述信息;
向所述服务器发送所述企业端的工具及工具的描述信息。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310835141.4A CN116701601A (zh) | 2023-07-07 | 2023-07-07 | 人机交互的方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310835141.4A CN116701601A (zh) | 2023-07-07 | 2023-07-07 | 人机交互的方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN116701601A true CN116701601A (zh) | 2023-09-05 |
Family
ID=87835834
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310835141.4A Pending CN116701601A (zh) | 2023-07-07 | 2023-07-07 | 人机交互的方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116701601A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117094376A (zh) * | 2023-10-19 | 2023-11-21 | 浪潮电子信息产业股份有限公司 | 一种任务处理方法、装置、系统、设备及可读存储介质 |
-
2023
- 2023-07-07 CN CN202310835141.4A patent/CN116701601A/zh active Pending
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117094376A (zh) * | 2023-10-19 | 2023-11-21 | 浪潮电子信息产业股份有限公司 | 一种任务处理方法、装置、系统、设备及可读存储介质 |
CN117094376B (zh) * | 2023-10-19 | 2024-02-23 | 浪潮电子信息产业股份有限公司 | 一种任务处理方法、装置、系统、设备及可读存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20210160130A1 (en) | Method and Apparatus for Determining Target Object, Storage Medium, and Electronic Device | |
US11874904B2 (en) | Electronic device including mode for using an artificial intelligence assistant function of another electronic device | |
CN106340308A (zh) | 语音答复方法及装置 | |
CN108519998B (zh) | 基于知识图谱的问题引导方法及装置 | |
Garrido et al. | Smart tourist information points by combining agents, semantics and AI techniques | |
CN116881428B (zh) | 一种语言模型训练方法及装置 | |
CN106528692A (zh) | 基于人工智能的对话控制方法及装置 | |
CN109948151A (zh) | 构建语音助手的方法 | |
CN116701601A (zh) | 人机交互的方法 | |
CN109739969A (zh) | 答案生成方法和智能会话系统 | |
CN109670033A (zh) | 内容的检索方法、装置、设备及存储介质 | |
CN110162675A (zh) | 应答语句的生成方法、装置、计算机可读介质及电子设备 | |
CN111144132B (zh) | 一种语义识别方法及装置 | |
CN108021556A (zh) | 用于获取信息的方法及装置 | |
AU2022201193A1 (en) | System and method for designing artificial intelligence (ai) based hierarchical multi-conversation system | |
CN110232920A (zh) | 语音处理方法和装置 | |
CN107547354A (zh) | 业务数据提供方法及装置 | |
CN116383027B (zh) | 人机交互的数据处理方法及服务器 | |
CN116737883A (zh) | 人机交互方法、装置、设备及存储介质 | |
CN116757270A (zh) | 基于人机交互模型或大模型的数据处理方法、服务器 | |
CN116383026A (zh) | 基于大模型的数据处理方法及服务器 | |
CN116881462A (zh) | 文本数据处理、文本表示、文本聚类的方法及设备 | |
CN112487170A (zh) | 面向场景配置的人机交互对话机器人系统 | |
CN113011175A (zh) | 一种基于双重渠道特征匹配的语义识别方法及系统 | |
CN110532565A (zh) | 语句处理方法及装置、以及电子设备 |
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 | ||
CB02 | Change of applicant information | ||
CB02 | Change of applicant information |
Address after: Room 553, 5th Floor, Building 3, No. 969 Wenyi West Road, Wuchang Street, Yuhang District, Hangzhou City, Zhejiang Province, 310023 Applicant after: Hangzhou Alibaba Cloud Feitian Information Technology Co.,Ltd. Address before: Room 553, 5th Floor, Building 3, No. 969 Wenyi West Road, Wuchang Street, Yuhang District, Hangzhou City, Zhejiang Province, 310023 Applicant before: Hangzhou Alibaba Feitian Information Technology Co.,Ltd. |