本发明涉及自然语言,特别是涉及一种基于图数据库技术的增强rag检索能力的方法。
背景技术:
1、随着人工智能技术的不断发展,检索增强生成(retrieval augmentedgeneration, rag)已成为给大模型提供领域知识最流行的解决方案。商务智能 (bi)能够帮助企业做出更加合理的决策,将rag与bi相结合不仅能降低企业私有数据泄漏的风险,同时也能提高大模型回答问题的准确性,人与数据的交互也会更加的便捷。
2、目前对于rag中与用户问题相关信息的检索是向量数据库通过向量相似性搜索,检索出相似度高的私有数据信息,然而,由于向量相似性不满足传递性的特点,根据用户问题从向量数据库中搜索出的信息只是与该问题直接相关的内容,丢失了很多其它相关的上下文信息,最终导致大模型回答的问题不免准确或者不够详细。因此尽可能多且准确的检索出与用户问题相关的信息,以丰富大模型提示词内容提升大模型回答问题的准确性十分重要。
技术实现思路
1、针对上述现有技术,本发明在于提供一种基于图数据库技术的增强rag检索能力的方法,主要解决上述背景技术中存在的技术问题。
2、为达到上述目的,本发明实施例的技术方案是这样实现的:
3、一种基于图数据库技术的增强rag检索能力的方法,所述方法包括下列步骤:
4、收集领域知识,将所收集的领域知识导入向量数据库模板中,形成知识向量数据库;
5、基于所述知识向量数据库,生成格式文件,每个格式文件中包含节点id和边的信息,将所述格式文件导入图数据库模板中,形成知识图数据库;
6、对所述知识图数据库进行社区划分;
7、获取用户输入的问题并转换为用户问题向量,从所述知识向量数据库中搜索出与用户问题向量最相关的向量;
8、判断所搜索出的与用户问题向量最相关的向量属于所述知识图数据库的哪个社区,并返回对应社区中涉及的所有领域知识;
9、基于用户输入的问题以及所返回的对应社区的领域知识构建意图表达,使用所述意图表达对大模型进行提问。
10、可选的,形成知识向量数据库的具体步骤包括:
11、收集需要存储的领域知识文档,并预先选取向量数据库作为向量数据库模板,所述向量数据库至少包括faiss库、milvus库、chroma库、elasticsearch库;
12、对所收集的领域知识文档进行预处理,其预处理过程包括:清洗文本,使用正则表达式或其他工具去除领域知识文档中的html标签、非字母数字字符;分词,使用中文分词工具对领域知识文档进行分词处理;词干化/词形还原,对领域知识文档进行词干提取或词形还原;去除停用词,使用预先定义的停用词表去除常见词汇;
13、使用向量数据库中的向量工具对预处理后的领域知识文档进行向量化,将向量化的领域知识文档导入向量数据库模板中,获得知识向量数据库。
14、可选的,基于所述知识向量数据库,生成格式文件,具体包括下列步骤:
15、计算所述知识向量数据库中的每一个向量与其它向量的相似度,若两个向量之间的相似度大于阈值,则在两个向量之间建立边,相似度的值即为边的信息;
16、将所述知识向量数据库中的每一个向量视为一个节点,并获取节点id;
17、以起始向量作为源节点,以目标向量作为目标节点,分别获取源节点id以及目标节点id,将源节点id、目标节点id和相似度的值作为一行格式数据,多行格式数据构成格式文件。
18、可选的,将所述格式文件导入图数据库模板中,形成知识图数据库之前,还包括:预先选取图数据库作为图数据库模板,所述图数据库至少包括neo4j库、orientdb库、amazon-neptune库、tigergraph库。
19、可选的,使用louvain算法对图数据库进行社区划分,以便将数据划分为不同的分类,具体包括下列步骤:
20、从图数据库中获取节点和边,基于所述节点和边构建一个图;
21、采用louvain算法对图进行社区划分,每个社区中都包含了一定数量的节点和边。
22、可选的,获取用户输入的问题并转换为用户问题向量,从所述知识向量数据库中搜索出与用户问题向量最相关的向量,具体包括:
23、使用向量数据库中的向量工具对用户输入的问题进行向量化,将用户输入的问题转换为用户问题向量;
24、计算用户问题向量与所述知识向量数据库中的每一个向量的相似度,找到与用户问题向量最相关的向量集合,并获得对应的节点id。
25、可选的,判断所搜索出的与用户问题向量最相关的向量属于所述知识图数据库的哪个社区,具体包括:基于向量集合中的各个向量所对应的节点id,在所构建的图中查找向量集合中的各个向量所属的社区。
26、可选的,收集向量集合中的各个向量所对应社区中的所有节点,将节点所对应的领域知识合并成为知识集合,将所述知识集合与用户输入的问题构建意图表达对大模型进行提问。
27、本发明的有益效果在于:本申请实施例融合传统向量数据库和图数据库的创新性设计,以协调两者在向量搜索和图遍历上各自的最佳优势,在实际检索效果上,大大提高了检索的深度和广度,使得检索增强生成系统,能够连接不同的知识点并提供全面的、有上下文的知识向量图;
28、其进一步引入了图数据库来搜索与用户所提问题相关的领域知识,从而丰富了提供给大模型的领域基本内容,使得大模型能够更加全面的了解相关问题并进行作答;
29、在构建图数据库时,通过采用阈值的方式过滤了相似度弱的边,不仅简化了图模型加快了图遍历的速度,而且减少了不相关或相关性弱的信息对大模型的干扰;
30、在图数据库中使用社区发现算法中的louvain算法能够在整个图中进行全局搜索而不仅仅是在局部进行优化,进而得到更加高质量的相关信息。
1.一种基于图数据库技术的增强rag检索能力的方法,其特征在于,所述方法包括下列步骤:
2.根据权利要求1所述的一种基于图数据库技术的增强rag检索能力的方法,其特征在于,形成知识向量数据库的具体步骤包括:
3.根据权利要求2所述的一种基于图数据库技术的增强rag检索能力的方法,其特征在于,基于所述知识向量数据库,生成格式文件,具体包括下列步骤:
4.根据权利要求3所述的一种基于图数据库技术的增强rag检索能力的方法,其特征在于,将所述格式文件导入图数据库模板中,形成知识图数据库之前,还包括:预先选取图数据库作为图数据库模板,所述图数据库至少包括neo4j库、orientdb库、amazon-neptune库、tigergraph库。
5.根据权利要求4所述的一种基于图数据库技术的增强rag检索能力的方法,其特征在于,使用louvain算法对图数据库进行社区划分,以便将数据划分为不同的分类,具体包括下列步骤:
6.根据权利要求5所述的一种基于图数据库技术的增强rag检索能力的方法,其特征在于,获取用户输入的问题并转换为用户问题向量,从所述知识向量数据库中搜索出与用户问题向量最相关的向量,具体包括:
7.根据权利要求6所述的一种基于图数据库技术的增强rag检索能力的方法,其特征在于,判断所搜索出的与用户问题向量最相关的向量属于所述知识图数据库的哪个社区,具体包括:基于向量集合中的各个向量所对应的节点id,在所构建的图中查找向量集合中的各个向量所属的社区。
8.根据权利要求7所述的一种基于图数据库技术的增强rag检索能力的方法,其特征在于,收集向量集合中的各个向量所对应社区中的所有节点,将所有节点所对应的领域知识合并成为知识集合,将所述知识集合与用户输入的问题构建意图表达对大模型进行提问。
9.根据权利要求7所述的一种基于图数据库技术的增强rag检索能力的方法,其特征在于,在确定向量集合中的各个向量所属的社区后,在对应社区内执行图遍历,找出与向量集合中的各个向量相连的节点,将节点所对应的领域知识合并成为知识集合,将所述知识集合与用户输入的问题构建意图表达对大模型进行提问。