没耐心的其实可以直接跳到结论去
https://www.yuque.com/eosphoros/dbgpt-docs/nh6zd314859l38qa
git clone https://github.com/eosphoros-ai/DB-GPT.git
cd DB-GPTWSL2下哈

并不小,400M呢
依赖安装:
uv sync --all-packages --frozen \
--extra "base" \
--extra "proxy_openai" \
--extra "rag" \
--extra "storage_chromadb" \
--extra "dbgpts"
它这个命令很爽啊,直接给我指定了python的版本
稍后看一下它怎么高效利用的uv

然后装个TOML的插件

这样文件就能很好的看到了
https://iyyh.net/archives/5c4845e8-6e1c-46af-940e-1dd0c4684a26
然后我们参考官方的deepseek文档
uv run dbgpt start webserver --config configs/dbgpt-proxy-deepseek.toml报错缺少包:
uv pip install sentence_transformers
实际上就是嵌入模型的那个事情
我靠,几个G就没了,
好在。。。。我这次是E盘

然后是第二个报错
找不到嵌入模型
不耐烦了,干脆用了豆包的嵌入模型,线上的

OK
启动成功
最简单的聊天测试:

OK
没问题
因为数据库相对来说比较麻烦
所以,我使用R1给我生成了一个excel
我正在测试一个text2sql的应用,请帮我生成一些简单的excel的测试数据,并拟定2-3个问题
以下是为text2sql测试设计的简单Excel测试数据及对应问题:
---
### 测试数据表:`员工信息表`
| 员工ID | 姓名 | 部门 | 职位 | 入职日期 | 工资 |
|--------|--------|--------|------------|------------|-------|
| 101 | 张三 | 技术部 | 工程师 | 2020-03-15 | 12000 |
| 102 | 李四 | 市场部 | 市场经理 | 2019-07-01 | 15000 |
| 103 | 王五 | 财务部 | 会计 | 2021-11-22 | 9000 |
| 104 | 赵六 | 技术部 | 项目经理 | 2022-05-10 | 18000 |
| 105 | 陈七 | 市场部 | 市场专员 | 2023-01-30 | 8000 |
---
### 自然语言问题 & 预期SQL语句
#### 问题1
**问题**
"列出技术部所有员工的姓名和工资,按工资从高到低排序。"
**预期SQL**
```sql
SELECT 姓名, 工资
FROM 员工信息表
WHERE 部门 = '技术部'
ORDER BY 工资 DESC;
```
---
#### 问题2
**问题**
"统计每个部门的平均工资是多少?"
**预期SQL**
```sql
SELECT 部门, AVG(工资) AS 平均工资
FROM 员工信息表
GROUP BY 部门;
```
---
#### 问题3
**问题**
"2020年以后入职的员工中,工资超过10000的有哪些人?显示他们的姓名和职位。"
**预期SQL**
```sql
SELECT 姓名, 职位
FROM 员工信息表
WHERE 入职日期 >= '2020-01-01'
AND 工资 > 10000;
```
---
### 测试数据说明
1. **字段类型覆盖**:包含数字、字符串、日期等数据类型。
2. **场景覆盖**:支持`WHERE`过滤、`ORDER BY`排序、`GROUP BY`聚合、多条件组合等常见SQL操作。
3. **扩展性建议**:可额外添加空值(如某员工工资为空)或重复值(如相同部门不同职位)测试边界情况。
如果需要更复杂的数据(如多表关联),请告诉我具体需求!
OK,那根据你刚才拟定的模拟数据和模拟问题,同时你也需要给我确定的答案
好的!以下是基于我提供的**模拟数据**和**拟定的问题**生成的**确定答案**(即执行对应SQL后的预期结果):
---
### 问题1答案
**问题**:列出技术部所有员工的姓名和工资,按工资从高到低排序。
**预期结果表**:
| 姓名 | 工资 |
|--------|-------|
| 赵六 | 18000 |
| 张三 | 12000 |
---
### 问题2答案
**问题**:统计每个部门的平均工资是多少?
**预期结果表**:
| 部门 | 平均工资 |
|--------|----------|
| 技术部 | 15000 |
| 市场部 | 11500 |
| 财务部 | 9000 |
---
### 问题3答案
**问题**:2020年以后入职的员工中,工资超过10000的有哪些人?显示他们的姓名和职位。
**预期结果表**:
| 姓名 | 职位 |
|--------|----------|
| 张三 | 工程师 |
| 赵六 | 项目经理 |
---
### 答案验证说明
1. **问题1**:技术部员工为`赵六`和`张三`,工资分别为`18000`和`12000`,按降序排列。
2. **问题2**:
- 技术部平均工资 = `(12000 + 18000) / 2 = 15000`
- 市场部平均工资 = `(15000 + 8000) / 2 = 11500`
- 财务部仅`王五`一人,平均工资为`9000`。
3. **问题3**:2020年后入职(入职日期≥`2020-01-01`)且工资>10000的员工为`张三`(2020年入职)、`赵六`(2022年入职)。
如果需要其他验证或更复杂的测试场景,请随时告诉我!

