基于大语言模型的数据链生成方法及装置
文献发布时间:2024-04-18 20:00:50
技术领域
本发明实施例涉及大语言模型技术领域,尤其涉及一种基于大语言模型的数据链生成方法、装置及电子设备。
背景技术
提示工程用于指导人工智能(Artificial Intelligence,AI)如何完成任务。思维链是一种提示大语言模型(也可以称为大模型)解释行为的提示方法。尤其在解决复杂问题时,思维链提示范式使大语言模型能够一步一步地拆分问题,并做出相应的行动解决问题。这种方法有利于梳理思路减少出错,提高了解决问题的成功率。
然而,这种‘想一步,做一步’的思维链方法,在执行中有很多的未知性和不确定性。使用者不知道大语言模型执行的下一步会是什么,且不到最后一刻,使用者不知道大语言模型还需要多少步骤才能解决这个问题,也不知道问题是否被成功地解决。
当面对复杂问题或者大语言模型的能力不够强大时,使用思维链方法,由于是“思考-行动-观察”这样的循环流程,其思考的发散性和颗粒度难以控制,容易导致思路偏向二迷失方向,或在中间步骤循环不停,从而得不到理想的答案。
另外,局限于大语言模型自身的上下文长度,随着思维链的步骤增多,思维链的步骤有可能会超过了大语言模型处理量的限制,导致大模型无法继续思考,后续的思维链步骤会漏掉。
发明内容
本发明实施例提供一种基于大语言模型的数据链生成方法及装置,用于解决使用思维链方法的提示工程,大语言模型思考的发散性和颗粒度难以控制的问题。
为了解决上述技术问题,本发明是这样实现的:
第一方面,本发明实施例提供了一种基于大语言模型的数据链生成方法,其特征在于,包括:
根据输入信息确定第一提示词,所述第一提示词包括:待处理任务、初始数据信息和数据链描述,其中,所述输入信息包括所述待处理任务和所述初始数据信息,所述数据链描述包括所述待处理任务对应的处理方法指示;
将所述第一提示词输入大语言模型,并获取所述大语言模型输出的目标数据链,所述目标数据链包括对所述待处理任务进行处理的至少一个操作节点,每个操作节点包括中间数据变量及所述中间数据变量对应的操作指令。
第二方面,本发明实施例提供了一种基于大语言模型的数据链生成装置,包括:
第一确定模块,用于根据输入信息确定第一提示词,所述第一提示词包括:待处理任务、初始数据信息和数据链描述,其中,所述输入信息包括所述待处理任务和所述初始数据信息,所述数据链描述包括所述待处理任务对应的处理方法指示;
第一输入模块,用于将所述第一提示词输入大语言模型,并获取所述大语言模型输出的目标数据链,所述目标数据链包括对所述待处理任务进行处理的至少一个操作节点,每个操作节点包括中间数据变量及所述中间数据变量对应的操作指令。
第三方面,本发明实施例提供了一种电子设备,包括:处理器、存储器及存储在所述存储器上并可在所述处理器上运行的程序,所述程序被所述处理器执行时实现如上述第一方面所述的基于大语言模型的数据链生成方法的步骤。
第四方面,本发明实施例提供了一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如上述第一方面所述的基于大语言模型的数据链生成方法的步骤。
本发明实施例中,通过向大语言模型输入第一提示词,可以使得大语言模型输出完整的数据链解决思路,避免了步骤未知和得不到任务解决方案的情况。数据链中每个中间数据变量都有明确的定义和处理方法(即操作指令),相较于思维链的文本表述,执行的指令更明确,降低了出错率;中间数据变量的处理过程相对独立,大语言模型的处理量可控,降低了对大语言模型能力的需求,同时有利于任务调度和模型分工,增效降本。
附图说明
通过阅读下文优选实施方式的详细描述,各种其他的优点和益处对于本领域普通技术人员将变得清楚明了。附图仅用于示出优选实施方式的目的,而并不认为是对本发明的限制。而且在整个附图中,用相同的参考符号表示相同的部件。在附图中:
图1为本发明实施例的基于大语言模型的数据链生成方法的流程示意图之一;
图2为本发明实施例的用于生成第一提示词的数据链提示词模板的示意图;
图3为本发明实施例的中间数据变量流程图;
图4为本发明实施例的基于大语言模型的数据链生成方法的流程示意图之三;
图5为本发明实施例的基于大语言模型的数据链生成方法的流程示意图之四;
图6为本发明实施例的基于大语言模型的数据链生成装置的结构示意图;
图7为本发明实施例的电子设备的结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
下面首先对本发明涉及的技术名词进行简单说明。
本发明所述的“大语言模型”是指大规模语言模型(large language model,LLM),是一种参数规模较大的语言模型,旨在理解和生成人类语言,通过大量的文本数据进行训练,可执行包括文本总结、翻译、情感分析等在内的广泛任务。
本发明所述的“思维链”(chain-of-thought,CoT)包括解决待处理任务时的一系列中间推理步骤。通过“思维链提示”可提示大语言模型将一个较为复杂的推理任务分步拆解,一步步获得最终推理结果,提高大语言模型进行复杂推理的能力。
本发明所述的“数据链”也可以称为数据驱动的思维链方法,与“思维链”类似,包括解决待处理任务时的一系列中间推理步骤,通过“数据链描述(或者称为数据链提示)”可提示大语言模型将一个较为复杂的推理任务分步拆解,一步步获得最终推理结果,提高大语言模型进行复杂推理的能力。而,数据链与思维链的不同之处在于:每个中间推理步骤均与数据相关。
本发明实施例提供的基于大语言模型的数据链生成方法适用于数据分析场景,但本发明实施例对此不做限定。请参考图1,本发明实施例提供一种基于大语言模型的数据链生成方法,包括:
步骤1:根据输入信息确定第一提示词,所述第一提示词包括:待处理任务、初始数据信息和数据链描述,其中,所述输入信息包括所述待处理任务和所述初始数据信息,所述数据链描述包括所述待处理任务对应的处理方法指示;
本发明实施例中,所述第一提示词也可以称为数据链提示词。
本发明实施例中,所述待处理任务例如可以是待解决的问题等。例如待解决的问题是“按照配送时间将餐厅划分为快速、普通和慢速三个类别,分析不同配送时间类别的餐厅和餐厅的平均评分有什么关系”。
本发明实施例中,所述初始数据信息是与所述待处理任务关联的初始数据信息。所述初始数据信息例如包括输入的初始数据的数据类型、数据大小、数据变量名和/或样本数据等。
本发明实施例中,可选地所述数据可以是广义的数据,包括以下至少一项:图片、表格、文本、音频等不同数据类型的数据。
步骤2:将所述第一提示词输入大语言模型,并获取所述大语言模型输出的目标数据链,所述目标数据链包括对所述待处理任务进行处理的至少一个操作节点,每个操作节点包括中间数据变量及所述中间数据变量对应的操作指令。
本发明实施例中,可选地,所述操作节点包括以下至少一项:所述中间数据变量的名称、数据类型、依赖的数据变量、数据描述和操作指令。
其中,所述中间数据变量的数据描述也可以称为对所述中间数据变量的解释。
其中,所述中间数据变量对应的操作指令还可以描述为确定所述中间数据变量使用的函数或方法。
本发明实施例中,通过向大语言模型输入第一提示词,可以使得大语言模型输出完整的数据链解决思路,避免了步骤未知和得不到任务解决方案的情况。数据链中每个中间数据变量都有明确的定义和处理方法(即操作指令),基于数据链的处理方法可以指示大模型基于初始数据和中间数据变量进行任务处理,执行的指令更明确,降低了出错率,大大提升了大语言模型的处理能力和性能。相较于思维链的文本表述,基于数据链的处理方法解决了基于思维链的处理方法中大语言模型不聚焦于数据来对任务进行处理的弊端;并且基于数据链的处理方法中的中间数据变量的处理过程相对独立,大语言模型的处理量可控,降低了对大语言模型能力的需求,同时有利于任务调度和模型分工,增效降本。
本发明实施例中,可选地,所述处理方法指示包括以下至少一项:
指示所述大语言模型对所述待处理任务进行多步分析,生成所述待处理任务对应的所述中间数据变量;
指示所述大语言模型基于指定的初始数据对所述待处理任务进行处理。
本发明实施例中,可选地,所述处理方法指示还包括以下至少一项:
指示所述大语言模型对所述待处理任务进行多步分析,生成中间数据变量对应的数据链流程图,所述数据链流程图为以初始数据为起点,最后一个操作节点对应的输出结果为终点,所述中间数据变量为中间节点的流程图;
指示使用指定的分析工具包对所述待处理任务进行处理;
指示所述大语言模型按照规范的格式,输出所有中间数据变量的以下属性信息中的至少一项:名称、数据类型、依赖的数据变量、数据描述和操作指令。
本发明实施例中,第一提示词除了包括待处理任务、初始数据信息和数据链描述之外,可选地,还包括以下至少一项:
背景信息,用于指示所述大语言模型的身份信息;所述身份信息例如包括所述大语言模型的角色和/或擅长的技能。如所述大语言模型的身份信息是一个擅长pandas、sklearn等工具的数据分析师等,本发明实施例对此不做限定。
第一约束信息,用于指示所述大语言模型对所述待处理任务的处理过程的约束信息和/或对输出的目标数据链的约束信息,所述对所述待处理任务的处理过程的约束信息包括以下至少一项:仅基于初始数据和中间数据变量进行分析,每个中间数据变量为基于其依赖的数据变量直接得到的,不输出代码;所述对输出的目标数据链的约束信息包括以下至少一项:目标数据链的期望输出格式以及所述期望输出格式对应的样例。目标数据链的期望输出格式例如为文本格式,但本发明实施例对此不做限定。
需要说明的是,该第一提示词可以以自然语言和上述数据的形式组合而成,也可以以伪代码和上述数据的形式组合而成,当然还可以以自然语言、伪代码和上述数据的形式组合而成,本领域的技术人员可以根据具体实施应用情况进行相应设计,本发明实施例对此不做限定。
本发明实施例中,请参考图2,可以通过提供一用户界面,并在用户界面上显示提示词模板(也可以称为数据链提示词模板),用户可以在相应的文本框内输入用于生成第一提示词的相关信息,并点击确定按钮生成第一提示词。
下面举例进行说明。
有一个外卖场景的数据集(即上述初始数据信息),包括城市、地区、餐厅名、平均消费、平均评分、食物类型、地址、送餐时间等信息。想让大语言模型回答问题“按照配送时间将餐厅划分为快速、普通和慢速三个类别,分析不同配送时间类别的餐厅和餐厅的平均评分有什么关系”(即上述待处理任务),并基于数据链方式输出。
根据上述待处理任务、初始数据信息和数据链描述,确定第一提示词,并将第一提示词输入大语言模型,大模型会输出目标数据链。在一些实施例中,目标数据链包括多个操作节点,以上述外卖场景为例,大模型输出的目标数据链的3个操作节点例如可以如以下所示。:
第一操作节点:
"name"(数据变量名称):"df_delivery_time_category"(配送速度类别),
"dependencies"(依赖的数据变量):["df"(初始数据)],
"desc"(对中间数据变量的解释/描述):"按照配送时间将餐厅划分为快速、普通和慢速三个类别",
"guide"(使用的函数/方法):"根据配送时间的值,将餐厅划分为快速、普通和慢速三个类别。可以使用pandas的cut函数将配送时间分箱,然后添加一个新的列来表示类别。"
第二操作节点:
"name":"df_delivery_time_avg_ratings"(配送类别的平均评分),
"dependencies":["df_delivery_time_category"],
"desc":"每个配送时间类别内的餐厅平均评分",
"guide":"根据得到的配送时间类别,计算每个类别内餐厅的平均评分。可以使用pandas的groupby函数和mean函数来实现。"
第三操作节点:
"name":"answer"(答案),
"dependencies":["df_delivery_time_avg_ratings"],
"desc":"按照配送时间将餐厅划分为快速、普通和慢速三个类别,分析不同配送时间类别的餐厅和餐厅的平均评分有什么关系",
"guide":"根据得到的数据变量df_delivery_time_avg_ratings,查找每个配送时间类别内餐厅的平均评分,并进行分析。"
需要说明的是,以上3个操作节点仅为示例,根据具体实施场景和要解决的具体问题不同,本领域的技术人员可以得到不同内容的操作节点,例如每个操作节点可以仅包括guide、desc、dependencies和name中的部分内容,还可包括除guide、desc、dependencies和name之外的其他内容,本发明实施例对此不做限定。该目标数据链包括对所述待处理任务进行处理的三个操作节点,每个操作节点包括中间数据变量及所述中间数据变量对应的操作指令。也就是说,解决问题“按照配送时间将餐厅划分为快速、普通和慢速三个类别,分析不同配送时间类别的餐厅和餐厅的平均评分有什么关系”需要三个步骤(操作节点)。
其中,第一个操作节点的中间数据变量是"df_delivery_time_category"(配送速度类别),"df_delivery_time_category"的依赖的数据变量(dependencies)为"df",本实施例中,df为初始数据,数据描述为"按照配送时间将餐厅划分为快速、普通和慢速三个类别",操作指令为"根据配送时间的值,将餐厅划分为快速、普通和慢速三个类别。可以使用pandas的cut函数将配送时间分箱,然后添加一个新的列来表示类别。"。
其中,第二个操作节点的中间数据变量是"df_delivery_time_avg_ratings"(配送类别的平均评分),"df_delivery_time_avg_ratings"依赖的数据变量(dependencies)为"df_delivery_time_category",即第一个操作节点的中间数据变量,数据描述为"每个配送时间类别内的餐厅平均评分",操作指令为"根据得到的配送时间类别,计算每个类别内餐厅的平均评分。可以使用pandas的groupby函数和mean函数来实现。"。
其中,第三个操作节点的中间数据变量是"answer"(答案),"answer"依赖的数据变量(dependencies)为"df_delivery_time_avg_ratings",即第二个操作节点的中间数据变量,数据描述为"按照配送时间将餐厅划分为快速、普通和慢速三个类别,分析不同配送时间类别的餐厅和餐厅的平均评分有什么关系",操作指令为"根据得到的数据变量df_delivery_time_avg_ratings,查找每个配送时间类别内餐厅的平均评分,并进行分析。"。
可选地,所述目标数据链还包括:中间数据变量流程图,所述中间数据变量流程图为以初始数据为起点,最后一个操作节点的所述中间数据变量为终点,除最后一个操作节点之外的其他操作节点的所述中间数据变量为中间节点的流程图。上述例子对应的中间数据变量流程图可以如图3所示。
本发明实施例中,可选地,请参考图4,所述基于大语言模型的数据链生成方法还包括:
步骤3:根据所述目标数据链,生成至少一个第二提示词,每个所述第二提示词对应至少一个所述中间数据变量,所述第二提示词用于指示所述大语言模型生成所述中间数据变量的实现代码并运行代码得到所述中间数据变量;
本发明实施例中,所述第二提示词也可以称为代码生成提示词。
步骤4:将所述至少一个第二提示词输入所述大语言模型,并获取所述大语言模型输出的至少一个中间输出结果,所述中间输出结果包括所述中间数据变量的实现代码和运行代码得到的所述中间数据变量。
可选地,所述大语言模型根据所述第二提示词,确定所述第二提示词对应的中间数据变量的分析过程,并生成所述中间数据变量的分析过程实现代码,运行所述实现代码得到所述中间数据变量的数值。
本发明中,根据目标数据链自动生成第二提示词,并将第二提示词输入大语言模型,得到大语言模型输出的中间数据变量的实现代码和运行代码得到的所述中间数据变量,从而使得用户可以清楚了解待处理任务的中间数据变量的实现代码,中间数据变量的实现过程更明确,降低了出错率,且中间数据变量的处理过程相对独立,大语言模型的处理量可控,降低了对大语言模型能力的需求,同时有利于任务调度和模型分工,增效降本。
可选地,根据所述目标数据链,生成至少一个第二提示词,包括:
步骤31:根据所述目标数据链中的所述中间数据变量依赖的数据变量,确定所述第二提示词中的依赖的数据变量;
举例来说,针对上述例子的第一个操作节点,所述第二提示词中的依赖的数据变量可以为“df”的少量样本。针对上述例子的第二个操作节点,所述第二提示词中的依赖的数据变量可以为“df_delivery_time_category(配送速度类别)”的少量样本。
步骤32:根据所述目标数据链中的所述中间数据变量的操作指令,确定所述第二提示词中的生成所述中间数据变量的任务描述,以及用于生成所述中间数据变量的参考方法。
举例来说,针对上述例子的第一个操作节点,所述第二提示词中的生成所述中间数据变量的任务描述,以及用于生成所述中间数据变量的参考方法可以为:你的任务是编写Python代码计算"每个配送时间类别内的餐厅平均评分",保存为新的变量"df_delivery_time_avg_ratings"(配送类别的平均评分)。参考建议:根据配送时间类别,计算每个类别内餐厅的平均评分。可以使用pandas的groupby函数和mean函数来实现。
可选地,所述将所述至少一个第二提示词输入大语言模型,并获取所述大语言模型输出的至少一个中间输出结果,包括:
根据所述目标数据链中所述至少一个操作节点的顺序,确定所述至少一个第二提示词的顺序;
按照所述至少一个第二提示词的顺序依次将各第二提示词输入所述大语言模型,得到所述大语言模型输出的至少一个中间输出结果。
本发明实施例中,由于目标数据链中不同操作节点对应的中间数据变量之间可能是有依赖关系,例如,在目标数据链中的位置在后的中间数据变量的计算需要依赖位置在前的中间数据变量的数值,因而需要先计算在目标数据链中的位置在前的中间数据变量,再计算在目标数据链中的位置在后的中间数据变量,以保证各个中间数据变量的计算能够实现。例如第一操作节点的顺序在第二操作节点之前,第二操作节点的顺序在第三操作节点之前,因而与第一操作节点对应的第二提示词在与第二操作节点对应的第二提示词之前,依此类推,确定将第一操作节点对应的第二提示词和第二操作节点对应的第二提示词先后输入大语言模型,得到以下所述的2个中间输出结果。
可选地,所述第二提示词包括以下至少一项:
指示所述大语言模型使用所述初始数据或中间数据变量进行分析(即依赖的数据变量);
指示所述大语言模型使用所述中间数据变量的操作指令进行代码生成(即生成所述中间数据变量的任务描述和参考方法)。
可选地,所述第二提示词还包括以下至少一项:
指示所述大语言模型使用指定的分析工具包进行分析;
背景信息,用于指示所述大语言模型的身份信息;所述身份信息例如包括所述大语言模型的角色和/或擅长的技能。所述大语言模型的身份信息例如是一个擅长Python编程和机器学习建模的AI工程师。
第二约束信息,所述第二约束信息为对所述大语言模型生成的代码的约束信息。
本发明实施例中,所述第二提示词也可以具有对应的模板,模板中具有需要填充的相关内容(如上述中间数据变量依赖的数据变量、中间数据变量的任务描述、背景信息,第二约束信息等)根据所述第二提示词的模板和所述目标数据链,可以自动生成所述第二提示词。
举例来说,按照目标数据链中的操作节点的顺序(例如上述例子中的获得df_delivery_time_category的操作节点在前,获得df_delivery_time_avg_ratings的操作节点在后),确定操作节点对应的第二提示词的顺序,按照第二提示词的顺序依次将第二提示词输入大语言模型(如先输入df_delivery_time_category对应的第二提示词,再输入df_delivery_time_avg_ratings对应的第二提示词),大语言模型根据所述第二提示词输出中间输出结果,所述中间输出结果包括所述中间数据变量的实现代码和运行代码得到的所述中间数据变量。
针对上述例子中的第一个操作节点,大语言模型输出的中间输出结果如下:
import pandas as pd
#将配送时间分为三个类别
df_delivery_time_category(配送速度类别)=df.copy()
df_delivery_time_category['Delivery time category']=pd.cut(df_delivery_time_category['Delivery time'],
bins=[0,30,60,float('inf')],
labels=['快速','普通','慢速'])
df_delivery_time_category.head(3)
||ID|Area|City|Restaurant|Price|Avg ratings|Total ratings|Food type|Address|Delivery time|Delivery time category|
|---:|---:|:---|:---|:---|---:|---:|---:|:---|:---|---:|:---|
|0|211|Koramangala|Bangalore|Tandoor Hut|300|4.4|100|Biryani,Chinese,North Indian,South Indian|5Th Block|59|普通|
|1|221|Koramangala|Bangalore|Tunday Kababi|300|4.1|100|Mughlai,Lucknowi|5Th Block|56|普通|
|2|246|Jogupalya|Bangalore|Kim Lee|650|4.4|100|Chinese|Double Road|50|普通|
针对上述例子中的第二个操作节点,大语言模型输出的中间传输结果如下:
import pandas as pd
df_delivery_time_avg_ratings(配送类别的平均评分)=df_delivery_time_category.groupby('Delivery time category')['Avg ratings'].mean().reset_index()
df_delivery_time_avg_ratings.head(3)
||Delivery time category|Avg ratings|
|---:|:---|---:|
|0|快速|4.11574|
|1|普通|3.67478|
|2|慢速|3.57562|
从上述例子可以看出,大语言模型可以基于第二提示词输出中间数据变量的实现代码和运行代码得到的中间数据变量的值,从而使得用户可以清楚了解待处理任务的中间数据变量的实现代码,中间数据变量的实现过程更明确,降低了出错率,且中间数据变量的处理过程相对独立,大语言模型的处理量可控,降低了对大语言模型能力的需求,同时有利于任务调度和模型分工,增效降本。
需要说明的是,上述步骤3和步骤4中,针对的目标数据链中除最后一个操作节点之外的其他操作节点,最后一个操作节点不执行上述步骤3和4。
可选地,请参考图5,所述基于大语言模型的数据链生成方法还包括:
步骤5:根据所述至少一个中间输出结果,生成第三提示词,所述第三提示词用于指示所述大语言模型生成对所述待处理任务的分析报告;
本发明实施例中,所述第三提示词也可以称为分析报告提示词。
步骤6:将所述第三提示词输入所述大语言模型,并获取所述大语言模型输出的对所述待处理任务的分析报告。
本发明实施例中,可以基于中间输出结果自动生成第三提示词,并将第三提示词输入大语言模型,得到大语言模型输出的对待处理任务的分析报告,从而得到待处理任务的分析结果。可选地,所述第三提示词包括以下至少一项:
指示所述大语言模型对所述待处理任务的分析处理方法(即包括待处理任务以及分析报告的目标和方法);
指示所述大语言模型基于所述目标数据链和所述中间输出结果对所述待处理任务进行处理(即包括目标数据链和中间输出结果)。
举例来说,待处理任务为“按照配送时间将餐厅划分为快速、普通和慢速三个类别,分析不同配送时间类别的餐厅和餐厅的平均评分有什么关系”,第一个阶段:获取到的目标数据链包括三个操作节点,包括:df_delivery_time_category(配送速度类别)对应的操作节点,df_delivery_time_avg_ratings(配送类别的平均评分)对应的操作节点,以及,answer(答案)对应的操作节点。第二个阶段获取到df_delivery_time_category(配送速度类别)和df_delivery_time_avg_ratings(配送类别的平均评分)对应的中间输出结果,其中,df_delivery_time_category(配送速度类别)的中间输出结果为将餐厅划分为快速、普通和慢速三个类别,df_delivery_time_avg_ratings(配送类别的平均评分)对应的中间输出结果为:配送类别为快速的餐厅的平均评分为4.11574,配送类别为普通的餐厅的平均评分为3.67478,配送类别为慢速的餐厅的平均评分为3.57562。所述第三提示词可以包括:指示大语言模型基于上述目标数据链和中间输出结果对待处理任务进行处理,从而得到待处理任务对应的answer(答案):配送时间越快的餐厅平均评分越高,而配送时间越慢的餐厅平均评分则相对较低。可选地,所述第三提示词还包括:
背景信息,用于指示所述大语言模型的身份信息;所述身份信息例如包括所述大语言模型的角色和/或擅长的技能。例如,所述大语言模型为一个熟悉Python编程且擅长语言表达的分析师。
第三约束信息,所述第三约束信息为对所述大语言模型生成所述待处理任务的分析报告的约束信息,其中,所述第三约束信息包括以下指示中的至少一项:
指示所述大语言模型使用已有的可用数据进行分析;所述已有的可用数据例如包括:原始数据和中间输出结果;
指示所述大语言模型利用自然语言输出所述分析报告;
指示所述大语言模型输出对分析结果的解读或建议。
需要说明的是,虽然该第二提示词、第三提示词与第一提示词的内容可以不同,但是该第二提示词、第三提示词的形式与第一提示词可以类似,本发明实施例对此不做限定。
举例来说,大语言模型输出的对所述待处理任务的分析报告可以如下:
根据可用的数据,我们已经将餐厅按照配送时间划分为快速、普通和慢速三个类别,并计算了每个类别内餐厅的平均评分。
根据数据分析的结果,每个配送时间类别内的餐厅平均评分如下:
-快速类别的餐厅平均评分为4.11574。
-普通类别的餐厅平均评分为3.67478。
-慢速类别的餐厅平均评分为3.57562。
以上数据表明,配送时间越快的餐厅平均评分越高,而配送时间越慢的餐厅平均评分则相对较低。
建议:
1.如果你注重餐厅的评分,可以选择配送时间较快的餐厅。这样可以在享受美食的同时,尽量减少等待的时间。
2.如果你对配送时间没有特别要求,并且餐厅的评分对你来说不是决定性因素,那么你可以选择配送时间普通或慢速的餐厅。这样可以拓宽你的选择范围,尝试更多种类的美食。
请参考图6,本发明实施例还提供一种基于大语言模型的数据链生成装置70,包括:
第一确定模块71,用于根据输入信息确定第一提示词,所述第一提示词包括:待处理任务、初始数据信息和数据链描述,其中,所述输入信息包括所述待处理任务和所述初始数据信息,所述数据链描述包括所述待处理任务对应的处理方法指示;
第一输入模块72,用于将所述第一提示词输入大语言模型,并获取所述大语言模型输出的目标数据链,所述目标数据链包括对所述待处理任务进行处理的至少一个操作节点,每个操作节点包括中间数据变量及所述中间数据变量对应的操作指令。
可选地,所述处理方法指示包括以下至少一项:
指示所述大语言模型对所述待处理任务进行多步分析,生成所述待处理任务对应的所述中间数据变量;指示所述大语言模型基于指定的初始数据对所述待处理任务进行处理。
可选地,所述处理方法指示还包括以下至少一项:
指示所述大语言模型对所述待处理任务进行多步分析,生成中间数据变量对应的数据链流程图,所述数据链流程图为以初始数据为起点,最后一个操作节点对应的输出结果为终点,所述中间数据变量为中间节点的流程图;
指示使用指定的分析工具包对所述待处理任务进行处理;
指示所述大语言模型按照规范的格式,输出所有中间数据变量的以下属性信息中的至少一项:名称、数据类型、依赖的数据变量、数据描述和操作指令。
可选地,所述第一提示词还包括以下至少一项:
背景信息,用于指示所述大语言模型的身份信息;
第一约束信息,用于指示所述大语言模型对所述待处理任务的处理过程的约束信息和/或对输出的目标数据链的约束信息,所述对所述待处理任务的处理过程的约束信息包括以下至少一项:仅基于初始数据和中间数据变量进行分析,每个中间数据变量为基于其依赖的数据变量直接得到的,不输出代码;所述对输出的目标数据链的约束信息包括以下至少一项:目标数据链的期望输出格式以及所述期望输出格式对应的样例。
可选地,所述操作节点包括以下至少一项:所述中间数据变量的名称、数据类型、依赖的数据变量、数据描述和操作指令。
可选地,所述基于大语言模型的数据链生成装置70还包括:
第二确定模块,用于根据所述目标数据链,生成至少一个第二提示词,每个所述第二提示词对应至少一个所述中间数据变量,所述第二提示词用于指示所述大语言模型生成所述中间数据变量的实现代码并运行代码得到所述中间数据变量;
第二输入模块,用于将所述至少一个第二提示词输入所述大语言模型,并获取所述大语言模型输出的至少一个中间输出结果,所述中间输出结果包括所述中间数据变量的实现代码和运行代码得到的所述中间数据变量。
可选地,根据所述目标数据链,生成至少一个第二提示词,包括:
根据所述目标数据链中的所述中间数据变量依赖的数据变量,确定所述第二提示词中的依赖的数据变量;
根据所述目标数据链中的所述中间数据变量的操作指令,确定所述第二提示词中的生成所述中间数据变量的任务描述,以及用于生成所述中间数据变量的参考方法。
可选地,所述将所述至少一个第二提示词输入大语言模型,并获取所述大语言模型输出的至少一个中间输出结果,包括:
根据所述目标数据链中所述至少一个操作节点的顺序,确定所述至少一个第二提示词的顺序;
按照所述至少一个第二提示词的顺序依次将各第二提示词输入所述大语言模型,得到所述大语言模型输出的至少一个中间输出结果。
可选地,所述第二提示词包括以下至少一项:
指示所述大语言模型使用所述初始数据或中间数据变量进行分析;
指示所述大语言模型使用所述中间数据变量的操作指令进行代码生成。
可选地,所述基于大语言模型的数据链生成装置70还包括:
第三确定模块,用于根据所述至少一个中间输出结果,生成第三提示词,所述第三提示词用于指示所述大语言模型生成对所述待处理任务的分析报告;
第三输入模块,用于将所述第三提示词输入所述大语言模型,并获取所述大语言模型输出的对所述待处理任务的分析报告。
可选地,所述第三提示词包括以下至少一项:
指示所述大语言模型对所述待处理任务的分析处理方法;
指示所述大语言模型基于所述目标数据链和所述中间输出结果对所述待处理任务进行处理。
可选地,所述第三提示词还包括:
背景信息,用于指示所述大语言模型的身份信息;
第三约束信息,所述第三约束信息为对所述大语言模型生成所述待处理任务的分析报告的约束信息,其中,所述第三约束信息包括以下指示中的至少一项:
指示所述大语言模型使用已有的可用数据进行分析;
指示所述大语言模型利用自然语言输出所述分析报告;
指示所述大语言模型输出对分析结果的解读或建议。
请参考图7,本发明实施例还提供一种电子设备80,包括处理器81,存储器82,存储在存储器82上并可在所述处理器81上运行的计算机程序,该计算机程序被处理器81执行时实现上述基于大语言模型的数据链生成方法实施例的各个过程,且能达到相同的技术效果,为避免重复,这里不再赘述。
本发明实施例还提供一种计算机可读存储介质,所述计算机可读存储介质上存储计算机程序,所述计算机程序被处理器执行时实现上述基于大语言模型的数据链生成方法实施例的各个过程,且能达到相同的技术效果,为避免重复,这里不再赘述。其中,所述的计算机可读存储介质,如只读存储器(Read-Only Memory,ROM)、随机存取存储器(RandomAccess Memory,RAM)、磁碟或者光盘等。
需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者装置不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者装置所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、方法、物品或者装置中还存在另外的相同要素。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如ROM/RAM、磁碟、光盘)中,包括若干指令用以使得一台终端(可以是手机,计算机,服务器,空调器,或者网络设备等)执行本发明各个实施例所述的方法。
上面结合附图对本发明的实施例进行了描述,但是本发明并不局限于上述的具体实施方式,上述的具体实施方式仅仅是示意性的,而不是限制性的,本领域的普通技术人员在本发明的启示下,在不脱离本发明宗旨和权利要求所保护的范围情况下,还可做出很多形式,均属于本发明的保护之内。
- 一种低渗油田原位燃爆压裂用新型液体炸药及其应用
- 一种基于液体助燃剂输送支撑剂的甲烷原位燃爆压裂方法