没耐心的其实可以直接跳到结论去


 https://www.yuque.com/eosphoros/dbgpt-docs/nh6zd314859l38qa 

git clone https://github.com/eosphoros-ai/DB-GPT.git
cd DB-GPT

WSL2下哈

并不小,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盘

然后是第二个报错

找不到嵌入模型

不耐烦了,干脆用了豆包的嵌入模型,线上的

 http://localhost:5670/ 

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对话而言

总之还行吧。。只能说。。。。


和我想想的实在是不太一样。。。。


成熟度是不错的