手把手教程:从零开始使用KAT工具玩转KaiwuDB,体验AI与KWDB结合的魅力
KaiwuDB(KWDB)是一款面向AIoT场景的开源分布式多模数据库,KAT(KaiwuDB Agent Tools)是基于MCP协议的智能助手,可简化KWDB的使用和运维。本文介绍了通过Docker容器快速部署KAT的完整流程:首先安装Docker和docker-compose环境,然后导入预先准备的KAT镜像(包括UI和服务端组件),最后配置并启动docker-compose.yml文件。部
手把手教程:从零开始使用KAT工具玩转KaiwuDB,体验AI与KWDB结合的魅力
- 首先在开始教程之前,需要简单介绍一下什么是KaiwuDB,什么是KAT。
什么是KaiwuDB
- KWDB 是由开放原子开源基金会孵化及运营的开源项目,是一款面向 AIoT 场景的分布式多模数据库产品,支持在同一实例同时建立时序库和关系库并融合处理多模数据,具备千万级设备接入、百万级数据秒级写入、亿级数据秒级读取等时序数据高效处理能力,具有稳定安全、高可用、易运维等特点。

什么是KAT
- KaiwuDB Agent Tools(简称 KAT)是一款基于 MCP(Model Context Protocol,模型上下文协议)协议的智能助手,专为 KaiwuDB 用户打造。它将自然语言处理与数据库深度结合,让用户通过简单的对话即可完成KaiwuDB的产品使用智能问答、自动化安装部署、自然语言查询分析、故障诊断和性能调优。通过借助LLM(LargeLanguageModel,大语言模型)智能提示能力、结合知识库和向量搜索技术,降低 KaiwuDB 的学习、使用和运维成本,提升数据交互效率,助力企业轻松驾驭数据洞察
- 这次我们将通过docker容器的方式进行部署KAT,至于KaiwuDB,我们先卖个关子,等会告诉大家如何部署。
docker环境的安装
- 进行docker容器的安装
- 这里因为docker现在已经无法直接通过网络安装,所以我们通过离线安装的方式安装docker环境
- 导入准备好的镜像
https://download.docker.com/linux/ubuntu/dists/jammy/pool/stable/amd64/

- 如图所示,把离线包传到服务器上,进行安装
dpkg -i *.deb
- 查看安装的docker版本
root@VM-12-13-ubuntu:/home/docker# docker -v
Docker version 27.1.2, build d01f264
- 至此docker容器环境安装完毕
docker-compose安装
- docker容器安装完毕后,开始安装docker-compose
https://github.com/docker/compose/tags离线下载docker-compose的包- 因为我是x86-64的环境,所以从中找到docker-compose-linux-x86_64进行下载
- 下载完毕后上传到服务器,然后执行
sudo cp -f docker-compose-linux-x86_64 /usr/local/bin/docker-compose - 然后授予可执行权限,
sudo chmod +x /usr/local/bin/docker-compose - 查看docker-compose版本
root@VM-12-13-ubuntu:/# sudo docker-compose -v
Docker Compose version v2.29.2
使用容器快速部署KAT
- 首先需要导入实现准备的好的镜像容器

root@VM-12-13-ubuntu:/data/docker/kwdb# docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
devops.inspur.com:80/isg/kat/repo/local_repo/kat-ui/release/kat-ui-x86_64 v3.0.0 2df159b64d2a 7 weeks ago 207MB
devops.inspur.com:80/isg/kat/repo/local_repo/kat-server/release/kat-server-x86_64 v3.0.0 2e39687bf08b 2 months ago 571MB

