【OceanBase Agent】告别繁琐手动分析,OceanBase Agent 助力轻松运维数据库!

简介

Hi​:wave:,OceanBase Agent 是一款个人(非官方)基于学习目的开发的面向 OceanBase 的 AI 产品,主要目的是借助大模型的能力,简化日常运维场景的繁琐操作,令 DBA 同学无需写一行代码仅靠编写 SQL 就能构建自己的 Agent。

具备以下的能力:

  • 面向数据库设计的 Chatbot,相比市面上通用型 Chatbot 更适合数据库;
  • 内置 70+ 使用 SQL 作为 Tool,可以直接调用;
  • 支持自定义增加 SQL 作为 Tool;
  • 支持编写 Playbook 以调用多个 Tool 完成复杂的运维任务;
  • 支持 MCP 协议以扩展外部 Tool。

项目地址:https://github.com/davidzhangbj/agent
是基于上游项目(专注PG): https://github.com/xataio/agent 修改而来。

概念介绍

Tools:配置常用 SQL 作为工具

内置了 72 个常用工具 SQL,可以添加自己的 SQL,使用的时候点击运行按钮可一键执行并结合大模型分析返回结果。

Playbooks:Agent 任务流定义

日常任务通常不是查询单一 SQL 可以解决的,Playbook 允许你以自然语言的方式描述整个任务过程,大模型可根据工作流描述调用相应的 Tool 进行分析,并决定任务走向。

内置的 Playbook 的示例,在此示例中我使用了较为严谨的方式,将每个步骤需要调用的工具名称均一一写明,以提高成功率。

实际上显式写出工具名称并非必要,大模型会根据任务需要和工具描述选择合适的工具,但由于大模型自身能力的限制可能会出现选错的情况,因此是否详细写明可基于复杂度和模型能力自行评估。

Chat:对话

类似常见的 SQL Client,对话的范围可以选择某个 Database,因此可以很方便的支持添加多个数据库并互相隔离。

支持在 Chat 中通过自然语言运行 tool, 和在 Tools 界面点击运行的效果是相同的,比如输入“运行 tool getClusterCharsets”。

MCP:通过 MCP 添加额外的工具

支持添加 MCP Server(仅支持 SSE),以扩展更多的 Tool。MCP Tool 和 SQL Tool 是平级的,因此大模型在执行任务时将同等对待,选择合适的 Tool 执行。

这个工具解决了什么问题:thinking: :question:

  1. 可同时管理多个数据库,相比常规 Chatbot 更贴合数据库使用习惯 :tada:
  2. 那我自己写一个 web 项目 :computer: 将这些 SQL 存储起来 ,调用后结果展示在页面不是一样可以达到效果吗?在大部分情况下,每个 SQL 的返回字段名称和数量都是不同的 ,web 页面的表格一般是固定的,无法很好地展示。大模型擅长处理文本,可以帮你总结 :writing_hand:,还可以动态展示 :sparkles:
  3. 很多时候我们不仅仅是要结果,还希望有初步的分析 :face_with_monocle:,SQL执行完之后,将你的问题告诉大模型 :speech_balloon:,大模型就可以直接给你回答啦 :bulb:

那么这个工具在哪里可以得到呢 :mag_right:

直接执行下面的 docker 命令就可以了

docker run -d \
  --name ob-agent \
  --env CUSTOM_BASE_URL='' \
  --env CUSTOM_API_KEY='' \
  --env CUSTOM_CHAT_MODEL_NAME='' \
  -p 8000:8000 \
  davidzhangbj/oceanbaseagent:v0.2

其中的 CUSTOM_BASE_URL、CUSTOM_API_KEY、CUSTOM_CHAT_MODEL_NAME 必须配置为自己用的大模型 API 地址、KEY 和模型名称。

对于无法连接 docker 镜像的小伙伴还准备了设置 docker 代理的方法,详见国内加速镜像设置

启动后的访问方式:http://ip:8000,可以在 docker 启动命令中调整默认端口,如-p 9000:8000

注意:启动之后要先配置 OceanBase 的连接:link:哦;最好以系统租户的 root 用户登录,因为很多 SQL 只有在这个租户下才可以执行

对源码感兴趣的可以访问 https://github.com/davidzhangbj/agent,oceanbase 分支

10 个赞

厉害

10 个赞

:100: :100: :100:

11 个赞

:ox::ox::ox::ox:

11 个赞

厉害

12 个赞

想办法自己尝试一下

12 个赞

有实验环境软件包链接吗

12 个赞

厉害了

11 个赞

果然是高手

12 个赞

前排点赞

10 个赞

:+1: :+1: :+1:

10 个赞

:+1::+1::+1:

4 个赞

niuniuniu

4 个赞

学习了

4 个赞

感谢分享

4 个赞

点赞

3 个赞

试用一下

4 个赞

试用起来

3 个赞

看来常规的运维基本可以通过MCP与自然语言结合处理了

3 个赞

还没研究agent方面的知识,猜测应该很有用处

1 个赞