上传之后,后台其实就已经开始自动解析了

也给出了分析计划
1、第一个测试问题:


一致
2、第二个测试问题:


OK,正确
3、第三个问题:


笑死。。。
不知道为啥。。。多轮对话不太行,而且消耗的TOKENS数量相当惊人

正确答案应该是这样的
=======================
暂时小结:
竟然3个简单问题,只对了2个。。。当然这可能和模型以及使用方式有关

我清楚了记忆、并且温度设置为0

正确了
看来是问答历史和温度对这事情有影响。。。
这种数据问答,多轮对话未必是个好事儿啊。。。
==================

啊。。
它的知识库就真的是一个知识库。。。



我勒个丢
真的就是一个独立的知识库
=========================

然后把昨天vanna的那个sqlite库拷贝过去



后台其实有报错


它这个似乎不会直接给数据
==========================
所以如果你需要像昨天vanna那样

需要选择的其实是Chat Dashboard这个功能

=================================
然后所谓的ChatDATA呢
就是不带可视化的

嗯
最畅销的十张专辑
==========================================

所以它自带的六个应用分别是:
1、Chat Excel:上传一张Excel,然后与之对话,测试下来多轮对话有问题,另外温度最好设低
2、Chat Dashborad:其实就是带数据可视化的Chat Data
3、Chat Data:实实在在的与数据库对话,直接执行出来数据的一个应用
4、Chat DB:与数据库元数据做对话的应用,只给你SQL,它不执行
5、Chat Normal:普通的对话
6、Chat Knowledge:哎,就是普通的知识库
==========================================
说实话我略微有点无语。。。
这个东西的套路和vanna那边完全不一样,而是使用上,其实比我想象的要傻瓜化很多,很中国人思维的一个产品级别的东西,令我感到我非常意外。。。


社区呢,还有14个插件
但感觉和DB关系不大
===================================
关于微调:
https://www.yuque.com/eosphoros/dbgpt-docs/cb9sgk2xsuyb35ol

有支持,但UI上没有任何的支持了
======================================
关于Agent的开发

纯代码的了,背后好像是Autogpt

剩下这些全部需要走代码
行吧
========================
可视化agent的编排:

应该是能用的
=============================
最终结论:
昨天光看DB-GPT的架构图,我以为是一个非常复杂的技术性中间件框架

但是说实话,让我没有想到的是
安装并没有卡我太多的点
倒是挺友好的,0.7.0
配置上也很快能上手。。。。
易用性上还是不错的
不过,我真没想到的地方是,它竟然更接近于一个开箱即用的数据库对话软件。
六个核心应用,拆的有点碎:
1、Chat Excel:上传一张Excel,然后与之对话,测试下来多轮对话有问题,另外温度最好设低
2、Chat Dashborad:其实就是带数据可视化的Chat Data
3、Chat Data:实实在在的与数据库对话,直接执行出来数据的一个应用
4、Chat DB:与数据库元数据做对话的应用,只给你SQL,它不执行
5、Chat Normal:普通的对话
6、Chat Knowledge:哎,就是普通的知识库
其实和vanna也很像,就是说
训练和微调啊这些,其实需要上命令行了,然后数据库的对话agent编写,等于是塞给我一个框架去执行。。。
其实从后台我甚至可以看到它的提示词工程部分
多轮对话有风险,对DB对话而言
总之还行吧。。只能说。。。。
和我想想的实在是不太一样。。。。
成熟度是不错的