- 然后创建创建 docker-compose.yml 配置文件,以下是官方推荐配置
version: "3.9"
services:
kat-server:
image: "$kat-server"
container_name: kat-server
restart: unless-stopped
environment:
LOG_LEVEL: "your_log_level"
DATABASE_URL: "your_kat_database_url"
LANGCHAIN_TRACING: "false"
KNOWLEDGE_API_URL: "your_knowledge_api_url"
network_mode: host
volumes:
- /your/local/path/katserver.db:/app/katserver.db
- /your/local/path/katserver.db-wal:/app/katserver.db-wal
- /your/local/path/katserver.db-shm:/app/katserver.db-shm
- /your/local/path/certs:/app/certs
- /your/local/path/kwdb-mcp-server:/user/local/bin/kwdb-mcp-server # (可选)挂载 KWDB MCP Server 二进制安装包。
command: ["/app/entrypoint.sh"]
kat-ui:
image: "$kat-ui"
container_name: kat-ui
restart: unless-stopped
network_mode: host
environment:
COPILOT_URL: http://localhost:8123
BACKEND_URL: http://localhost:8000
参数说明:
-
r.restart:KWDB Agent Server 的重启方式。
-
kat-server.environment:KWDB Agent Server 支持的环境变量。用户可根据实际环境按需修改以下环境变量。
-
LOG_LEVEL:日志级别,支持设置为 INFO、NOTSET、DEBUG、WARNING、ERROR 或 CRITICAL 选项。有关详细信息,参见 Python 官方文档。
-
DATABASE_URL:KAT 数据库的路径。推荐使用 sqlite+aiosqlite:////app/katserver.db。该参数取值,需要与 KAT 数据库文件挂载目录保持一致。
-
LANGCHAIN_TRACING:配置是否开启 LangChain 链路追踪。支持设置为 true 或 false。
-
KNOWLEDGE_API_URL:KaiwuDB 知识库的 API 地址,默认设置为 http://117.73.9.174:8001/proxy/knowledge。
-
kat-server.network_mode: 配置 KWDB Agent Server 的网络访问模式。支持设置为 host,表示 KWDB Agent Server 容器直接使用宿主机的网络配置,而无需创建独立的虚拟网络环境。
-
kat-server.volumns:挂载数据。用户可以按需挂载 KAT 数据库文件、KAT 共享内存文件、KAT WAL 日志文件、KAT 安全证书和 KWDB MCP Server 二进制安装包。
如需挂载 KAT 数据文件、KAT 共享内存文件、KAT WAL 日志文件,该参数取值需要与 KAT 数据库的路径保持一致。
如果 KWDB MCP Server 二进制安装包已内置于 KWDB Agent Server 镜像,则无需挂载。
-
kat-server.command:容器启动后,默认执行的命令。
-
kat-ui.image:KWDB Agent UI 的镜像名称。
-
kat-ui.container_name:自定义 KWDB Agent UI 的容器名称。
-
kat-ui.restart:KWDB Agent UI 的重启方式。
-
kat-ui.network_mode: 配置 KWDB Agent UI 的网络访问模式。该参数取值需要与 kat-server.network_mode 参数的取值保持一致。
-
kat-ui.environment:KWDB Agent UI 支持的环境变量。用户可根据实际环境按需修改以下环境变量。
-
COPILOT_URL:KWDB Agent Server Copilot 服务的地址。
-
BACKEND_URL:KWDB Agent Server API 服务的地址。
这里我需要修改docker-compose的配置
version: "3.9"
services:
kat-server:
image: "devops.inspur.com:80/isg/kat/repo/local_repo/kat-server/release/kat-server-x86_64:v3.0.0"
container_name: kat-server
restart: unless-stopped
environment:
LOG_LEVEL: "INFO"
DATABASE_URL: "sqlite+aiosqlite:////app/katserver.db"
LANGCHAIN_TRACING: "false"
KNOWLEDGE_API_URL: "http://117.73.9.174:8001/proxy/knowledge"
network_mode: host
volumes:
- /data/docker/kwdb/kat/katserver.db:/app/katserver.db
- /data/docker/kwdb/kat/katserver.db-wal:/app/katserver.db-wal
- /data/docker/kwdb/kat/katserver.db-shm:/app/katserver.db-shm
command: ["/app/entrypoint.sh"]
kat-ui:
image: "devops.inspur.com:80/isg/kat/repo/local_repo/kat-ui/release/kat-ui-x86_64:v3.0.0"
container_name: kat-ui
restart: unless-stopped
network_mode: host
environment:
COPILOT_URL: http://localhost:8123
BACKEND_URL: http://localhost:8000
- 然后启动KWDB容器
docker-compose up -d
root@VM-12-13-ubuntu:/data/docker/kwdb/kat# docker-compose up -d
Creating kat-ui ... done
Creating kat-server ... done
root@VM-12-13-ubuntu:/data/docker/kwdb/kat#

- 可以看到KAT已经成功启动了
开始使用KAT
-
首先打开KAT的网页,IP:3000

-
通过之前注册好的KaiwuDB 账号登录

-
然后先去设置中配置大模型,这里我使用的是deepseek的v3.2模型

-
测试模型是否联通,可以看到已经可以正常使用KAT了

准备安装KaiwuDB
-
没错,现在要开始安装KaiwuDB,在KAT启动完成,模型加载完毕后,准备安装KaiwuDB。现在就将揭秘如何安装KaiwuDB。
-
KAT默认已经集成了kwdb-mcp-server,所以因此不需要额外再去配置新的mcp。我们就通过这个kwdb-mcp-server去安装KaiwuDB
-
实现先把安装包解压到服务器上,然后在安装之前我们要先设置数据库链接信息

-
这里需要注意数据库url必填,然后主机是你服务器的ip,端口是你ssh的端口,用户名密码也是你服务器的用户名密码,并不是数据库的
-
接着准备好KaiwuDB的镜像,然后导入

