这篇文章主要是通过使用阿里云的百炼智能体与阿里云的serverless来实现数据库的操作
欢迎一起交流!!
首先,当然是选择自己需要的数据库啦
在阿里云控制台选择产品 - > 数据库 - > 数据管理DMS
进来的界面如下所示
第一次进来的时候是没有数据库的,需要你自己去创建,但是在这里是不能创建数据库的。接下来我们进入工作台 - > 数据库 RDS
进来之后点击创建实例
在这里有很多方案可以选择,因为主要演示如何链接,所有选择了按量计费的serverless
回到实例列表,点击你的实例名字
在这里可以看你数据库的基本信息,可以在这里设置你的数据库启动设置,比如是我这里就设置了弹性时间,在不用的时候会自动关闭数据库(省钱必备!!)再点击数据库管理
在数据库管理中点击创建数据库后会进入如下页面
注意关于这个数据库账号,建议创建一个新的账号,并且授予权限
####### 在DMS中心在实例列表中点击+号创建数据库
-----------------------------------------------------------------------------------------------------------分割线
恭喜你!
到这里就已经完成的数据库的准备工作
接下来打开百炼平台
应用管理 - > 创建应用,当然你可以直接选择在应用广场里面找到DMS Chat数据助手这个智能体,因为本片文章主要是如何连接数据库,所有我们直接复制DMS Chat数据助手智能体
复制之后如下图所示
在不进行配置的前提下,直接提问智能体,它会让你给出数据库的详细信息,如下所示(浪费你的tokens!!!)
在这里你就会发现好像配置不了你的信息,无论是在系统prompt中还是在用户prompt中加入数据库信息,都无法回答问题
所以接下来,我们就需要对MCP服务进行配置了!
重新写一个MCP?(那是不可能的!)
我们在页面中找到MCP
在MCP中找到DMS-数据库安全访问
一直往下翻找到官方给的MCP配置
MCP服务配置输入如下内容
{
"mcpServers": {
"dms-mcp-server": {
"command": "uvx",
"args": [
"alibabacloud-dms-mcp-server@latest"
],
"env": {
"ALIBABA_CLOUD_ACCESS_KEY_ID": "access_id",
"ALIBABA_CLOUD_ACCESS_KEY_SECRET": "access_key",
"ALIBABA_CLOUD_SECURITY_TOKEN": "optional sts_security_token , required when using STS Token"
}
}
}
}
或者是
"mcpServers": {
"dms-mcp-server": {
"command": "uvx",
"args": [
"alibabacloud-dms-mcp-server@latest"
],
"env": {
"ALIBABA_CLOUD_ACCESS_KEY_ID": "access_id",
"ALIBABA_CLOUD_ACCESS_KEY_SECRET": "access_key",
"ALIBABA_CLOUD_SECURITY_TOKEN": "sts_security_token optional, required when using STS Token",
"CONNECTION_STRING": "dbName@host:port"
}
}
}
}
你会发现它需要用户的accesskey,这个如何找呢?
我们回到阿里云的控制台,点击右上角,找到accesskey
选择使用RAM用户
得到账号的AccessKey之后回到百炼平台
选择+号创建MCP
选择使用脚本部署
选择uvx进行部署,填写配置,配置中写入我们得到的AccessKey以及我们的数据库账号、名字以及端口号
部署成功之后就可以在我们的MCP管理中看到我们刚刚创建的服务
回到应用管理,找到我们创建的应用
提示词如下:
你是一名数据库专家,专门负责在 `automobile_data` 数据库中执行 SQL 查询。你的工作基于已确认的 `databaseId`(通过 `searchDatabase` 获取)。
## 技能
### 技能 1:SQL 查询执行
- 根据提供的分析方案,调用 `generateSql` 生成 SQL 脚本。
- 使用 `executeScripts` 执行 SQL 查询。
- 如果查询出错,检查表结构和字段名,并自动修复错误(最多尝试 3 次)。
## 限制
- 所有查询必须基于已确认的 `databaseId`(通过 `searchDatabase` 获取)。
- 如果 SQL 查询出错,需检查表结构和字段名,并自动修复错误(最多尝试 3 次)。
```matlab
# 角色
你是一名数据库专家,专门负责在 `automobile_data` 数据库中执行 SQL 查询。你的工作基于已确认的 `databaseId`(通过 `searchDatabase` 获取)。
## 技能
### 技能 1:SQL 查询执行
- 根据提供的分析方案,调用 `generateSql` 生成 SQL 脚本。
- 使用 `executeScripts` 执行 SQL 查询。
- 如果查询出错,检查表结构和字段名,并自动修复错误(最多尝试 3 次)。
## 限制
- 所有查询必须基于已确认的 `databaseId`(通过 `searchDatabase` 获取)。
- 如果 SQL 查询出错,需检查表结构和字段名,并自动修复错误(最多尝试 3 次)。
选择刚刚创建的MCP服务
现在我们的数据库查询智能体已经完成了配置啦!接下来就可以随意操控数据库了!
写在最后
欢迎一起交流百炼智能体^^