基于多模态与检索增强生成的数据库知识问答系统

0 引 言

在现代教育背景下,大语言模型(Large Language Model,LLM)作为一种新型辅助教学的工具,在现代的教学过程中具有研究价值[1]。从技术角度来看,LLM中的多模态技术[2]能够同时处理多种形式的数据,如文本、图像、音频等。这种多模态处理能力不仅能使模型更全面地理解信息,还能通过融合不同来源的数据,提供更加细致、准确的输出。另一方面,检索增强生成(Retrieval Augmented Generation,RAG)[3]通过结合LLM的生成能力和外部知识库的检索功能,进一步提升了模型的表现。LLM在面对复杂或细节要求高的问题时,通常会因为训练数据的局限性而无法提供准确的答案,而RAG技术通过实时从知识库中检索相关的上下文,使模型生成的回复更加精准和可靠。

在教育环境中,LLM不仅需要具备广泛的知识基础,还要避免产生幻觉。因此,面向教育的LLM技术逐渐成为了一个研究热点。通过将LLM结合到高校管理中,利用LLM处理一些低价值的活动,能够将行政人员从一些简单的交互中解放出来,如转发公开信息或回答校园中的常见问题[4]。来自西班牙穆尔西亚大学的团队为学校设计了一个聊天机器人,用于回答有关校园和学习领域的问题,它能够在91%的时间内回答超过38 000个查询,及时回答学生疑问的同时,也节省了当地高校的管理人员进行其他活动的时间[5]。2023年开源的一款AI Web应用,即是一款基于LLM的研究助理,允许研究人员直接与学术论文进行对话,并向论文提出问题[6]。

本文基于教育部—华为“智能基座”数据库虚拟教研室(中国人民大学)[7]的课程资源,研发了一款适用于教学背景下的基于多模态与检索增强生成两项技术的数据库课程问答系统。数据库作为信息存储和管理的关键工具,其教学对于培养学生的数据管理能力具有重要意义。通过构建不同模态的教育知识库,存储教学资源(课本、课程幻灯片、课程视频、习题等多模态资源),并为它们建立对应的向量数据库来存储各知识库对应的特征表示。学生在前端界面进行查询时,系统能够根据学生选择的教育知识库去检索对应向量数据库中的数据。最后将检索到的信息与学生的查询一起输入到LLM中,由LLM生成最终的回复。该系统方案探讨了LLM在数据库课程教学中的应用,充分利用了大模型技术的优势,旨在增强学生在课程学习中的互动性与趣味性。同时也一定程度减少了LLM幻觉的产生,提高学生与教师在教育和研究环境中,对大模型相关技术的信任[8]。

1 系统结构

本系统主要包括两个部分:基于多模态的原始知识构建教育知识库,以及基于教育知识库的RAG模型,其系统体系结构与技术框架如图1所示。

系统首先通过多模态的输入形式构建教育知识库。知识库的原始知识来源包括文本、幻灯片(PPT)、视频等多种模态。这些不同模态的内容通过一系列的多模态数据处理技术进行解析和编码,形成知识嵌入向量。这些特征表示被分别存储在独立的知识单元中,每个单元对应于特定的知识模块。这一过程中,系统对知识进行结构化处理,确保不同模态的内容可以通过统一的表示方式分别归类到单独的教育知识库中。

接下来,基于这些已构建的教育知识库,系统实现了一个基于RAG的生成模型。在学生提出问题后,系统首先通过检索模块分别从多种模态的教育知识库中选择与问题相关的知识单元。检索过程可以综合考虑多模态的输入及其相似度进行最佳匹配,在选定的知识单元基础上,系统进入增强步骤,利用这些知识单元进一步生成符合用户问题需求的答案。整个生成过程基于LLM,能够将检索到的知识与模型内在的语言生成能力相结合,从而提供高质量和精准的生成结果。

通过该体系架构,系统不仅可以高效地利用多模态数据,还能够动态地生成教育场景下的问题解答,确保输出的内容具备丰富的教育知识背景支持,并且具有高度的个性化和精准度。

2 系统各模块实现

本系统的一个重要的组成部分是针对不同模态的原始知识抽取特征:

其中E(Dt)是文本特征,E(Dv)是视频对应特征。文本特征E (Dt )通过自然语言处理技术提取,以捕捉文本中的语义信息。 视频特征,E (Dv )则通过先将视频模态,转换为具有时间戳的文本信息,再通过自然语言技术抽取其中的语义。

在检索过程中,系统使用相似度函数

其核心在于通过计算用户查询q和知识库中每个文档di 的特征相似度,来进行最优的匹配。该相似度计算基于常用的L 2距离进行度量,以提高检索精度和召回率。

语言模型输出概率表示为

2.1 构建文本到文本的教育知识库

考虑到教材中部分页的文本信息过长,尤其是在对长篇教材进行处理时,文本的长度可能导致在实际查询时,生成模型所需的token数量超过当前LLM的上下文长度限制,因此需要对书本中每页每次提取的token上限进行一定限制。对于超过最大token长度的长文本,我们须将其分段提取,并且为了保持文本的语义连贯性,在相邻的文本块之间保留了一部分重叠的文本内容。通过这种重叠机制[9],模型在生成答案时能够综合考虑上下文,减少信息丢失的可能性,从而确保在使用时能够理解文本的完整语义。

在成功提取文本信息后,系统使用ACGE编码模型将文本信息转换为特征表示E(Dt)。ACGE 是一种长度可变的向量化模型,能够根据输入文本的长度和复杂度动态调整输出的向量表示。ACGE的特征学习基于MRL(Matryoshka Representation Learning)[10],这是一种层次化的表征学习技术,能够从文本的不同层次(如句子、段落、篇章等)中提取多层次特征。MRL通过逐层嵌套的方式,捕捉文本结构和语义层级上的复杂关系,使得ACGE生成的向量能够更好地反映文本的全局语义。

在获得文本的特征表示后,为了支持高效的检索操作,我们基于向量数据库 Faiss[11]为所有特征表示构建索引。Faiss是一种高效的相似性搜索库,适用于大规模的向量数据检索。系统分别为教材和PPT构建独立的向量数据库,并为每个向量特征附加了对应的元数据信息。这些元数据包括文件名称、页数以及文本内容,具体的索引结构格式为

“【书名】第【页数】页:【内容】”。

通过这样的索引结构,系统可以快速定位与查询相关的具体书页和内容,从而提高检索效率和准确性。

2.2 构建视频到文本的教育知识库

系统随后将经过清洗的文本按照语义相关性进行合并,形成连贯的段落。该过程将去除无关以及冗余信息,使视频中的内容更加简洁易懂。通过这种语义分块的方法,我们能够提取出更具信息量的段落,形成视频的原始知识表示Dv,从而有效应对视频清晰度较低时OCR无法发挥作用的情况。

在获得这些合并后的段落后,同样利用ACGE模型从这些语义段落中提取特征表示E (Dv )。基于这些特征,使用向量数据库构建视频内容的索引,确保系统能够快速进行检索和内容分析。该向量数据库与教材和PPT的知识库并行构建,并针对视频数据中的语音内容进行优化,进一步提升系统在多模态内容上的检索性能。

通过该流程,系统能够有效利用视频中的语音信息,在面对视频清晰度较低的情况下,弥补了OCR技术的不足,并确保了知识库构建的全面性与检索效率。这种结合ASR技术的多模态处理方法,不仅增强了系统对低质量视频内容的理解能力,还进一步丰富了视频知识的结构化表示,为后续教育场景下的应用提供了支持。

2.3 基于教育知识库的RAG大语言模型

本系统另一重要的组成部分是:基于所有已建成的向量数据库,针对学习者提出的查询检索出相似度最高的k个向量,同时基于预先设计的提示(Prompt)模板[14]来实现LLM的检索增强生成。

2.3.1向量数据库检索

如图2所示,当学生输入一条查询时,系统首先通过编码器ACGE将查询文本转换为对应的查询嵌入F(q)。ACGE 编码器能够根据查询内容提取特征,并生成高维向量表示,以便进行后续的检索。

接着,系统通过F (q )在构建好的向量数据库中进行检索。具体来说,系统通过最近邻算法(KNN)[15]计算F (q )与向量数据库中所有已存储向量之间的相似度。相似度的度量方法采用L2范数,随后根据该距离挑选出与查询最相似的前k个向量。这些相似向量对应于知识库中的相关文档或知识片段。

最终,系统返回这些最相似向量的索引,作为检索结果Mr。其中:

对应的知识可以进一步用于构建答案以及进行后续处理,以满足学生更具体的查询需求。

2.3.2基于教育知识库的提示增强

Prompt的设计能够在从向量数据库中检索出的索引与大语言模型(LLM)之间建立有效联系[16]。图3展示了本系统的提示增强框架。在这个框架下,系统通过将用户查询的结果与预先设计的Prompt模板相结合,引导LLM在教育知识库中进行有效的信息检索和整合。

