近年来,人工智能领域发展迅猛,尤其是大型语言模型(LLM)的突破性进展,正在深刻改变各行各业。DeepSeek AI 作为新兴的人工智能技术代表,凭借其卓越性能和成本优势迅速崭露头角,为数据库管理等领域带来了新的可能性。
RAG技术
以DeepSeek为代表的基于大型语言模型(LLM)生成式AI在通用领域表现不俗,但在处理特定领域的专业查询或最新信息时存在局限,这些模型采用预训练方法,依赖于固定时间前的训练数据集,导致它们难以提供最新的信息。此外,尽管LLM能够生成语法正确且流畅的文本,但有时它们可能产生幻觉,生成与事实不符或无意义的信息。为了解决LLM在领域专业知识的缺陷,RAG框架应运而生。
检索增强生成(Retrieval-Augmented Generation,RAG)是一种结合了检索式和生成式方法的 AI 框架。它通过在生成响应之前引用外部知识库,来提高大型语言模型(LLM)输出的准确性和相关性。RAG 的工作流程主要包括两个阶段:检索和生成。检索阶段利用强大的搜索算法查询外部数据,例如文档、知识库和数据库。然后,将检索到的相关信息进行预处理,并无缝地融入预训练的 LLM 中,从而增强 LLM 的上下文理解能力,使其能够生成更精确的响应。RAG 的优势在于能够访问最新的信息并确保事实的准确性。
崖山智能问答系统:
DeepSeek + RAG优化
崖山数据库(YashanDB)引入检索增强生成(RAG)框架,将DeepSeek的语言能力与外部知识库结合,构建崖山智能问答系统,为DBA提供精准高效的决策支持。基于DeepSeek + RAG 搭建的崖山智能问答系统可以为 DBA 提供以下方面的赋能:
- 快速找到关于数据库配置、命令和错误消息的技术问题的答案。
- 通过访问相关的文档和知识库来排除常见的数据库问题。
- 根据特定的数据库模式和工作负载获得优化查询性能的建议。
- 通过自然语言解释理解复杂的数据库概念和技术。
图:崖山智能问答系统登录界面
图:崖山智能问答系统问答示例
其中,崖山智能问答系统的知识库由崖山相关资料和其向量化后的数据构建而成,向量化数据存储于向量数据库中,专用于高效执行问题内容的搜索与匹配。文档资料涵盖以下内容:
- 崖山官方文档,包括YashanDB 监控运维工具(YashanDB Cloud Manager,YCM)、崖山迁移平台(YashanDB Migration Platform,YMP)等所有文档
- 版本约束,版本特性和相关约束
- 外部网站崖山相关文章、崖山问答
- 自建案例知识库,崖山专家问题处理案例
- 崖山培训材料,白皮书等
图:崖山智能问答系统架构
- 用户输入:用户提交查询或请求。
- 输入/输出:系统接收用户输入,并准备返回最终的响应。
- 防护栏(Guardrail):在处理用户输入之前,系统设有防护措施以确保安全性和合规性。
- 用户认证:系统验证用户身份,确保只有授权用户可以访问和使用系统。
- 检索步骤:系统执行检索步骤,这可能包括查询数据库、搜索文档等。
- 存储:检索到的信息被存储起来,以便后续处理。
- 文档嵌入(Document Embedding):系统将检索到的文档转换为嵌入向量,以便更好地理解和处理。
- 文档历史存储(Document History Storage):系统存储与用户查询相关的文档历史记录,以提供上下文信息。
- 存储(Storage):系统存储各种数据,包括用户输入、检索结果、嵌入向量等。
- 最终响应排名(Final Retrieval Ranking):系统根据检索到的信息对响应进行排名,以确定最终输出。
- 最终生成器回复(Final Generator Response):系统生成最终的回应,准备发送给用户。
- 输出:系统输出最终的回应,满足用户的查询或请求。
值得一提的是,为解决传统单一知识库架构的局限性、检索质量及效率难题,YashanDB智能问答系统知识库进行了一系列的RAG系统优化,通过引入了基于大模型的语义解析技术、重排序、查询转换实现高效的知识检索和精准的回答能力。
- 解耦知识库,问答分流
随着企业业务规模的持续扩张与数据量增长,传统单一知识库架构的局限性正日益凸显——召回率的下降与信息冗余噪音的累积,已成为制约企业服务效率的关键瓶颈。为突破这一限制,我们引入了基于大模型的语义解析技术,通过深度语义理解对用户提问进行意图识别与语义分类。通过实时分析查询上下文,将复杂问题精准映射至对应主题的知识图谱节点,实现跨库资源的智能调度。
- 结果重排
在RAG系统中,检索至关重要。为高效检索,通常采用向量搜索,即将文本转为向量,比较与查询向量的相似性。然而,向量搜索易丢失信息,导致最相关文档可能遗漏关键信息,尤其当信息靠后时。若靠后信息对语言模型生成优质回应至关重要,增加返回文档数量看似可行,但受语言模型上下文窗口限制,过多文档会降低召回性能。
注:图片来源于Rerankers and Two-Stage Retrieval
增加向量数据库返回的文档数量虽能提高检索召回率,但不加选择地传递给语言模型会影响其性能。因此,需对检索到的文档进行重排序,仅将最相关文档提供给语言模型,这便是重排序的必要性所在。
重排序模型(交叉编码器)可为查询和文档对打分,依查询相关性重排序文档。向量数据库步骤常包含双编码器或稀疏嵌入模型,形成两阶段检索系统。第一阶段模型(嵌入模型/检索器)从大数据集中检索出相关文档,第二阶段模型(重排序器)再对这些文档进行精确重排。
注:图片来源于Rerankers and Two-Stage Retrieval
- 查询变换
查询转换是一系列使用 LLM 作为推理引擎来修改用户输入以提高检索质量的技术。有不同的选择可以做到这一点。
如果查询很复杂,LLM可以将其分解为多个子查询。例如,如果你问:“哪个框架在 Github、Langchain 或 LlamaIndex 上有更多的星星?”,并且我们不太可能在语料库中的某些文本中找到直接比较,因此将这个问题分解为有意义的两个子查询以更简单、更具体的信息检索为前提:
——“Langchain 在 Github 上有多少颗星?”
— “LlamaIndex 在 Github 上有多少颗星?”
它们将并行执行,然后将检索到的上下文合并到一个提示中,供 LLM 合成初始查询的最终答案。
注:图片来源于Advanced RAG Techniques: Unlocking the Next Level, Tarun Singh
目前,崖山智能问答系统在多个场景中展现出出色的性能和广泛的应用价值。系统将技术人员文档查询时间缩短60%,显著提升了问题解决效率。系统对外发布后在个人版用户、技术交流群、YCP课程、入门课程及深大数据库课程中广泛应用。截至目前,系统累计使用量接近5000次,准确率在高频问答场景中超过85%,整体回答准确率维持在70%左右,充分反映了市场对系统的广泛需求。
YashanDB将持续深化AI融合,推出更智能的DBA工具,赋能用户驾驭AI技术、优化系统架构及驱动业务创新。