本技术涉及人工智能,特别涉及一种基于aigc的问答系统及应用方法。
背景技术:
1、现有的智慧建筑问答系统包括关系数据库系统、向量数据库、知识图谱和llm微调等。
2、其中,第一种“关系数据库系统”实现方案,在每次更新时,都需要修改库表,流程较为繁琐,并且随着知识库的更新,代码也越发臃肿。
3、“向量数据库”和“知识图谱”的方案涉及很多数据的预处理;在智慧建筑运维的场景下,需要处理的数据包括建筑说明、设备说明、电路说明等,定制性也强,所以用这两种方式进行开发需要巨大成本,使用的插件也会很多,如果放在智慧建筑迭代期上线,以后的维护成本也是极高的。
4、至于“llm微调”方案,在数据量不足的情况下容易出现过拟合现象,就是泛化能力不足,另外还有严重的推理能力丧失等情况。
技术实现思路
1、本技术为解决上述技术问题,提供一种开发成本低、实现简单且知识库更新简单的基于aigc的问答系统及应用方法。
2、具体的,本技术提供一种基于aigc的问答系统,所述系统包括:
3、数据导入模块,用于接收文档数据,并对所述文档数据进行预设处理,以获取向量矩阵,将所述向量矩阵存储至向量数据库qdrant中。
4、问答机器人模块,用于获取输入语句,并将所述输入语句转换为向量,以在所述向量数据库qdrant中获取与该向量匹配的预设向量,进而获取所述输入语句的匹配答案。
5、在上述技术方案中,简化了传统问答系统的开发流程,减少了开发成本,并且所需要的代码量也较少;导入数据方便,可以满足与智慧建筑系统随时迭代的需求。
6、所述数据导入模块包括:
7、第一判断单元,用于将预设路径下的文档数据导入文件列表中,并判断所述文件列表是否为空,以根据判断结果转入分块单元或结束流程。
8、分块单元,用于当所述文件列表不为空时,采用text2vec对所述文档数据进行分块处理,以获取预设个文档分块。
9、第一获取单元,用于采用text2vec依次对各文档分块进行向量化处理,以获取向量矩阵。
10、存储单元,用于将所述向量矩阵存储至向量数据库qdrant中。
11、在上述技术方案中,数据导入模块中的各个单元能够有效地处理文档数据,将其转化为向量矩阵,并高效地存储在qdrant数据库中,从而为问答系统提供高效、准确和可靠的数据支持。
12、所述问答机器人模块至少包括:
13、转换单元,用于获取输入语句,并采用text2vec将所述输入语句转换为向量。
14、检索单元,用于检索所述向量数据库qdrant中是否存在与该向量匹配的预设向量。
15、调用单元,用于当所述向量数据库qdrant中存在预设向量时,调用向量数据库qdrant中与该预设向量对应的第一答案。
16、第二判断单元,用于判断所述llm中是否存在与预设向量对应的第二答案。
17、在上述技术方案中,问答机器人模块中的各个单元能够有效地转换、检索和调用向量数据库qdrant中的预设向量和答案,提供高效、准确且多样化的问题答案;用户能够获得满意的回答,并提升整体的用户体验。
18、所述问答机器人模块还包括:
19、第二获取单元,用于当向量数据库qdrant中存在预设向量,且所述llm中存在第二答案时,整合所述第一答案和第二答案,以获取匹配答案。
20、第三获取单元,用于当向量数据库qdrant中存在预设向量,且所述llm中不存在第二答案时,将所述预设向量和第一答案存储至所述llm中,并将所述第一答案作为匹配答案。
21、在上述技术方案中,第二获取单元和第三获取单元在向量数据库qdrant中存在预设向量的不同情况下,能够提供更全面和灵活的答案选项;这样用户有更多的选择,并能够获得满意的答案。这些设计能够提高系统的可用性和用户满意度。
22、所述问答机器人模块还包括:
23、转入单元,用于当所述向量数据库qdrant中不存在预设向量时,转入所述第二判断单元。
24、第四获取单元,用于当所述向量数据库qdrant中不存在预设向量且所述llm中存在第二答案时,将所述第二答案作为匹配答案。
25、报错单元,用于当所述向量数据库qdrant中不存在预设向量且所述llm中不存在第二答案时,进行报错。
26、在上述技术方案中,转入单元、第四获取单元和报错单元能够在不同情况下提供恰当的处理策略,保证系统的可用性和用户体验;转入单元和第四获取单元保证了当预设向量不可用时仍能提供有效答案,而报错单元则增强了系统的可靠性和稳定性。
27、所述问答机器人模块还包括:
28、设置单元,用于预先对llm进行实例化,并连接所述向量数据库qdrant和加载text2vec。
29、输出单元,用于输出匹配答案。
30、在上述技术方案中,设置单元和输出单元在问答机器人模块中发挥着关键的作用;设置单元确保系统环境准备充分和高效,而输出单元能够直接向用户提供匹配答案,满足用户对答案的获取和展示需求;这些设计能够提升系统的效率、可用性和用户满意度。
31、基于同一构思,本技术还提供一种基于aigc的问答系统的应用方法,应用于所述基于aigc的问答系统,所述应用方法包括以下步骤:
32、s100:接收文档数据,并对所述文档数据进行预设处理,以获取向量矩阵,并将所述向量矩阵存储至向量数据库qdrant中。
33、s200:获取输入语句,并将所述输入语句转换为向量。
34、s300:在所述向量数据库qdrant中获取与该向量匹配的预设向量,以获取所述输入语句的匹配答案。
35、在上述技术方案中,步骤s100可以使文档数据预处理并转换为向量矩阵,方便后续匹配查询。将向量矩阵存储在向量数据库qdrant中,方便快速的向量匹配,这种预处理方式具有高效性和可扩展性,并可以支持大规模数据的处理;步骤s200将输入语句转换为向量,方便后续的向量匹配,这种转换方式能够提高系统的数据处理效率和准确性;步骤s300在向量数据库qdrant中匹配相应的预设向量,获得输入语句的匹配答案,这种向量匹配技术能够在大规模数据集上高效地实现问答系统的基本功能,并且具有较高的匹配准确性。
36、所述步骤s100具体包括:
37、s101:将预设路径下的文档数据导入文件列表中,并判断所述文件列表是否为空,若不为空,则转入步骤s102;否则结束流程。
38、s102:采用text2vec对所述文档数据进行分块处理,以获取预设个文档分块。
39、s103:采用text2vec依次对各文档分块进行向量化处理,以获取向量矩阵,并将所述向量矩阵存储至向量数据库qdrant中。
40、在上述技术方案中,s101这个步骤确保了系统能够获取需要处理的文档数据,并进行后续处理,如果文件列表不为空,说明系统有可用的文档数据进行处理,否则可以及时结束流程,节省资源和时间;s102通过将文档数据进行分块处理,可以更加高效地处理大规模的文档数据,分块处理可以减小计算量,并且可以方便后续的向量化处理;s103这种向量化处理能够将文档数据转化为向量表示,方便后续的向量匹配,将向量矩阵存储在向量数据库qdrant中,能够高效地进行向量匹配查询和检索,这种存储方式具有高性能和可扩展性的优点。
41、所述步骤s300具体包括:
42、s301:检索所述向量数据库qdrant中是否存在与该向量匹配的预设向量,若存在,则调用向量数据库qdrant中与该预设向量对应的第一答案,并转入步骤s302;否则直接转入步骤s302。
43、s302:判断所述llm中是否存在与预设向量对应的第二答案。
44、若向量数据库qdrant中存在预设向量,且所述llm中存在第二答案时,整合所述第一答案和第二答案,以获取匹配答案并输出。
45、若向量数据库qdrant中存在预设向量,且所述llm中不存在第二答案时,将所述预设向量和第一答案存储至所述llm中,并将所述第一答案作为匹配答案并输出。
46、若向量数据库qdrant中不存在预设向量,且所述llm中存在第二答案时,将所述第二答案作为匹配答案并输出。
47、若向量数据库qdrant中不存在预设向量,且所述llm中不存在第二答案时,进行报错。
48、在上述技术方案中,s301能够提高问答系统的匹配查询效率;s302根据llm中所存储的数据,来判断是否存在第二答案。如果存在第二答案,则可以根据第二答案来整合第一答案,以获取一个更全面的匹配答案,这种答案整合机制能够增强问答系统的输出结果的准确性和全面性;如果向量数据库qdrant中不存在预设向量,或者在llm中不存在第二答案时,系统会进行报错处理,这种设计能够有效避免系统输出错误的答案,减少用户的误解和不满意情况。
49、在执行步骤s200之前,包括:预先对llm进行实例化,并连接向量数据库qdrant和加载text2vec。
50、在上述技术方案中,相关的预处理操作能够提前准备好系统所需的资源和工具,以提供高效和准确的问答功能。
51、与现有技术相比,本技术的有益效果在于:
52、本技术所述的基于aigc的问答系统包括数据导入模块和问答机器人模块,所述数据导入模块用于接收文档数据,并对所述文档数据进行预设处理,以获取向量矩阵,将所述向量矩阵存储至向量数据库qdrant中;所述问答机器人模块,用于获取输入语句,并将所述输入语句转换为向量,以在所述向量数据库qdrant中获取与该向量匹配的预设向量,进而获取所述输入语句的匹配答案。本技术简化了传统问答系统的开发流程,减少了开发成本,并且所需要的代码量也较少;导入数据方便,可以满足与智慧建筑系统随时迭代的需求。