当系统从向量数据库中检索出相关索引后,这些索引将被固定到Prompt模板中,以便传递给LLM,使LLM能够更加精准地理解用户查询的意图,并结合相关的知识提供准确和详尽的回复。

通过这种提示增强框架,检索到的知识能够有效指导LLM如何更好生成答复,避免模型在缺乏上下文信息时产生无关或不准确的内容,一定程度上减轻了模型的幻觉。其次,Prompt提供了对输出结果的格式化指导,确保LLM生成的最终回复符合用户需求,提高了系统的整体回答质量。

2.3.3 提示增强辅助LLM生成

通过动态更新内容和优化索引检索,系统更准确地生成文本并保持对话的稳定性与准确性。系统在每轮对话中都会更新索引检索结果,并根据查询与教育知识库中的内容进行匹配,如图4中的RAG模型算法所示。通过动态优化检索排名,系统能够挑选出最相关的内容,并结合LLM生成准确且连贯的回答。

此外,本系统采用了Moonshot AI( https://www.moonshot.cn/)提供的moonshot-v1-8k模型,并且为了在多轮对话中尽可能保留关键上下文信息,我们设计了上下文保留机制。系统会记录用户最近几轮的对话内容,并保存在历史记录中。每当用户发起新的查询时,模型不仅会根据当前查询执行新的索引检索,还会结合先前历史记录中的对话信息,形成完整的上下文输入。通过这种上下文的保留机制,系统能够在生成答案时充分考虑多轮对话的关联性,避免丢失重要的上下文信息。

3 系统功能演示

3.1 系统配置环境与参数设置

本系统采用B/S结构,使用Python开发,前端基于Streamlit框架进行开发。在ACGE文本编码模型中,文本向量化的维度为1 792;在检索过程中,设置的最近邻参数k=3。该系统部署在教育部虚拟教研室数据库系统概论课程(中国人民大学)的课程网站,可以访问的链接:http://chinadb.ruc.edu.cn/home。

3.2 演示步骤

本系统通过多模态信息的结合以及RAG技术,支持学生在学习过程中的多种任务,包括概念解释、习题生成与解答等,旨在提升学生的学习效率和个性化体验。

3.2.1概念解释

在进行概念解释时,模型不仅生成文字回复,还会附上相关的多模态参考信息供用户参考,这些多模态信息增强了学习的个性化体验。附带的视频信息能够直接定位到对应概念讲解开始的时间戳,帮助用户快速获取目标知识点。

3.2.2 习题生成

在进行习题生成时,模型能够根据学习者的需求生成相应的习题,并提供详细的解析。通过提供习题和解答,系统为学生提供了个性化的练习机会,使得他们能够根据自己的学习进度和需求进行自主训练。

3.2.3 习题解答

在习题解答过程中,模型能够根据学生的提问准确地提供问题的答案与解析。本系统同时提供了模型生成答案所参考的文本信息和视频信息,方便学生快速定位相关知识点。这种多模态信息的结合,不仅提高了问题解答的准确性,还为学习者提供了系统的学习路径,帮助他们更好地掌握数据库课程的系统内容。

4结 语

本问答系统以数据库教学为示例,结合多模态、RAG等技术,探讨了LLM在数据库课程教学中的一种应用模式。系统整合了教材、PPT和视频3类教学资源,并分别为其构建了外部知识库索引。学生在进行查询时,能够根据自身需求选择所需参考的知识库,再通过LLM生成精准的答案。本系统通过提供多模态、多维度的解答,旨在提升学习者的自主性与学习效率,同时确保LLM生成信息的可靠性。本系统仅是LLM在数据库课程上的一次初步探索,未来研究将进一步着眼于扩展系统功能,为任课教师与学生提供更多的智能工具,辅助教师教学,助力学生学习,持续优化教育管理和学生个性化的学习体验。

参考文献:

[1] 胡国强, 弋顺超. 大语言模型赋能高校实验教师数字化技能提升的机遇、挑战与应对[J]. 实验技术与管理, 2024(4): 1-8.

[4] 王学男, 李永智. 人工智能与教育变革[J]. 电化教育研究, 2024, 45(8): 13-21.

[5] Rouhiainen l. How AI and data could personalize higher education[Z]. Harvard Business Review, 2019.

[6] Patnaik M. ResearchGPT[EB/OL]. [2024-11-10]. https://github.com/mukulpatnaik/researchgpt.

[7] 杜小勇, 王晶. 开放社区模式运营数据库虚拟教研室的实践经验[J]. 实验室科学, 2024, 27(2): 16-20.返回搜狐,查看更多

发表评论

您的邮箱地址不会被公开。 必填项已用 * 标注

滚动至顶部