CN118296116A - 构建数据分析智能体的方法与装置 - Google Patents
构建数据分析智能体的方法与装置 Download PDFInfo
- Publication number
- CN118296116A CN118296116A CN202410280142.1A CN202410280142A CN118296116A CN 118296116 A CN118296116 A CN 118296116A CN 202410280142 A CN202410280142 A CN 202410280142A CN 118296116 A CN118296116 A CN 118296116A
- Authority
- CN
- China
- Prior art keywords
- data
- large model
- context
- business
- task
- 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 70
- 238000007405 data analysis Methods 0.000 title claims abstract description 57
- 239000003795 chemical substances by application Substances 0.000 claims abstract description 58
- 238000001914 filtration Methods 0.000 claims abstract description 36
- 230000015654 memory Effects 0.000 claims description 23
- 238000004590 computer program Methods 0.000 claims description 10
- 230000014509 gene expression Effects 0.000 claims description 7
- 238000000605 extraction Methods 0.000 claims description 3
- 238000004458 analytical method Methods 0.000 description 16
- 238000010586 diagram Methods 0.000 description 11
- 230000008569 process Effects 0.000 description 10
- 230000006870 function Effects 0.000 description 8
- 238000012545 processing Methods 0.000 description 7
- 230000002452 interceptive effect Effects 0.000 description 5
- 239000008186 active pharmaceutical agent Substances 0.000 description 4
- 238000004891 communication Methods 0.000 description 3
- 230000003287 optical effect Effects 0.000 description 3
- 238000004364 calculation method Methods 0.000 description 2
- 238000006243 chemical reaction Methods 0.000 description 2
- 238000000586 desensitisation Methods 0.000 description 2
- 238000013461 design Methods 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 230000010354 integration Effects 0.000 description 2
- 239000000463 material Substances 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000000644 propagated effect Effects 0.000 description 2
- 238000012549 training Methods 0.000 description 2
- 208000004547 Hallucinations Diseases 0.000 description 1
- 230000006978 adaptation Effects 0.000 description 1
- 230000002776 aggregation Effects 0.000 description 1
- 238000004220 aggregation Methods 0.000 description 1
- 230000003190 augmentative effect Effects 0.000 description 1
- 238000013506 data mapping Methods 0.000 description 1
- 238000000354 decomposition reaction Methods 0.000 description 1
- 239000000835 fiber Substances 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 230000007787 long-term memory Effects 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 239000013307 optical fiber Substances 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 230000006403 short-term memory Effects 0.000 description 1
- 230000001502 supplementing effect Effects 0.000 description 1
- 238000011144 upstream manufacturing Methods 0.000 description 1
- 230000000007 visual effect Effects 0.000 description 1
Abstract
本发明提供了构建数据分析智能体的方法与装置,方法包括如下步骤:通过大模型提取向量数据库查询条件;通过嵌入模型获取查询条件;根据原始输入,调用大模型进行命名实体识别,命名实体识别的结果是一系列的业务对象;根据所述业务对象,在元数据知识图谱中,查询所关联的表和字段;进行第一次数据过滤;提示语生成初始的任务规划;根据大模型的任务规划输出,将上下文、任务列表都缓存到上下文临时存储中;根据返回的数据进行第二次数据过滤并输出结果。本发明提供的构建数据分析智能体的方法、装置、设备和计算机可读存储介质,实现基于特定行业结构化数据,进行准确、安全的对话式数据分析的能力。
Description
技术领域
本发明涉及计算机技术领域,结合元数据知识图谱构建问答式数据分析智能体,具体而言,涉及一种构建数据分析智能体的方法、装置、设备和计算机可读存储介质。
背景技术
本发明对于背景技术的描述属于与本发明相关的相关技术,仅仅是用于说明和便于理解本发明的发明内容,不应理解为申请人明确认为或推定申请人认为是本发明在首次提出申请的申请日的现有技术。
传统的BI数据分析领域中,需要大量专业知识、对底层数据的了解、以及跨系统操作,阻碍了业务人员充分利用企业内的数据资产,使得自主用数落地困难。问答式数据分析技术(如NL2SQL)旨在通过NLP模型,将自然语言的分析需求转换为技术性的查询语句,从而降低数据分析的使用门槛。但是传统NLP模型往往不能较好地支持该任务:一方面缺少灵活性(需要针对性训练、人工准备大量样本等),另一方面质量较低(大多为单表,无法处理复杂场景和复杂聚合计算等)。
大语言模型(LLM)的出现,表现出少样本和零样本泛化的能力,可以通过链式思维(CoT)、推理并执行新动作(ReAct)等技术展现出与符号代理相媲美的推理和规划能力。这种能力让大模型的非常适合处理复杂的数据分析需求,即由大模型根据用户的数据分析需求(自然语言表达),自动分析、规划,并动态调用相关的分析工具,最后展示分析结果。这样的一整套流程可以封装为一个智能体(Agent),通过自然语言界面跟用户交互。
但是基于LLM的方案也存在各种各样的问题,例如幻觉(Hallucination)、输出稳定性等,影响了LLM实现精准的数据识别和查询语句生成。
为了解决上述技术问题,本发明提出了一种构建数据分析智能体的方法、装置、设备和计算机可读存储介质。本发明提出了一种结合元数据知识图谱,利用大模型的命名实体识别、输出语法约束和任务规划能力,构建基于问答界面的交互式数据分析智能体的方法;该方法很大程度上解决了大模型的幻觉和输出不稳定性,同时也提出了优化特定场景下任务规划能力的方案,从而实现基于特定行业结构化数据,进行准确、安全的对话式数据分析的能力。
发明内容
本发明提供了一种构建数据分析智能体的方法、装置、设备和计算机可读存储介质。本发明提出了一种结合元数据知识图谱,利用大模型的命名实体识别、输出语法约束和任务规划能力,构建基于问答界面的交互式数据分析智能体的方法;该方法很大程度上解决了大模型的幻觉和输出不稳定性,同时也提出了优化特定场景下任务规划能力的方案,从而实现基于特定行业结构化数据,进行准确、安全的对话式数据分析的能力。
本发明第一方面的实施例提供了一种构建数据分析智能体的方法,包括如下步骤:通过大模型提取向量数据库查询条件;通过嵌入模型获取查询条件;根据原始输入,调用大模型进行命名实体识别,命名实体识别的结果是一系列的业务对象,同时把元数据知识图谱所包含的业务对象都包含在命名实体识别的上下文中;根据业务对象,在元数据知识图谱中,查询对应“业务对象”实体、“业务标签”实体、“业务关系”所关联的表和字段;进行第一次数据过滤;提示语生成初始的任务规划;根据大模型的任务规划输出,将上下文、任务列表都缓存到上下文临时存储中,同时将任务列表放到一个内存队列;根据返回的数据进行第二次数据过滤并输出结果。
优选地,通过大模型提取向量数据库查询条件步骤中,从多个角度对原始需求进行重新复述,将不同角度的表述全部发送到向量数据库,并获取对应的结果。
优选地,通过嵌入模型获取查询条件步骤中,嵌入模型与向量数据库用于嵌入的模型一致。
优选地,根据原始输入,调用大模型进行命名实体识别,命名实体识别的结果是一系列的业务对象,同时把元数据知识图谱所包含的业务对象都包含在命名实体识别的上下文中步骤中,除了识别业务对象,识别核心的数据元和查询条件。
优选地,进行第一次数据过滤步骤中,向量库的查询结果会包含原始的知识库文本,通过第一次数据过滤,进行关键内容脱敏,元数据知识图谱的结果中包含权限信息,根据当前用户的权限,进行数据权限过滤。
优选地,根据大模型的任务规划输出,将上下文、任务列表都缓存到上下文临时存储中,同时将任务列表放到一个内存队列步骤还包括,将任务列表逐个取出执行,并由大模型自行评估执行结果,结合上下文和现有任务队列,更新任务列表。
优选地,第二次数据过滤对应于查询出的具体数据。
本发明第二方面的实施例还提供了一种构建数据分析智能体的装置,包括:提取模块,提取模块被配置为通过大模型提取向量数据库查询条件;获取模块,获取模块被配置为通过嵌入模型获取查询条件;识别模块,识别模块被配置为根据原始输入,调用大模型进行命名实体识别,命名实体识别的结果是一系列的业务对象,同时把元数据知识图谱所包含的业务对象都包含在命名实体识别的上下文中;查询模块,查询模块被配置为根据业务对象,在元数据知识图谱中,查询对应“业务对象”实体、“业务标签”实体、“业务关系”所关联的表和字段;第一过滤模块,第一过滤模块被配置为进行第一次数据过滤;生成模块,生成模块被配置为提示语生成初始的任务规划;缓存模块,缓存模块被配置为根据大模型的任务规划输出,将上下文、任务列表都缓存到上下文临时存储中,同时将任务列表放到一个内存队列;第二过滤模块,第二过滤模块被配置为根据返回的数据进行第二次数据过滤并输出结果。
本发明第三方面的实施例还提供了一种构建数据分析智能体的设备,其包括存储器和处理器;其中,存储器用于存储可执行程序代码;处理器用于读取存储器中存储的可执行程序代码以执行构建数据分析智能体的方法。
本发明第四方面的实施例还提供了一种计算机可读存储介质,计算机可读存储介质存储有计算机程序,计算机程序被处理器执行时实现构建数据分析智能体的方法。
本发明提供的构建数据分析智能体的方法、装置、设备和计算机可读存储介质。本发明提出了一种结合元数据知识图谱,利用大模型的命名实体识别、输出语法约束和任务规划能力,构建基于问答界面的交互式数据分析智能体的方法;该方法很大程度上解决了大模型的幻觉和输出不稳定性,同时也提出了优化特定场景下任务规划能力的方案,从而实现基于特定行业结构化数据,进行准确、安全的对话式数据分析的能力。
本发明的附加方面和优点将在下面的描述部分中变得明显,或通过本发明的实践了解到。
附图说明
本发明的上述和/或附加的方面和优点从结合下面附图对实施例的描述中将变得明显和容易理解,其中:
图1示出根据本发明实施例的构建数据分析智能体的方法的数据分析智能体组成示意图;
图2示出根据本发明实施例的构建数据分析智能体的方法的元数据知识图谱建模示意图;
图3示出根据本发明实施例的构建数据分析智能体的方法的数据分析智能体的执行流程图;
图4是本说明书构建数据分析智能体的设备的一个实施例的结构图;
图5是本说明书构建数据分析智能体的方法的计算机可读存储介质的一个实施例的结构图。
具体实施方式
为了能够更清楚地理解本发明的上述目的、特征和优点,下面结合附图和具体实施方式对本发明进行进一步的详细描述。需要说明的是,在不冲突的情况下,本申请的实施例及实施例中的特征可以相互组合。
在下面的描述中阐述了很多具体细节以便于充分理解本发明,但是,本发明还可以采用其他不同于在此描述的其他方式来实施,因此,本发明的保护范围并不受下面公开的具体实施例的限制。
下述讨论提供了本发明的多个实施例。虽然每个实施例代表了发明的单一组合,但是本发明不同实施例可以替换,或者合并组合,因此本发明也可认为包含所记载的相同和/或不同实施例的所有可能组合。因而,如果一个实施例包含A、B、C,另一个实施例包含B和D的组合,那么本发明也应视为包括含有A、B、C、D的一个或多个所有其他可能的组合的实施例,尽管该实施例可能并未在以下内容中有明确的文字记载。
为方便理解本发明的实施例,对技术术语做出如下统一定义:
NL2SQL、NL2Cypher:基于NLP模型,将自然语言转换为查询语句(SQL、Cypher等)。缺点是:针对场景训练、仅支持简单场景、泛化能力差,通常情况下一次性输出。
RAG(Retrieval Augmented Generation):基于大模型的生成增强技术,对大模型进行上下文数据补充。即在调用大模型前,先通过向量数据库搜索到跟输入接近的文档,补充到输入中,再通过大模型生成对应的答案。该技术的缺点是:1)简单的匹配往往是字面相似度,得不到准确的内容匹配,比如“分析上周发生的案件情况”,“上周”其实明确了一个时间范围,但是向量数据库搜索可能会匹配到所有包含“上周”语义的文档。2)大多数适用于FAQ等自然语言文本匹配场景,不是结构化数据查询的范式。
数据虚拟化(Data Virtualization):将多个数据源的结构化数据虚拟映射成一个知识图谱本体,然后对外暴露知识图谱的查询接口(SparQL较为常见),然后根据SparQL查询动态翻译为针对多个数据源的SQL查询。该方法的缺点有两个:1)数据映射需要大量的人工操作或者校验;2)虽然SparQL语义表达比SQL更接近业务表达,它仍然是一种一次性生成的过程,没有针对结果的反思和多查询规划,因此提升相对有限。
AutoGPT:完全自动化的分析工具。支持动态任务分解,迭代式优化查询步骤,且能调用较多外部工具。该技术的缺点是:1)没有行业结构化数据的输入,只能支持水平业务应用;2)输出稳定性较差,且会经常陷入无限循环。
图1示出根据本发明实施例的构建数据分析智能体的方法的数据分析智能体组成示意图;如图1所示,本发明实施例所公开的构建数据分析智能体的方法的数据分析智能体组成以大模型为核心,集成了记忆能力、外部分析工具,通过大模型的规划能力(主要提现在提示语设计上),针对用户提出的分析目标自动生成解决步骤,并逐个调用相关工具进行完成。
主要组件包括:1.大模型:通过与OpenAI兼容的RESTful API封装,兼容主流的开源大模型,并支持跟其他大模型适配。2.工具-元数据知识图谱:该图谱通过对大规模结构化数据进行描述,提供了将业务实体关联到技术元数据的能力。3.工具-自主建模:该工具为针对已有数据加工建模工具的集成,提供了API供LLM使用,LLM可以选择通过该工具构建新的数据表。4.工具-可视化分析:该工具是针对已有BI分析工具的集成,提供了API供LLM使用,通过该工具LLM可以选择通过该工具构建新的图表、仪表盘、指标等,并在对话界面中嵌入生成的可视化分析结果。5.短期记忆:主要通过内存向量索引,提供一次对话中的对话历史、任务列表等。6.长期记忆:主要通过跟向量数据库集成,将文本规章制度、SOP、FAQ等业务相关文档进行索引,从而在执行任务时可以通过RAG技术将相关信息提供给大模型。7.大模型提示语模版库:该模版库提供了针对不同大模型或者通用的CoT、ReAct等提示语模版,可以在构建智能体时进行选择、组合,或者新增提示语。
图2示出根据本发明实施例的构建数据分析智能体的方法的元数据知识图谱建模示意图;如图2所示,本发明实施例所公开的构建数据分析智能体的方法的元数据知识图谱包含了技术元数据、过程元数据、业务对象元数据。其中技术元数据包括数据源、表、字段、数据元、标签、关系、图表、服务、指标、仪表盘等,过程元数据包含了任务(代表数据加工的过程,主要提现了表之间的血缘关系),业务对象元数据包括业务实体,主要是在业务中关注的,用户在问答中提出的业务对象。通过将这些元数据构建起来,通过对整个底层数据的情况有完整的认知,且可以从业务对象(实体)关联到描述它的表、上下游数据等。
每个类型的元数据包含了基本描述、数据统计情况和数据样例,从而能为大模型上下文提供足够相关的输入,使得大模型能生成更加准确的查询语句。元数据知识图谱作为一个工具插件,以API方式提供给大模型工具层调用。
图3示出根据本发明实施例的构建数据分析智能体的方法的数据分析智能体的执行流程图;如图3所示,本发明实施例所公开的构建数据分析智能体的方法包括如下步骤:步骤S01:通过大模型提取向量数据库查询条件;步骤S02:通过嵌入模型获取查询条件;步骤S03:根据原始输入,调用大模型进行命名实体识别,命名实体识别的结果是一系列的业务对象,同时把元数据知识图谱所包含的业务对象都包含在命名实体识别的上下文中;步骤S04:根据业务对象,在元数据知识图谱中,查询对应“业务对象”实体、“业务标签”实体、“业务关系”所关联的表和字段;步骤S05:进行第一次数据过滤;步骤S06:提示语生成初始的任务规划;步骤S07:根据大模型的任务规划输出,将上下文、任务列表都缓存到上下文临时存储中,同时将任务列表放到一个内存队列;步骤S08:根据返回的数据进行第二次数据过滤并输出结果。
本发明实施例所提供的技术方案,结合元数据知识图谱,利用大模型的命名实体识别、输出语法约束和任务规划能力,构建基于问答界面的交互式数据分析智能体的方法;该方法很大程度上解决了大模型的幻觉和输出不稳定性,同时也提出了优化特定场景下任务规划能力的方案,从而实现基于特定行业结构化数据,进行准确、安全的对话式数据分析的能力。
本发明实施例所提供的构建数据分析智能体的方法,通过大模型提取向量数据库查询条件步骤中,从多个角度对原始需求进行重新复述,将不同角度的表述全部发送到向量数据库,并获取对应的结果。
本发明实施例所提供的构建数据分析智能体的方法,通过嵌入模型获取查询条件步骤中,嵌入模型与向量数据库用于嵌入的模型一致。
本发明实施例所提供的构建数据分析智能体的方法,根据原始输入,调用大模型进行命名实体识别,命名实体识别的结果是一系列的业务对象,同时把元数据知识图谱所包含的业务对象都包含在命名实体识别的上下文中步骤中,除了识别业务对象,识别核心的数据元和查询条件。
本发明实施例所提供的构建数据分析智能体的方法,进行第一次数据过滤步骤中,向量库的查询结果会包含原始的知识库文本,通过第一次数据过滤,进行关键内容脱敏,元数据知识图谱的结果中包含权限信息,根据当前用户的权限,进行数据权限过滤。
本发明实施例所提供的构建数据分析智能体的方法,根据大模型的任务规划输出,将上下文、任务列表都缓存到上下文临时存储中,同时将任务列表放到一个内存队列步骤还包括,将任务列表逐个取出执行,并由大模型自行评估执行结果,结合上下文和现有任务队列,更新任务列表。
本发明实施例所提供的构建数据分析智能体的方法,第二次数据过滤对应于查询出的具体数据。
在一个具体实施例中,用户提交数据分析目标(比如“我想分析最近一个月进出本市的重点关注对象的省份分布”)后,智能体会进行一系列的分析和大模型交互流程。详述数据分析智能体的执行流程设计如下:
1)首先通过大模型提取向量数据库查询条件。简单将原始输入进行向量查询其实效果有限,从几个角度对原始需求进行重新复述,比如“重点关注对象的分析方法”,“重点关注对象的相关表和指标”,“省份分布的计算”等,这些不同维度的表述将会全部发送到向量数据库,并获取对应的结果。这里主要是为智能体提供业务对象描述、FAQ、已知分析流程等,便于智能体用于数据规划。
2)上述查询会通过嵌入模型(跟向量数据库用于嵌入的模型一致),获取查询条件
3)根据原始原始输入,调用大模型进行NER(命名实体识别)命名实体识别的结果是一系列的业务对象,同时把元数据知识图谱所包含的业务对象都包含在NER的上下文中。除了识别业务对象,同时识别核心的数据元和查询条件,比如“最近一个月”是一个时间范围表达,大模型会根据生成一个步骤,把“最近一个月”通过调用外部服务转换成一个时间范围,比如“[2023.11.12,2023.12.12]”,这样能够生成具体的、精确的查询条件
4)根据上述步骤抽取的业务对象,在元数据知识图谱中,查询对应“业务对象”实体、“业务标签”实体、“业务关系”所关联的表和字段。
5)数据过滤:上述向量库的查询结果会包含原始的知识库文本,对这些数据进行过滤,主要涉及关键内容脱敏;上述元数据知识图谱的结果,会有权限信息,根据当前用户的权限,进行数据权限过滤。保证所有的分析都在用户权限之内。
6)提示语生成主要是生成初始的任务规划Prompt。提供大模型的系统提示、任务描述,任务上下文,相关元数据,并告知其根据上述内容,生成完成分析结果的步骤。该步骤需要对模型进行微调优化,以提升效果。该步骤反应了智能体对分析任务的理解能力。很多查询都是有现成的步骤可以参考的,对于这些可参考的步骤,以FAQ的形式存储,大模型会从这个角度查询是否有可参考的方法,如果有则会以此为标准。对于未有可参考的分析问题,让大模型自动规划步骤。该步骤不一定的正确。通过提供用户反馈的机制,可以让人工纠正大模型的规划(直接修改大模型的输出)。这样的反馈会让大模型按照修改后的规划进行后续的步骤。这样的人工辅助的过程在多次进行后,可以把执行历史进行整理并对大模型进行微调,从而优化大模型的准确性。随着用户的使用,大模型对大多数任务都能有较好的规划。
7)根据大模型的任务规划输出,将上述上下文、任务列表等都缓存到上下文临时存储中,同时将任务列表放到一个内存队列。并逐个取出执行。执行后,由大模型自行评估执行结果,并结合上下文和现有任务队列,更新任务列表和下一步步骤。该过程用户可以随时介入,进行调整或者取消执行。
8)上述步骤中的输出,根据返回的数据进行二次过滤。该次过滤主要对应于查询出的具体数据。通过用户的数据权限、脱敏要求由自定义代码完成。该输出结果以json形式返回。
上述步骤中,通过Grammar限制,强制大模型生成符合JSON语法的输出,便于自定义代码分析。
本发明实施例所提供的构建数据分析智能体的装置,包括:提取模块,提取模块被配置为通过大模型提取向量数据库查询条件;获取模块,获取模块被配置为通过嵌入模型获取查询条件;识别模块,识别模块被配置为根据原始输入,调用大模型进行命名实体识别,命名实体识别的结果是一系列的业务对象,同时把元数据知识图谱所包含的业务对象都包含在命名实体识别的上下文中;查询模块,查询模块被配置为根据业务对象,在元数据知识图谱中,查询对应“业务对象”实体、“业务标签”实体、“业务关系”所关联的表和字段;第一过滤模块,第一过滤模块被配置为进行第一次数据过滤;生成模块,生成模块被配置为提示语生成初始的任务规划;缓存模块,缓存模块被配置为根据大模型的任务规划输出,将上下文、任务列表都缓存到上下文临时存储中,同时将任务列表放到一个内存队列;第二过滤模块,第二过滤模块被配置为根据返回的数据进行第二次数据过滤并输出结果。
图4是本说明书构建数据分析智能体的设备的一个实施例的结构图。下面参考图4,其示出了适于用来实现本公开实施例的构建数据分析智能体的设备300的结构示意图。本公开实施例中的电子设备可以包括但不限于诸如移动电话、笔记本电脑、数字广播接收器、PDA(个人数字助理)、PAD(平板电脑)、PMP(便携式多媒体播放器)、车载终端(例如车载导航终端)等等的移动终端以及诸如数字TV、台式计算机等等的固定终端。图4示出的电子设备仅仅是一个示例,不应对本公开实施例的功能和使用范围带来任何限制。
如图4所示,电子设备300可以包括处理装置(例如中央处理器、图形处理器等)301,其可以根据存储在只读存储器(ROM)302中的程序或者从存储装置308加载到随机访问存储器(RAM)303中的程序而执行各种适当的动作和处理。在RAM303中,还存储有电子设备300操作所需的各种程序和数据。处理装置301、ROM 302以及RAM303通过总线304彼此相连。输入/输出(I/O)接口305也连接至总线304。
通常,以下装置可以连接至I/O接口305:包括例如触摸屏、触摸板、键盘、鼠标、图像传感器、麦克风、加速度计、陀螺仪等的输入装置306;包括例如液晶显示器(LCD)、扬声器、振动器等的输出装置307;包括例如磁带、硬盘等的存储装置308;以及通信装置309。通信装置309可以允许电子设备300与其他设备进行无线或有线通信以交换数据。虽然图4示出了具有各种装置的电子设备300,但是应理解的是,并不要求实施或具备所有示出的装置。可以替代地实施或具备更多或更少的装置。
特别地,根据本公开的实施例,上文参考流程图描述的过程可以被实现为计算机软件程序。例如,本公开的实施例包括一种计算机程序产品,其包括承载在计算机可读介质上的计算机程序,该计算机程序包含用于执行流程图所示的方法的程序代码。在这样的实施例中,该计算机程序可以通过通信装置309从网络上被下载和安装,或者从存储装置308被安装,或者从ROM 302被安装。在该计算机程序被处理装置301执行时,执行本公开实施例的方法中限定的上述功能。
图5是本说明书构建数据分析智能体的方法的计算机可读存储介质的一个实施例的结构图。如图5所示,根据本公开实施例的计算机可读存储介质40,其上存储有非暂时性计算机可读指令41。当该非暂时性计算机可读指令41由处理器运行时,执行前述的本公开各实施例的构建数据分析智能体的方法的全部或部分步骤。
需要说明的是,本公开上述的计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质或者是上述两者的任意组合。计算机可读存储介质例如可以是——但不限于——电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子可以包括但不限于:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机访问存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑磁盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本公开中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。而在本公开中,计算机可读信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。计算机可读信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读信号介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括但不限于:电线、光缆、RF(射频)等等,或者上述的任意合适的组合。
上述计算机可读介质可以是上述电子设备中所包含的;也可以是单独存在,而未装配入该电子设备中。
上述计算机可读介质承载有一个或者多个程序,当上述一个或者多个程序被该电子设备执行时,使得该电子设备:构建基础页面,所述基础页面的页面代码用于搭建所述业务页面运行所需的环境和/或实现同类业务场景中抽象出的相同的工作流程;构建一个或多个页面模板,所述页面模板用于提供业务场景中实现业务功能的代码模板;基于相应的所述页面模板,通过业务场景的每一个页面的具体功能的代码转换,生成业务场景的每一个页面的最终页面代码;将生成的所述每一个页面的最终页面代码合并入所述基础页面的页面代码,生成所述业务页面的代码。
或者,上述计算机可读介质承载有一个或者多个程序,当上述一个或者多个程序被该电子设备执行时,使得该电子设备:构建基础页面,所述基础页面的页面代码用于搭建所述业务页面运行所需的环境和/或实现同类业务场景中抽象出的相同的工作流程;构建一个或多个页面模板,所述页面模板用于提供业务场景中实现业务功能的代码模板;基于相应的所述页面模板,通过业务场景的每一个页面的具体功能的代码转换,生成业务场景的每一个页面的最终页面代码;将生成的所述每一个页面的最终页面代码合并入所述基础页面的页面代码,生成所述业务页面的代码。
可以以一种或多种程序设计语言或其组合来编写用于执行本公开的操作的计算机程序代码,上述程序设计语言包括面向对象的程序设计语言—诸如Java、Smalltalk、C++,还包括常规的过程式程序设计语言—诸如“C”语言或类似的程序设计语言。程序代码可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络——包括局域网(LAN)或广域网(WAN)—连接到用户计算机,或者,可以连接到外部计算机(例如利用因特网服务提供商来通过因特网连接)。
附图中的流程图和框图,图示了按照本公开各种实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,该模块、程序段、或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
描述于本公开实施例中所涉及到的单元可以通过软件的方式实现,也可以通过硬件的方式来实现。其中,单元的名称在某种情况下并不构成对该单元本身的限定。
本发明提供的构建数据分析智能体的方法、装置、设备和计算机可读存储介质。本发明提出了一种结合元数据知识图谱,利用大模型的命名实体识别、输出语法约束和任务规划能力,构建基于问答界面的交互式数据分析智能体的方法;该方法很大程度上解决了大模型的幻觉和输出不稳定性,同时也提出了优化特定场景下任务规划能力的方案,从而实现基于特定行业结构化数据,进行准确、安全的对话式数据分析的能力。
在本发明中,术语“第一”、“第二”、“第三”仅用于描述的目的,而不能理解为指示或暗示相对重要性;术语“多个”则指两个或两个以上,除非另有明确的限定。术语“安装”、“相连”、“连接”、“固定”等术语均应做广义理解,例如,“连接”可以是固定连接,也可以是可拆卸连接,或一体地连接;“相连”可以是直接相连,也可以通过中间媒介间接相连。对于本领域的普通技术人员而言,可以根据具体情况理解上述术语在本发明中的具体含义。
本发明的描述中,需要理解的是,术语“上”、“下”等指示的方位或位置关系为基于附图所示的方位或位置关系,仅是为了便于描述本发明和简化描述,而不是指示或暗示所指的装置或单元必须具有特定的方向、以特定的方位构造和操作,因此,不能理解为对本发明的限制。
在本说明书的描述中,术语“一个实施例”、“一些实施例”、“具体实施例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或特点包含于本发明的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不一定指的是相同的实施例或实例。而且,描述的具体特征、结构、材料或特点可以在任何的一个或多个实施例或示例中以合适的方式结合。
以上仅为本发明的某些实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (9)
1.一种构建数据分析智能体的方法,其特征在于,包括如下步骤:
通过大模型提取向量数据库查询条件;
通过嵌入模型获取查询条件;
根据原始输入,调用大模型进行命名实体识别,命名实体识别的结果是一系列的业务对象,同时把元数据知识图谱所包含的业务对象都包含在命名实体识别的上下文中;
根据所述业务对象,在元数据知识图谱中,查询对应“业务对象”实体、“业务标签”实体、“业务关系”所关联的表和字段;
进行第一次数据过滤;
提示语生成初始的任务规划;
根据大模型的任务规划输出,将上下文、任务列表都缓存到上下文临时存储中,同时将任务列表放到一个内存队列;
根据返回的数据进行第二次数据过滤并输出结果。
2.根据权利要求1所述的构建数据分析智能体的方法,其特征在于,所述通过大模型提取向量数据库查询条件步骤中,从多个角度对原始需求进行重新复述,将不同角度的表述全部发送到向量数据库,并获取对应的结果。
3.根据权利要求1所述的构建数据分析智能体的方法,其特征在于,所述根据原始输入,调用大模型进行命名实体识别,命名实体识别的结果是一系列的业务对象,同时把元数据知识图谱所包含的业务对象都包含在命名实体识别的上下文中步骤中,除了识别业务对象,识别核心的数据元和查询条件。
4.根据权利要求1所述的构建数据分析智能体的方法,其特征在于,所述进行第一次数据过滤步骤中,向量库的查询结果会包含原始的知识库文本,通过第一次数据过滤,进行关键内容脱敏,元数据知识图谱的结果中包含权限信息,根据当前用户的权限,进行数据权限过滤。
5.根据权利要求1所述的构建数据分析智能体的方法,其特征在于,所述根据大模型的任务规划输出,将上下文、任务列表都缓存到上下文临时存储中,同时将任务列表放到一个内存队列步骤还包括,将任务列表逐个取出执行,并由大模型自行评估执行结果,结合上下文和现有任务队列,更新任务列表。
6.根据权利要求1-5中任意一项所述的构建数据分析智能体的方法,其特征在于,所述第二次数据过滤对应于查询出的具体数据。
7.一种基于构建数据分析智能体的装置,其特征在于,包括:
提取模块,所述提取模块被配置为通过大模型提取向量数据库查询条件;
获取模块,所述获取模块被配置为通过嵌入模型获取查询条件;
识别模块,所述识别模块被配置为根据原始输入,调用大模型进行命名实体识别,命名实体识别的结果是一系列的业务对象,同时把元数据知识图谱所包含的业务对象都包含在命名实体识别的上下文中;
查询模块,所述查询模块被配置为根据所述业务对象,在元数据知识图谱中,查询对应“业务对象”实体、“业务标签”实体、“业务关系”所关联的表和字段;
第一过滤模块,所述第一过滤模块被配置为进行第一次数据过滤;
生成模块,所述生成模块被配置为提示语生成初始的任务规划;
缓存模块,所述缓存模块被配置为根据大模型的任务规划输出,将上下文、任务列表都缓存到上下文临时存储中,同时将任务列表放到一个内存队列;
第二过滤模块,所述第二过滤模块被配置为根据返回的数据进行第二次数据过滤并输出结果。
8.一种构建数据分析智能体的设备,其包括存储器和处理器;其中,所述存储器用于存储可执行程序代码;所述处理器用于读取所述存储器中存储的可执行程序代码以执行根据权利要求1-6任意一项所述的构建数据分析智能体的方法。
9.一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1-6任意一项所述的构建数据分析智能体的方法。
Publications (1)
Publication Number | Publication Date |
---|---|
CN118296116A true CN118296116A (zh) | 2024-07-05 |
Family
ID=
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111177231B (zh) | 报表生成方法和报表生成装置 | |
CN110457439B (zh) | 一站式智能写作辅助方法、装置和系统 | |
US9146955B2 (en) | In-memory, columnar database multidimensional analytical view integration | |
US11106861B2 (en) | Logical, recursive definition of data transformations | |
CN111522927B (zh) | 基于知识图谱的实体查询方法和装置 | |
CN110334109B (zh) | 关系式数据库数据查询方法、系统、介质和电子设备 | |
CN111159220B (zh) | 用于输出结构化查询语句的方法和装置 | |
US20130018848A1 (en) | Determining and presenting provenance and lineage for content in a content management system | |
CN111158795A (zh) | 报表生成方法、装置、介质及电子设备 | |
CN109710220B (zh) | 关系型数据库查询方法、装置、设备及存储介质 | |
US11176125B2 (en) | Blended retrieval of data in transformed, normalized data models | |
CN113448562B (zh) | 一种逻辑代码自动生成方法、装置和电子设备 | |
CN111858645A (zh) | 一种数据库对象处理方法、装置、设备及存储介质 | |
CN116594683A (zh) | 一种代码注释信息生成方法、装置、设备及存储介质 | |
US8862609B2 (en) | Expanding high level queries | |
CN114356962A (zh) | 一种数据查询方法、装置、电子设备和存储介质 | |
CN113672699A (zh) | 基于知识图谱的nl2sql生成方法 | |
CN117668182A (zh) | 融合知识图谱和大语言模型的规范智能问答方法及系统 | |
KR101902191B1 (ko) | 질의 기반 소프트웨어 논리의 동적 변경 및 실행을 위한 멀티테넌트 지원 장치 및 방법 | |
US20150026081A1 (en) | Method and system for managing standards | |
CN113377963B (zh) | 一种基于知识图谱的井场试验数据处理方法及装置 | |
CN116578712A (zh) | 一种基于知识图谱领域知识库的检索和图谱分析方法 | |
CN112069267A (zh) | 一种数据处理方法和装置 | |
CN115543428A (zh) | 一种基于策略模板的模拟数据生成方法和装置 | |
Madaminov et al. | Firebase Database Usage and Application Technology in Modern Mobile Applications |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication |