CN117973523A - 模型调用的方法、装置、电子设备及存储介质 - Google Patents
模型调用的方法、装置、电子设备及存储介质 Download PDFInfo
- Publication number
- CN117973523A CN117973523A CN202311726797.9A CN202311726797A CN117973523A CN 117973523 A CN117973523 A CN 117973523A CN 202311726797 A CN202311726797 A CN 202311726797A CN 117973523 A CN117973523 A CN 117973523A
- Authority
- CN
- China
- Prior art keywords
- message
- interactive
- target
- interaction
- large language
- 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
- 238000000034 method Methods 0.000 title claims abstract description 82
- 230000002452 interceptive effect Effects 0.000 claims abstract description 266
- 230000003993 interaction Effects 0.000 claims abstract description 146
- 230000004044 response Effects 0.000 claims abstract description 73
- 239000013598 vector Substances 0.000 claims description 14
- 238000001914 filtration Methods 0.000 claims description 10
- 238000006243 chemical reaction Methods 0.000 claims description 4
- 230000002829 reductive effect Effects 0.000 abstract description 5
- 238000013473 artificial intelligence Methods 0.000 abstract description 3
- 238000003058 natural language processing Methods 0.000 abstract description 3
- 239000008186 active pharmaceutical agent Substances 0.000 description 10
- 238000010586 diagram Methods 0.000 description 9
- 230000008569 process Effects 0.000 description 9
- 238000012545 processing Methods 0.000 description 9
- 230000006870 function Effects 0.000 description 7
- 238000005516 engineering process Methods 0.000 description 6
- 238000004590 computer program Methods 0.000 description 4
- 230000009286 beneficial effect Effects 0.000 description 3
- 238000011161 development Methods 0.000 description 3
- 241000272525 Anas platyrhynchos Species 0.000 description 2
- 230000006978 adaptation Effects 0.000 description 2
- 230000005540 biological transmission Effects 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 230000002093 peripheral effect Effects 0.000 description 2
- 241000287828 Gallus gallus Species 0.000 description 1
- 230000001413 cellular effect Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 238000013136 deep learning model Methods 0.000 description 1
- 238000000802 evaporation-induced self-assembly Methods 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 230000000670 limiting effect Effects 0.000 description 1
- 230000000873 masking effect Effects 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 238000011022 operating instruction Methods 0.000 description 1
- 230000000750 progressive effect Effects 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 238000012549 training Methods 0.000 description 1
- 239000002699 waste material Substances 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N5/00—Computing arrangements using knowledge-based models
- G06N5/02—Knowledge representation; Symbolic representation
- G06N5/022—Knowledge engineering; Knowledge acquisition
- G06N5/025—Extracting rules from data
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/30—Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
- G06F16/33—Querying
- G06F16/332—Query formulation
- G06F16/3329—Natural language query formulation or dialogue systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/448—Execution paradigms, e.g. implementations of programming paradigms
- G06F9/4482—Procedural
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N5/00—Computing arrangements using knowledge-based models
- G06N5/04—Inference or reasoning models
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- Mathematical Physics (AREA)
- General Physics & Mathematics (AREA)
- Artificial Intelligence (AREA)
- Computational Linguistics (AREA)
- Data Mining & Analysis (AREA)
- Evolutionary Computation (AREA)
- Computing Systems (AREA)
- Human Computer Interaction (AREA)
- Databases & Information Systems (AREA)
- User Interface Of Digital Computer (AREA)
Abstract
本申请实施例提供了一种模型调用的方法、装置、电子设备及存储介质,涉及人工智能技术领域。接收用户输入的交互消息;根据所述交互消息从所述多个不同的大语言模型中确定目标大语言模型;根据所述目标大语言模型对应的目标输入模板,将所述交互消息转换成所述目标大语言模型对应的目标交互消息;向所述目标大语言模型发送所述目标交互消息,将所述目标大语言模型返回的交互响应消息发送给所述用户。采用上述技术方式,可以根据交互消息的不同灵活适配相应的目标大语言模型,提升自然语言处理时的大语言模型的适用性和灵活性,还能降低连接大语言模型的成本,在规模部署时省时省力。
Description
技术领域
本申请涉及人工智能技术领域,尤其涉及模型调用的方法、装置、电子设备及存储介质。
背景技术
在人工智能技术领域,LLM(Large Language Model,大语言模型)是一种广泛使用的预测模型,大语言模型通常是使用大量文本数据训练的深度学习模型,可以处理多种自然语言任务。
现有技术中有多种成熟的大语言模型,例如ChatGPT(Chat Generative Pre-trained Transformer)、GPT-3.5-turbo、ChatGLM-6B或GPT-4等。这些大语言模型的架构和参数不同,每个大语言模型具有各自不同的特点,例如ChatGPT能够基于在预训练阶段所见的模式和统计规律,来生成回答,还能根据聊天的上下文进行互动,真正像人类一样来聊天交流。而GPT-4则具有更先进的推理能力,在各种专业和学术基准测试中表现出与人类水平相当的性能。
本申请的发明人注意到,现有的LLM模型通常都有特定的运行环境要求,缺乏灵活性,例如某些LLM模型可能无法适应不同的数据类型或格式。现有技术中通常需要采用每个模型分别提供的API连接大语言模型(例如直接采用三方提供的API将模型接入中台)或者将模型在本地部署后调用,这需要进行额外的开发以适配进行各个大语言模型的调用,还需要针对不同类型的交互消息的处理进行额外的开发,在进行规模部署时极大增加相应的开发和部署成本,并且费时费力。
发明内容
本申请实施例的目的是提供一种模型调用的方法、装置、电子设备及存储介质,用以解决调用多个大语言模型时部署困难,成本高,费时费力的问题。
为解决上述技术问题,本申请实施例是通过以下各方面实现的。
根据本公开实施例的第一方面,提供一种模型调用的方法,应用于服务器,所述服务器连接多个不同的大语言模型,所述方法包括:接收用户输入的交互消息;根据所述交互消息从所述多个不同的大语言模型中确定目标大语言模型;根据所述目标大语言模型对应的目标输入模板,将所述交互消息转换成所述目标大语言模型对应的目标交互消息;向所述目标大语言模型发送所述目标交互消息,将所述目标大语言模型返回的交互响应消息发送给所述用户。
根据本公开实施例的第二方面,提供一种模型调用的装置,所述服务器连接多个不同的大语言模型,所述装置包括:接收模块,被配置为接收用户输入的交互消息;确定模块,被配置为根据所述交互消息从所述多个不同的大语言模型中确定目标大语言模型;转换模块,被配置为根据所述目标大语言模型对应的目标输入模板,将所述交互消息转换成所述目标大语言模型对应的目标交互消息;交互模块,被配置为向所述目标大语言模型发送所述目标交互消息,将所述目标大语言模型返回的交互响应消息发送给所述用户。
根据本公开实施例的第三方面,提供一种电子设备,包括:存储器、处理器和存储在所述存储器上并可在所述处理器上运行的计算机可执行指令,所述计算机可执行指令被所述处理器执行时实现步骤:接收用户输入的交互消息;根据所述交互消息从所述多个不同的大语言模型中确定目标大语言模型;根据所述目标大语言模型对应的目标输入模板,将所述交互消息转换成所述目标大语言模型对应的目标交互消息;向所述目标大语言模型发送所述目标交互消息,将所述目标大语言模型返回的交互响应消息发送给所述用户。
根据本公开实施例的第四方面,提供一种计算机可读存储介质,所述计算机可读存储介质存储计算机可执行指令,所述计算机可执行指令被处理器执行时实现步骤:接收用户输入的交互消息;根据所述交互消息从所述多个不同的大语言模型中确定目标大语言模型;根据所述目标大语言模型对应的目标输入模板,将所述交互消息转换成所述目标大语言模型对应的目标交互消息;向所述目标大语言模型发送所述目标交互消息,将所述目标大语言模型返回的交互响应消息发送给所述用户。
采用上述技术方式,服务器连接多个不同的大语言模型,针对用户输入的交互消息,通过为交互消息匹配对应的目标大语言模型,并根据目标大语言模型对应的目标数据模板,将交互消息转换成目标大语言对应的目标交互消息,完成对目标大语言模型的调用,可以根据交互消息的不同灵活适配相应的目标大语言模型,提升自然语言处理时的大语言模型的适用性和灵活性,还能降低连接大语言模型的成本,在规模部署时省时省力。
应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本公开。
本公开的其他特征和优点将在随后的具体实施方式部分予以详细说明。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请中记载的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1示出本申请实施例提供的模型调用的方法的一种应用场景示意图;
图2示出本申请实施例提供的模型调用的方法的一种流程示意图;
图3示出本申请实施例提供的模型调用的方法的另一种流程示意图;
图4示出本申请实施例提供的模型调用的方法的又一种流程示意图;
图5示出本申请实施例提供的模型调用的方法的又一种流程示意图;
图6示出本申请实施例提供的服务器的一种框架示意图;
图7示出本申请实施例提供的一种模型调用的装置的框图;
图8示出本申请实施例提供的另一种模型调用的装置的框图;
图9为执行本申请实施例提供的模型调用的方法的电子设备的硬件结构示意图。
具体实施方式
为了使本技术领域的人员更好地理解本申请中的技术方案,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本申请保护的范围。
图1示出本申请实施例提供的模型调用的方法的一种流程示意图,该方法可以应用于服务器,服务器可以是单个服务器,也可以是云服务器或服务器集群,服务器连接多个不同的大语言模型,如图1所示,该方法可以包括如下步骤:
在步骤S101中,接收用户输入的交互消息。
可以理解的是,服务器可以通过多种方式与大语言模型连接,例如可以通过大语言模型的API连接,也可以是通过内部接口与部署在服务器上的大语言模型连接。用户可以是最终的消费者,例如,消费者可以通过服务器提供的交互界面输入上述交互消息。用户也可以是开发者用户,例如,开发者用户可以通过调用服务器提供的API调用服务器所连接的多个不同的大语言模型,可以通过调用消息获取交互消息,本申请对此不作限制。
交互消息的形式可以多种多样,例如可以是文本消息、图片消息、音频消息或视频消息中的至少一种,可以理解的是,在交互消息是图片消息的情况下,可以采用相关技术中的图像识别技术获取其中的文本消息(例如图片中的文字),在交互消息是音频消息或视频消息的情况下,可以采用相关技术中的识别技术获取音频消息或视频消息中的文本信息(例如音频帧中的文本信息或视频图像帧中的文本信息)。
在步骤S102中,根据交互消息从多个不同的大语言模型中确定目标大语言模型。
在一些实施例中,多个大语言模型可以包括例如ChatGPT(Chat Generative Pre-trained Transformer)、GPT-3.5-turbo、ChatGLM-6B或GPT-4中的多个,本申请对具体的大语言模型不作限制。
在一些实施例中,可以采用如下的任一方式从多个不同的大语言模型中确定目标大语言模型。
方式一、获取交互消息对应的交互服务类型,根据交互服务类型从所述多个不同的大语言模型中确定相匹配的目标大语言模型。
可以理解的是,交互消息可以包括多种交互服务类型,该交互服务类型可以是上下文交互类型和非上下文交互类型,上下文交互类型例如具体可以是聊天,非上下文交互类型例如可以是知识问答或文本生成。本申请对交互服务类型不做限制。
在一些可能的实现方式中,可以获取交互消息对应的语义,根据交互消息对应的语义确定交互消息对应的交互服务类型。例如,交互消息是“我有一次购物体验非常糟糕”或者“可以陪我聊聊天么?”,根据交互消息的语义可以确定该交互消息对应的交互服务类型是上下文交互类型。交互消息例如可以是“4G和5G有啥区别?”,则可以确定该交互消息对应的交互服务类型是非上下文交互类型。
在一些实施例中,在确定交互消息对应的交互服务类型之后,可以根据交互服务类型和预设的模型对应关系从所述多个不同的大语言模型中确定目标大语言模型。该预设的模型对应关系例如可以是如下表一所示的交互服务类型与大语言模型之间的对应关系。
表一
交互服务类型 | 大语言模型 |
聊天 | ChatGPT、ChatGLM-6B |
知识问答 | GPT-4、日日新 |
文本生成 | GPT-3.5-turbo |
可以理解的是,上述表一的模型对应关系仅仅是示例,本领域技术人员可以在此基础上更新该模型对应关系,不能理解为对本申请的技术方案的限制。同一种交互服务类型可以对应一个大语言模型,也可以对应多个大语言模型,在一种交互服务类型可以对应的多个大语言模型的情况下,服务器可以根据预设的权重从对应的多个大语言模型中确定目标大语言模型。
方式二、根据交互消息中指定的大语言模型,从多个不同的大语言模型中确定目标大语言模型。
在一些实施例中,用户也可以在交互消息中指定相应的大语言模型,例如消费者用户在交互界面中输入交互消息时,可以根据交互界面的提示选择指定的大语言模型。开发者用户也可以在服务器提供的API中携带相应的指定大语言模型。例如,当交互消息中包括的指定大语言模型是GPT-4时,可以将GPT-4作为该目标大语言模型。
在步骤S103中,根据目标大语言模型对应的目标输入模板,将交互消息转换成目标大语言模型对应的目标交互消息。
可以理解的是,不同的大语言模型可以有不同的输入要求,在服务器中可以包括每个大语言模型分别对应的输入模板,不同的大语言模型对应的输入模板可以相同,也可以不同。
在一些实施例中,可以根据目标大语言模型对应的目标输入模板,将交互消息进行转换,得到目标大语言模型对应的目标交互消息,便于输入对应的目标大语言模型。
例如模型A对应的输入模板例如可以是“messages:[{"role":"user","content":""}]”,而模型B对应的输入模板可以是messages:[{"content":""}],当交互消息是“可以陪我聊聊天么?”时,模型A对应的目标交互消息可以是messages:[{"role":"user","content":可以陪我聊聊天么?}],而模型B对应的目标交互消息可以是messages:[{"content":可以陪我聊聊天么?}]。
在步骤S104中,向目标大语言模型发送目标交互消息,将目标大语言模型返回的交互响应消息发送给用户。
在一些实施例中,图2示出本申请实施例提供的模型调用的方法的另一种流程示意图,如图2所示,步骤S104可以包括如下步骤:
在步骤S1041中,根据预先建立的输出模板,将交互响应消息转换成目标交互响应消息。
其中,输出模板用于定义输出消息的格式。
在步骤S1042中,将目标交互响应消息发送给用户。
可以理解的是,不同的用户可以对应不同的输出模板,例如交互响应消息例如可以是“当然可以,你想聊点什么?”,对于消费者用户,服务器可以通过将交互响应消息展示在交互界面。而对于开发者用户,输出模板例如可以是json模板,服务器可以通过将交互响应消息嵌入到json模板中形成目标交互响应消息,然后通过相应的API向开发者用户发送目标交互响应消息。
采用上述技术方式,可以根据交互消息的不同灵活适配相应的目标大语言模型,提升自然语言处理时的大语言模型的适用性和灵活性,还能降低连接大语言模型的成本,省时省力。
在一些实施例中,该方法还可以包括:
预先建立每个大语言模型对应的输入模板,不同大语言模型的输入模板可以相同或不同,输入模板用于定义所对应的大语言模型的输入消息的格式。
图3示出本申请实施例提供的模型调用的方法的另一种流程示意图,如图3所示,在根据交互消息从多个不同的大语言模型中确定目标大语言模型之后,步骤S103可以包括如下步骤:
在步骤S1031中,在交互消息对应的交互服务类型为上下文交互类型的情况下,将交互消息和历史交互消息进行拼接,得到拼接后的交互消息。
其中,历史交互消息是用户在交互消息之前已获取到交互响应消息的其他交互消息。
可以理解的是,在上下文交互类型的交互服务中,将历史交互消息和交互消息进行拼接,输入大语言模型,可以提高交互的准确性和用户体验。所以,在交互消息的交互服务类型为上下文交互类型的情况下,可以将交互消息和历史交互消息进行拼接,得到拼接后的交互消息,根据目标大语言模型对应的目标输入模板,将拼接后的交互消息转换成大语言模型对应的目标交互消息。
在步骤S1032中,在拼接后的交互消息的长度大于目标大语言模型对应的交互消息长度阈值的情况下,可以将拼接后的交互消息中的至少一个历史交互消息进行合并或删除。
在一些实施例中,可以通过将拼接后的交互消息中的一个或多个历史交互消息进行合并或删除,从而使得合并或删除后的交互消息的长度小于目标大语言模型对应的交互消息长度阈值,其中不同的目标大语言模型对应的交互消息长度阈值可以相同或不同。
示例地,拼接后的交互消息中包括顺序排列的历史交互消息A,历史交互消息B,历史交互消息C以及新输入的交互消息D,其中,历史交互消息A和历史交互消息C是关于地域美食的话题,而历史交互消息B是对于某个城市的话题,在一些可能的实现方式中,可以基于权重或出现频次删除较低权重或较低频次的历史交互消息删除,例如可以将历史交互消息B删除,使得合并或删除后的交互消息中仅包含最近的话题相关的历史交互消息,例如地域美食的话题(历史交互消息A和历史交互消息C),即将历史交互消息A、历史交互消息C和交互消息D作为合并或删除后的交互消息,从而减小交互消息的长度。也可以将输入时间较长的历史交互消息A和历史交互消息B分别进行合并,例如通过摘要生成模型获取历史交互消息A对应的摘要A和历史交互消息B对应的摘要B,将摘要A、摘要B、历史交互消息C和交互消息D组成新的交互消息,即将摘要A、摘要B、历史交互消息C以及交互消息D作为合并或删除后的交互消息,从而减少交互消息的长度。
在步骤S1033中,根据目标大语言模型对应的目标输入模板,将合并或删除后的交互消息转换成目标大语言模型对应的目标交互消息。
采用上述的技术方式,可以在将交互消息输入到目标大语言模型之前,在保留交互消息和历史交互消息的主要信息的前提下减少交互消息的长度,使得多个大语言模型可以兼容超长的上下文交互类型的交互消息,进一步提升模型适配的适用性。
在一些实施例中,在拼接后的交互消息的长度小于或等于目标大语言模型对应的交互消息长度阈值的情况下,则可以根据目标大语言模型对应的目标输入模板,将拼接后的交互消息转换成目标大语言模型对应的目标交互消息。
在一些实施例中,在交互消息的交互服务类型为非上下文交互类型,并且交互消息的长度大于目标大语言模型对应的交互消息长度阈值的情况下,还可以将交互消息拆分成多条子交互消息,根据目标大语言模型对应的目标输入模板,将每条子交互消息转换成目标大语言模型对应的目标子交互消息,向目标大语言模型依次发送目标子交互消息,获取每一条目标子交互消息分别对应的子交互响应消息,将每一条目标子交互消息分别对应的子交互响应消息进行拼接,得到交互响应消息,将交互响应消息发送给用户。
采用上述的技术方式,可以在将交互消息拆分输入到目标大语言模型之前,依次获取每个拆分后的子交互消息对应的子交互响应消息,然后将子交互响应消息进行拼接得到交互响应消息,使得多个大语言模型可以兼容输入超长的交互消息,进一步提升模型适配的适用性。
在一些实施例中,服务器中还可以包括预设的过滤策略,用于对违反预设规则的交互消息和交互响应消息进行过滤,该方法还可以包括如下步骤:
步骤10、对交互消息和\或交互响应消息进行鉴别,得到相应的鉴别结果。
其中,鉴别结果表征交互消息和\或交互响应消息是否属于违反预设规则的消息。
预设规则例如可以是是否涉黄的文本信息、涉暴的文本信息、涉嫌犯罪的文本信息或者涉及个人隐私的文本信息中的一个或多个。
在一些可能的实现方式中,可以通过关键词匹配的方式获取交互消息和\或交互响应消息的鉴别结果。也可以通过将交互消息和\或交互响应消息输入预先训练的识别模型得到该鉴别结果。以涉黄为例,可以将交互消息与预设的涉黄关键词进行匹配,在满足预设的第一条件(例如匹配成功的涉黄关键词的数量大于或等于预设的第一数量阈值)的情况下,确定交互消息的鉴别结果为该交互消息属于严重涉黄的消息。在满足预设的第二条件(例如匹配成功的涉黄关键词的数量小于第一数量阈值,但是大于或等于第二数量阈值,其中第二数量阈值小于第一数量阈值)的情况下,确定交互消息的鉴别结果为该交互消息属于轻微涉黄的消息。
步骤11、根据鉴别结果和预设的过滤策略对交互消息和\或交互响应消息进行过滤。
上述预设的过滤策略例如可以是删除交互消息或屏蔽部分消息内容。
以涉黄鉴别为例,在步骤S101中,在接收到用户输入的交互消息之后,获取交互消息的鉴别结果,在鉴别结果属于严重涉黄的消息的情况下,可以删除交互消息,并向用户展示相应的失败原因。在鉴别结果属于轻微涉黄的消息的情况下,可以屏蔽交互消息中的部分消息内容,例如对交互消息进行文本识别,屏蔽可能涉黄的部分消息内容。
在步骤S104中,在接收到目标大语言模型返回的交互响应消息之后,获取交互响应消息的鉴别结果,在鉴别结果属于严重涉黄的消息的情况下,可以删除交互响应消息,并向用户展示相应的失败原因。在鉴别结果属于轻微涉黄的消息的情况下,可以屏蔽交互响应消息中的部分消息内容,例如对交互响应消息进行文本识别,屏蔽可能涉黄的部分消息内容。
采用上述的技术方式,可以在与用户和目标大语言模型交互的过程中,对交互消息和\或交互响应消息进行鉴别,根据鉴别结果和预设的过滤策略对交互消息和\或交互响应消息进行过滤,避免在模型应用过程中出现违反预设规则的问题或答案,进一步提升用户的体验和模型匹配的适用性。
在上下文交互类型的交互场景中,上下文交互的一致性是影响用户体验的一个关键因素,例如,在用户A的聊天场景中,大语言模型在回答用户A的问题“你最喜欢什么食物”时,对应的交互响应消息是“当然是烤鸭啦”,而在后续的交互中,在回答用户A的另外一个问题“什么食物是你的最爱”时,即使是同一个目标大语言模型,可能也会给出不一样的回答,例如“烤鸡是我的最爱”,这种上下文不一致的情况会严重影响用户的体验。图4示出本申请实施例提供的模型调用的方法的又一种流程示意图,如图4所示,该方法还可以包括如下步骤:
在步骤S105中,根据交互消息对应的交互服务类型,将交互消息、及其对应的交互响应消息保存到数据库中。
其中,数据库中保存有对应于用户的至少一条历史交互消息和每条历史交互消息对应的历史交互响应消息。
不同交互服务类型的交互消息和对应的交互响应消息可以保存在不同的数据库中,也可以保存在同一数据库的不同的数据表中,本申请对此不做限制。在一些实施例中,在确定交互消息对应的交互服务类型为上下文交互类型(例如聊天)的情况下,在将目标大语言模型返回的交互响应消息发送给用户之后,可以将交互消息及其对应的交互响应消息保存在数据库中,将交互消息及其对应的交互响应消息作为历史交互消息和历史交互响应消息,便于后续交互消息根据数据库中保存的历史交互消息查询语义相近的目标历史交互消息,返回目标历史交互消息对应的历史交互响应消息,从而提升上下文交互过程中的一致性,提升用户的体验。
图5示出本申请实施例提供的模型调用的方法的又一种流程示意图,如图5所示,该方法还可以包括以下步骤:
在步骤S106中,在满足设定条件的情况下,将交互消息与数据库中用户的至少一条历史交互消息进行匹配,确定目标历史交互消息。
其中,目标历史交互消息是指与交互消息之间满足预设匹配条件的历史交互消息,例如预设匹配条件例如可以是与交互消息的相似度大于或等于预设的相似度阈值,设定条件例如可以是交互消息对应的交互服务类型为上下文交互类型。
在一些实施例中,数据库中还可以保存每条历史交互消息对应的语义向量,步骤S106包括如下的步骤:
步骤20、获取交互消息对应的第一语义向量。
步骤21、将第一语义向量分别与用户的至少一条历史交互消息对应的第二语义向量计算余弦距离。
步骤22、将余弦距离小于或等于预设的距离阈值的历史交互消息作为目标历史交互消息。
示例地,交互消息例如可以是“什么食物是你的最爱”,根据数据库中每条历史交互消息对应的语义向量确定目标历史交互消息是“你最喜欢什么食物”。
在步骤S107中,在存在目标历史交互消息的情况下,将目标历史交互消息对应的历史交互响应消息发送给用户。
示例地,在目标历史交互消息是“你最喜欢什么食物”的情况下,可以将数据库中保存的历史交互响应消息“当然是烤鸭啦”发送给用户。采用上述的技术方式,可以在与用户进行交互时,保持上下文交互的一致性,进一步提升用户的体验,在数据库中保存每条历史交互消息对应的语义向量,则可以进一步提升匹配历史交互消息的效率。
可以理解的是,对于非上下文交互类型的交互消息,例如知识问答的交互场景,也可以将交互消息和对应的交互响应消息保存在数据库中,在其他用户输入的交互消息与数据库中任一交互消息的相似度大于相似度阈值的情况下,也可以将数据库中该交互消息对应的交互响应消息返回给用户,可以进一步提升获取交互响应消息的速度,进一步提升用户的体验。
可以理解的是,服务器具备大语言模型的扩展能力,例如可以增加连接新的大语言模型,可以采用该新的大语言模型向消费者用户提供服务,也可以向开发者用户提供新的大语言模型的API,使得开发者用户具备调用该新的大语言模型的能力。
图6示出本申请实施例提供的服务器的一种框架示意图,如图6所示,服务器可以包括主控单元100、输入单元101、模型单元102、数据库单元103以及输出单元104。以服务器接入新的大语言模型A为例,可以通过如下的步骤将新的大语言模型A接入服务器。
步骤30、通过模型单元102配置新的大语言模型A的参数,通过新的大语言模型A的配置参数接入对应的API。
步骤31、在输入单元101中配置新的大语言模型A对应的输入模板,以满足大语言模型A的输入要求。
步骤32、在输出单元104对大语言模型A的输出进行适配,以使得输出的内容满足输出模板要求。
步骤33、对于消费者用户,可以在服务器对应的展示界面增加新的大语言模型A的信息展示,对于开发者用户,可以通过相关技术(例如Java中的反射技术)接入主流程,同时可以提供该新的大语言模型A的API接口,以使得开发者用户可以通过新增的API调用该新的大语言模型A。
采用上述的技术方式,可以方便地扩展服务器支持新的大语言模型的能力,进一步提升大语言模型匹配的适用性。
图7示出本申请实施例提供的一种模型调用的装置的框图,应用于服务器,所述服务器连接多个不同的大语言模型,如图7所示,模型调用的装置200包括:
接收模块210,被配置为接收用户输入的交互消息;
确定模块220,被配置为根据交互消息从所述多个不同的大语言模型中确定目标大语言模型;
转换模块230,被配置为根据目标大语言模型对应的目标输入模板,将交互消息转换成目标大语言模型对应的目标交互消息;
交互模块240,被配置为向目标大语言模型发送目标交互消息,将目标大语言模型返回的交互响应消息发送给用户。
可选地,确定模块220,还被配置为:
获取交互消息对应的交互服务类型,根据交互服务类型从多个不同的大语言模型中确定相匹配的目标大语言模型;或者,
根据交互消息中指定的大语言模型,从多个不同的大语言模型中确定目标大语言模型。
可选地,转换模块230,还被配置为:
预先建立每个大语言模型对应的输入模板,不同大语言模型的输入模板相同或不同,输入模板用于定义所对应的大语言模型的输入消息的格式。
可选地,交互模块240,还被配置为:
根据预先建立的输出模板,将交互响应消息转换成目标交互响应消息;输出模板用于定义输出消息的格式;
将目标交互响应消息发送给用户。
本申请实施例提供的该装置200,可执行前文方法实施例中的各方法,并实现前文方法实施例中的各方法的功能和有益效果,在此不再赘述。
图8示出本申请实施例提供的另一种模型调用的装置的框图,如图8所示,模型调用的装置200还包括:
处理模块250,被配置为:
在交互消息对应的交互服务类型为上下文交互类型的情况下,将交互消息和历史交互消息进行拼接,得到拼接后的交互消息;其中,历史交互消息是用户在交互消息之前已获取到交互响应消息的其他交互消息;
在拼接后的交互消息的长度大于目标大语言模型对应的交互消息长度阈值的情况下,将拼接后的交互消息中的至少一个历史交互消息进行合并或删除;
根据目标大语言模型对应的目标输入模板,将合并或删除后的交互消息转换成目标大语言模型对应的目标交互消息。
可选地,处理模块250,还被配置为:
对交互消息和\或交互响应消息进行鉴别,得到相应的鉴别结果,鉴别结果表征交互消息和\或交互响应消息是否属于违反预设规则的消息;
根据鉴别结果和预设的过滤策略对交互消息和\或交互响应消息进行过滤。
可选地,处理模块250,还被配置为:
根据交互消息对应的交互服务类型,将交互消息、及其交互响应消息保存到数据库中,数据库中保存有对应于用户的至少一条历史交互消息和每条历史交互消息对应的历史交互响应消息。
可选地,处理模块250,还被配置为:
在满足设定条件的情况下,将交互消息与数据库中用户的至少一条历史交互消息进行匹配,确定目标历史交互消息;其中,目标历史交互消息是指与交互消息之间满足预设匹配条件的历史交互消息;
将目标历史交互消息对应的历史交互响应消息发送给用户。
可选地,数据库还包括每条历史交互消息对应的语义向量,处理模块250,还被配置为:
获取交互消息对应的第一语义向量;
将第一语义向量分别与至少一条用户的历史交互消息对应的第二语义向量计算余弦距离;
将余弦距离小于或等于预设的距离阈值的历史交互消息作为目标历史交互消息。
本申请实施例提供的该装置200,可执行前文方法实施例中的各方法,并实现前文方法实施例中的各方法的功能和有益效果,在此不再赘述。
图9示出执行本申请实施例提供的电子设备的硬件结构示意图,如图9所示,在硬件层面,电子设备包括处理器,可选地,包括内部总线、网络接口、存储器。其中,存储器可能包含内存,例如高速随机存取存储器(Random-Access Memory,RAM),也可能还包括非易失性存储器(non-volatile memory),例如至少1个磁盘存储器等。当然,该电子设备还可能包括其他业务所需要的硬件。
处理器、网络接口和存储器可以通过内部总线相互连接,该内部总线可以是工业标准体系结构(Industry Standard Architecture,ISA)总线、外设部件互连标准(Peripheral Component Interconnect,PCI)总线或扩展工业标准结构(ExtendedIndustry Standard Architecture,EISA)总线等。所述总线可以分为地址总线、数据总线、控制总线等。为便于表示,该图中仅用一个双向箭头表示,但并不表示仅有一根总线或一种类型的总线。
存储器,存放程序。具体地,程序可以包括程序代码,所述程序代码包括计算机操作指令。存储器可以包括内存和非易失性存储器,并向处理器提供指令和数据。
处理器从非易失性存储器中读取对应的计算机程序到内存中然后运行,在逻辑层面上形成定位目标用户的装置。处理器,执行存储器所存放的程序,并具体执行:图1-6所示实施例揭示的方法并实现前文方法实施例中所述的各方法的功能和有益效果,在此不再赘述。
上述如本申请图1-6所示实施例揭示的方法可以应处理器中,或者由处理器实现。处理器可能是一种集成电路芯片,具有信号的处理能力。在实现过程中,上述方法的各步骤可以通过处理器中的硬件的集成逻辑电路或者软件形式的指令完成。上述的处理器可以是通用处理器,包括中央处理器(Central Processing Unit,CPU)、网络处理器(NetworkProcessor,NP)等;还可以是数字信号处理器(Digital Signal Processor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现场可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。可以实现或者执行本申请实施例中的公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。结合本申请实施例所公开的方法的步骤可以直接体现为硬件译码处理器执行完成,或者用译码处理器中的硬件及软件模块组合执行完成。软件模块可以位于随机存储器,闪存、只读存储器,可编程只读存储器或者电可擦写可编程存储器、寄存器等本领域成熟的存储介质中。该存储介质位于存储器,处理器读取存储器中的信息,结合其硬件完成上述方法的步骤。
该电子设备还可执行前文方法实施例中所述的各方法,并实现前文方法实施例中所述的各方法的功能和有益效果,在此不再赘述。
当然,除了软件实现方式之外,本申请的电子设备并不排除其他实现方式,比如逻辑器件抑或软硬件结合的方式等等,也就是说以下处理流程的执行主体并不限定于各个逻辑单元,也可以是硬件或逻辑器件。
本申请实施例还提出了一种计算机可读存储介质,所述计算机可读介质存储一个或多个程序,所述一个或多个程序当被包括多个应用程序的电子设备执行时,使得所述电子设备执行图1-6所示实施例揭示的方法并实现前文方法实施例中所述的各方法的功能和有益效果,在此不再赘述。
其中,所述的计算机可读存储介质包括只读存储器(Read-Only Memory,简称ROM)、随机存取存储器(Random Access Memory,简称RAM)、磁碟或者光盘等。
进一步地,本申请实施例还提供了一种计算机程序产品,所述计算机程序产品包括存储在非暂态计算机可读存储介质上的计算机程序,所述计算机程序包括程序指令,当所述程序指令被计算机执行时,实现以下流程:图1-6所示实施例揭示的方法并实现前文方法实施例中所述的各方法的功能和有益效果,在此不再赘述。
总之,以上所述仅为本申请的较佳实施例,并非限定本申请的保护范围。凡在本申请的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本申请的保护范围之内。
上述实施例阐明的系统、装置、模块或单元,具体可以由计算机芯片或实体实现,或者由具有某种功能的产品来实现。一种典型的实现设备为计算机。具体的,计算机例如可以为个人计算机、膝上型计算机、蜂窝电话、相机电话、智能电话、个人数字助理、媒体播放器、导航设备、电子邮件设备、游戏控制台、平板计算机、可穿戴设备或者这些设备中的任何设备的组合。
计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数字多功能光盘(DVD)或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储设备或任何其他非传输介质,可存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括暂存电脑可读媒体(transitory media),如调制的数据信号和载波。
还需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、商品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、商品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、商品或者设备中还存在另外的相同要素。
本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于系统实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
Claims (12)
1.一种模型调用的方法,其特征在于,应用于服务器,所述服务器连接多个不同的大语言模型,所述方法包括:
接收用户输入的交互消息;
根据所述交互消息从所述多个不同的大语言模型中确定目标大语言模型;
根据所述目标大语言模型对应的目标输入模板,将所述交互消息转换成所述目标大语言模型对应的目标交互消息;
向所述目标大语言模型发送所述目标交互消息,将所述目标大语言模型返回的交互响应消息发送给所述用户。
2.根据权利要求1所述的方法,其特征在于,在接收用户输入的交互消息之前,所述方法还包括:
预先建立每个大语言模型对应的输入模板,所述输入模板用于定义所对应的大语言模型的输入消息的格式。
3.根据权利要求1所述的方法,其特征在于,所述根据所述交互消息从所述多个不同的大语言模型中确定目标大语言模型,包括:
获取所述交互消息对应的交互服务类型,根据所述交互服务类型从所述多个不同的大语言模型中确定相匹配的目标大语言模型;或者,
根据所述交互消息中指定的大语言模型,从所述多个不同的大语言模型中确定目标大语言模型。
4.根据权利要求1所述的方法,其特征在于,所述根据所述目标大语言模型对应的目标输入模板,将所述交互消息转换成所述目标大语言模型对应的目标交互消息,包括:
在所述交互消息对应的交互服务类型为上下文交互类型的情况下,将所述交互消息和历史交互消息进行拼接,得到拼接后的交互消息;其中,所述历史交互消息是所述用户在所述交互消息之前已获取到交互响应消息的其他交互消息;
在所述拼接后的交互消息的长度大于所述目标大语言模型对应的交互消息长度阈值的情况下,将所述拼接后的交互消息中的至少一个历史交互消息进行合并或删除;
根据所述目标大语言模型对应的目标输入模板,将合并或删除后的交互消息转换成所述目标大语言模型对应的目标交互消息。
5.根据权利要求1所述的方法,其特征在于,所述将所述目标大语言模型返回的交互响应消息发送给所述用户,包括:
根据预先建立的输出模板,将所述交互响应消息转换成目标交互响应消息,所述输出模板用于定义输出消息的格式;
将所述目标交互响应消息发送给所述用户。
6.根据权利要求1所述的方法,其特征在于,所述方法还包括:
对所述交互消息和\或所述交互响应消息进行鉴别,得到相应的鉴别结果,所述鉴别结果表征所述交互消息和\或所述交互响应消息是否属于违反预设规则的消息;
根据所述鉴别结果和预设的过滤策略对所述交互消息和\或所述交互响应消息进行过滤。
7.根据权利要求1至6中任一项所述的方法,其特征在于,所述方法还包括:
根据所述交互消息对应的交互服务类型,将所述交互消息、及其对应的交互响应消息保存到数据库中;其中,所述数据库中保存有对应于用户的至少一条历史交互消息和每条历史交互消息对应的历史交互响应消息。
8.根据权利要求7所述的方法,其特征在于,所述方法还包括:
在满足设定条件的情况下,将所述交互消息与数据库中所述用户的至少一条历史交互消息进行匹配,确定目标历史交互消息;其中,所述目标历史交互消息是指与所述交互消息之间满足预设匹配条件的历史交互消息;
将所述目标历史交互消息对应的历史交互响应消息发送给所述用户。
9.根据权利要求8所述的方法,其特征在于,所述数据库中还包括每条历史交互消息对应的语义向量;
所述将所述交互消息与数据库中所述用户的至少一条历史交互消息进行匹配,确定目标历史交互消息,包括:
获取所述交互消息对应的第一语义向量;
将所述第一语义向量分别与所述用户的至少一条历史交互消息对应的第二语义向量计算余弦距离;
将所述余弦距离小于或等于预设的距离阈值的历史交互消息,作为所述目标历史交互消息。
10.一种模型调用的装置,其特征在于,应用于服务器,所述服务器连接多个不同的大语言模型,所述装置包括:
接收模块,被配置为接收用户输入的交互消息;
确定模块,被配置为根据所述交互消息从所述多个不同的大语言模型中确定目标大语言模型;
转换模块,被配置为根据所述目标大语言模型对应的目标输入模板,将所述交互消息转换成所述目标大语言模型对应的目标交互消息;
交互模块,被配置为向所述目标大语言模型发送所述目标交互消息,将所述目标大语言模型返回的交互响应消息发送给所述用户。
11.一种电子设备,包括:
处理器;以及
被安排成存储计算机可执行指令的存储器,所述可执行指令在被执行时使用所述处理器执行权利要求1-9任一项所述的模型调用的方法的步骤。
12.一种计算机可读存储介质,所述计算机可读存储介质存储一个或多个程序,所述一个或多个程序当被包括多个应用程序的电子设备执行时,使得所述电子设备执行权利要求1-9任一项所述的模型调用的方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311726797.9A CN117973523A (zh) | 2023-12-14 | 2023-12-14 | 模型调用的方法、装置、电子设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311726797.9A CN117973523A (zh) | 2023-12-14 | 2023-12-14 | 模型调用的方法、装置、电子设备及存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN117973523A true CN117973523A (zh) | 2024-05-03 |
Family
ID=90854518
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202311726797.9A Pending CN117973523A (zh) | 2023-12-14 | 2023-12-14 | 模型调用的方法、装置、电子设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117973523A (zh) |
-
2023
- 2023-12-14 CN CN202311726797.9A patent/CN117973523A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11106983B2 (en) | Intelligent interaction method and intelligent interaction system | |
US20180157960A1 (en) | Scalable curation system | |
US11875125B2 (en) | System and method for designing artificial intelligence (AI) based hierarchical multi-conversation system | |
CN112735374B (zh) | 一种自动语音交互的方法及装置 | |
CN115080836A (zh) | 基于人工智能的信息推荐方法、装置、电子设备及存储介质 | |
JP7481475B2 (ja) | 対話テキストの機能領域確定方法及び装置 | |
CN112650842A (zh) | 基于人机交互的客服机器人意图识别方法及相关设备 | |
JP7436077B2 (ja) | スキルの音声ウェイクアップ方法および装置 | |
CN110209768B (zh) | 自动问答的问题处理方法和装置 | |
CN117009483A (zh) | 问答服务的生成方法、装置、设备及可读存储介质 | |
CN117648418A (zh) | 多文档问答方法、装置、电子设备及存储介质 | |
CN110047473A (zh) | 一种人机协作交互方法及系统 | |
CN111899747B (zh) | 用于合成音频的方法和装置 | |
CN117575008A (zh) | 训练样本生成方法、模型训练方法、知识问答方法及设备 | |
CN117494715A (zh) | 对话处理方法、装置、电子设备及存储介质 | |
CN111311372A (zh) | 一种用户识别方法和装置 | |
CN117973523A (zh) | 模型调用的方法、装置、电子设备及存储介质 | |
CN111161706A (zh) | 交互方法、装置、设备和系统 | |
CN110443746B (zh) | 基于生成对抗网络的图片处理方法、装置及电子设备 | |
CN111461346B (zh) | 一种网络节点表征方法、装置和设备 | |
CN113609271A (zh) | 基于知识图谱的业务处理方法、装置、设备及存储介质 | |
CN112820280A (zh) | 规则语言模型的生成方法及装置 | |
CN111968632A (zh) | 通话语音获取方法、装置、计算机设备和存储介质 | |
CN117786416B (zh) | 一种模型训练方法、装置、设备、存储介质及产品 | |
CN112748968A (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 |