导读 ChatDBA 是由上海爱可生开发的一款数据库运维领域的智能辅助系统,通过对话交互,提供数据库故障诊断、专业知识学习、SQL 生成和优化等功能,旨在提升 DBA 工作效率。本文将介绍 ChatDBA 是如何利用大语言模型实现其数据库故障诊断智能助手功能的。
1. 背景介绍
2. ChatDBA 架构
3. 挑战与解决思路
4. 未来展望
分享嘉宾|李剑楠 上海爱可生信息技术股份有限公司 高级研发工程师
编辑整理|程思琪
内容校对|李瑶
出品社区|DataFun
背景介绍
输出内容泛泛,逻辑性不强:大模型生成的回答往往过于基础,缺乏实际指导意义。 故障诊断场景复杂:难以在多轮对话中保证排查逻辑的连贯性。 模型倾向问题:大模型倾向基于已有的全局信息进行推测,这与DBA 的排查思路存在差异,DBA 往往是基于现象多次检索,逐渐排查定位问题。
技术架构
环境输入处理:处理所有输入信息,并进行文本向量化、三元组抽取等操作,为模型提供输入。 模型规划:利用决策树、思维链、反思行动等结构,保证模型处理问题的逻辑性和连贯性。 工具使用:调用检索 API、监控工具接口等,增强生成内容的准确性和可靠性。
挑战与解决思路
1. 故障排查逻辑树
2. 信息检索
多路召回:结合关键词和向量检索,提升召回率。
查询重写/扩充:将用户查询细化为不同主题的子问题,扩大召回数量。
查询重写 查询扩充
多模态检索:针对不同结构数据(文本、图片、表格)进行多模态、多向量的检索。
垂直领域增强:构建特定场景的数据集,增强模型表征能力。当前行业内做向量索引和表征学习往往是在不同阶段执行,导致模型在向量空间中检索得到的结果准确率很高,但是实际应用不尽如人意,为此有部分研究者开始研究向量索引和表征学习的联合计算,解决向量检索和表征学习目标割裂的问题。
图 RAG:利用知识图谱建模实体关系,进行多跳检索。这类方法更适用于用户提问问题明确,且已具备高精度的行业知识图谱后。另外,多跳检索在大数据量的应用场景中,用户的等待时间会逐渐变得不可接受,如何进行检索调优是重点关注方向。
3. 文档处理
格式化:将工单内容格式化为故障现象、原因、排查方法和解决方案四部分。
查询重写:结合对话历史,重写查询为梳理故障现象的表达,在故障现象库中进行向量检索,从召回的工单中提取排查方法和解决方案,输送到 LLM 中作为 prompt 的一部分。为了提升模型回答的效果,我们采用了分治的思想,让模型同步分析多个文档中,每篇工单对当前问题起到了什么帮助,如果有帮助,就形成当前树结构的一个补丁,最后通过合并补丁,实现完整的排查逻辑树的生成。
首先是对工单内容做清洗,因为在一个工单中,有很多内容是与故障本身无关的,对于模型来说,就是噪音数据。 第二部分就是内容的分类和格式化。 最后我们会对格式化之后的内容打分。
4. 记忆问题
5. 意图识别
6. 可观测性和评估
7. 时间成本
8. ChatDBA 的核心特性
关键信息提取模块:从不同类型(监控图、图表、长日志、工单等)输入中提取与故障相关的信息。
SQL 优化和生成:利用 NL2SQL 技术处理 SQL 相关问题。
知识学习模块:帮助 DBA 快速学习和迭代进步。
未来展望
多模态处理:处理工单系统中的图片、日志等非文本信息,进一步提升 ChatDBA 的信息处理能力。
实时监控组件接入:支持自动化巡检、分析报表等功能,帮助 DBA 更好地掌握数据库运行状态。
知识图谱构建:构建更全面、更精准的数据库知识图谱,为 ChatDBA 提供更强大的知识支撑。
个性化推荐:根据用户历史行为和偏好,为 DBA 推荐相关学习资料和故障排查方案。
分享嘉宾
INTRODUCTION
李剑楠
上海爱可生信息技术股份有限公司
高级研发工程师
高级研发工程师,作为核心研发参与向量数据库和 RAG 项目的开发。在向量检索、RAG 相关方向发表论文两篇、专利五篇。
什么是 ChatDBA?
扫描下方的微信扫描小程序码,进行在线咨询预约:
此外,您也可以直接联系我们的商业支持团队获取更多信息,联系方式如下:
400-820-6580 / 13916131869 / 18930110869