-
现在开始通过KAT安装KaiwuDB
-
这里我输入的指令是
请帮我部署一套开源版本容器部署的单机非安全模式的 kwdb,安装包在 /data/docker/kwdb/kwdb_install路径下,镜像是kwdb-x86_64:3.0.0,版本为3.0.0,模式为单机非安全模式,本地节点IP为{你的服务器ip}
免密登录已配置完成,安装前和我确认配置信息
-
然后KAT就开始帮我部署了,这里你也可以改为裸机部署,集群部署,安全模式,这样一来安装KaiwuDB可以说是非常的方便了

-
通过自然语言进行部署KWDB真的非常方便,可以看到会分析配置

-
然后按顺序调用mcp调用工具来部署

-
继续部署


-
这时候就部署完毕了

-
可以看到整个过程还是非常详细的,能够清楚理解每一步在做什么,能够知道整个部署的过程

-
然后去容器中看一下运行状态

-
可以看到最新版的KaiwuDB 3.0.0已经成功安装了
使用KDC联接KWDB
-
什么是KDC,KaiwuDB Developer Center(KaiwuDB 开发者中心),是KaiwuDB官方的可视化连接管理工具,这次主要是用来直观展示KAT操作KWDB中数据库的变化情况
-
首先需要下载KDC,可以在官方gitee仓库中找到下载地址,
https://gitee.com/kwdb/kwdb/releases
-
下载完毕后解压

-
双击打开可视化工具,配置新连接

-
配上刚才安装的KWDB地址,点击测试连接可以看到

,然后点击保存
-
这样我们KDC联接KWDB就大功告成
开始使用KAT工具玩转KaiwuDB
- 我们将通过自然语言进行全部sql操作,包括建库,增删改查,等各种数据库操作
- 这里我输入自然语言进行建库
帮我在ip:port的KWDB中的defaultdb库中的public模式中,创建用户表,包括id,用户姓名,年龄,性别,邮件,电话,创建时间,所属部门id,以及部门表,包括id,部门名称,创建时间,不需要询问我信息直接进行创建
-
然后KAT会先去获取相关的知识,然后再获取足够知识后就可以开始创建库表了

-
最终KAT成功创建了两张表

-
然后我们用KDC来查看创建的两张表,可以看到确实成功创建了两张表,与描述的完全一致,通过自然语言创建可以说是非常的方便了
-

-
接着我们用自然语言来添加一些数据
帮我在t_user表与t_department表中添加一些测试数据
- 不仅新增了数据还自动帮我修改了,表结构不恰当的地方,非常智能


-
然后去表中看一下数据

-
然后通过自然语言进行增删改查
查找员工数量
帮我查询一下t_user表中的员工数量

-
可以看到直接就查出来了

-
可以获取查询的sql
SELECT COUNT(*) AS 员工数量 FROM t_user

查找员工所属部门,关联查询
帮我查询一下t_user表中用户张三所属的部门,直接进行查询

SELECT u.username, u.age, u.gender, u.email, u.phone, d.department_name FROM t_user u JOIN t_department d ON u.department_id = d.id WHERE u.username = '张三'

新增员工
帮我在t_user表新增一个员工,要求是研发部的,直接进行执行

- 执行的sql信息
INSERT INTO t_user (username, age, gender, email, phone, department_id)
VALUES ('研发员工', 30, 'M', 'rd_employee@example.com', '13800138016', 6)

- 去库中看一下数据,可以看到新增了一个员工

修改员工信息
帮我在t_user表修改张三的名字为张四,然后部门改到研发部,直接执行

- 执行sql信息
UPDATE t_user
SET username = '张四', department_id = 6
WHERE username = '张三'

- 查看库中数据,可以看到成功修改了张三的名字与部门

删除员工
帮我在t_user表中删除张四这个用户,直接执行

- 执行的sql信息
DELETE FROM t_user WHERE username = '张四'

-
查看库中数据,可以看到张四已经不存在了

-
通过上述的案例,可以说完全掌握了自然语言操作数据库的核心技术了。
KAT的技术分析
- 根据我从使用上的经验来看,KAT充分运用了大模型的自然语言理解能力,记忆rag增强搜索技术能够关联KWDB相关的各种文档与操作记录,以及MCP的工具调用能力,以及灵活的配置,可以随意切换大模型,调用各种mcp工具,以及充分的prompt工程能力,直接赋予KAT能够完整的对数据库的理解与操作能力,整个KAT大模型工具可以说是非常的便利与完善了。从中我们可以充分体验到AI与KWDB结合的魅力所在。
总结
整个过程我们可以看到:
- KAT如何将AI能力无缝注入KaiwuDB内核——无需导出数据、不依赖外部服务,模型训练、推理、部署全程在数据库内部闭环完成;
- 数据与AI的化学反应——利用KWDB强大引擎与检索能力,KAT让预测更准、诊断更快、洞察更深;
- 开发者体验的跃迁——一条SQL + 一句自然语言,即可调用AI模型;
下一步,我们将继续探索:
🔹 基于KAT构建专属行业AI模型库(电力负荷预测、IoT设备健康度评分)
更多推荐



所有评论(0)