
亲爱的 DB-GPT 社区伙伴们,经过紧锣密鼓地开发,耗时两月多时间 V0.5.0 版本终于跟大家见面了。V0.5.0 版本是 DB-GPT 第一个长期维护的稳定版本。同时也正式确立了 DB-GPT 项目的长期定位: AI Native Data App Development framework with AWEL(Agentic Workflow Expression Language) and Agents. 即通过智能体表达式语言与智能体开发原生数据应用的框架。

在早期的版本中,DB-GPT 项目默认提供了六大使用场景, 分别为:
数据对话
数据库对话
Excel 对话
知识库
智能报表
Agents
为了进一步提升业务框架的易用性与灵活性,我们在之前的多模型管理 (SMMF)、知识库、Agents、数据源、插件、以及 Prompts 之上, 进一步抽象了智能体编排 (AWEL) 与应用构建的能力。同时为了进一步做到应用的管理与分发,我们提供了 dbgpts 子项目,专门管理构建在 DB-GPT 之上的,原生智能数据应用、AWEL 通用算子、AWEL 通用工作流模版以及 Agents。
本次的版本变化,不影响前面六大场景的使用,但随着后续的迭代。之前版本中默认的六个使用场景,会逐步改写成 Data App, 后续我们也会逐步将其放入到 dbgpts 项目中,作为默认应用,便于大家安装使用。
接下来对本次的主要更新做一个系统的说明。
1. Data App: 构建在 DB-GPT 之上的智能数据应用。
如下图所示,在左侧的菜单栏中,有 AWEL 工作流菜单, 打开之后可以进行工作流的编排。

默认安装之后,AWEL 流中是没有内容的,你可以通过两种方式进行构建。

在安装 AWEL 工作流之前,首先需要做好 DB-GPT 的安装部署。安装部署好之后,即可使用默认的 dbgpt 命令进行操作。

如图所示,dbgpt 命令支持多种操作,包括 model 相关操作、知识库操作、Trace 日志等等。这里我们重点介绍一下 app 的操作。

通过 dbgpt app list-remote
命令,我们可以看到当前仓库中有三个可用的 AWEL 工作流。这里我们安装 awel-flow-web-info-search
这个工作流。执行命令 dbgpt app install awel-flow-web-info-search

安装成功之后,重启 DB-GPT 服务(动态热加载正在路上
), 刷新页面,即可在AWEL 工作流页面
看到对应的工作流。

除了通过官方提供的命令安装默认的 AWEL 流之外,在实际场景中使用时,更多的需要进行自己构建。如下图所示,点击 新建 AWEL 流程 (NEW AWEL FLOW) 即可看到如下的编辑页面。

在编辑过程中,每个任务的下游节点与算子,支持自动联想。点击每个算子右下角的 ➕ 即可联想出可以连接的下游算子。

前面我们介绍了 AWEL 工作流的构建与安装。接下来我们介绍一下如何基于大模型创建数据应用。
搜索对话应用的核心能力是通过搜索引擎(如百度、Google)搜索相关知识,然后进行总结回答。效果如下:

创建如上应用非常简单,在应用创建面板,点击创建
, 输入以下参数,即可完成创建。这里需要注意几个参数。1. 工作模式 2. Flows ,这里我们采用的工作模式是 awel_layout
选择的 AWEL 工作流是前面安装的 awel-flow-web-info-search
这个工作流。

通过 Multi-Agents 编写一个数据分析助手应用,效果如下。


在应用面板,点击创建应用,填写如图下的参数。需要注意,这里工作模式选择是 auto_plan
。这里的依赖两个 Agents 协作。1. DataScientist 2. Reporter ,这两个Agents 依赖的资源都是 database, 数据库可以用之前官方教程中提供的默认数据库与数据进行测试。

发布dbgpt core sdk (#1092) 目前提供了awel算子编排能力
pip install dbgpt
支持 Jina Embeddings (#1105)
新增 schema-linking awel 使用示例 (#1081)
样例:https://www.yuque.com/eosphoros/dbgpt-docs/xwiarvom1nnhyb20
统一卡片UI样式, 包括知识库卡片、模型管理卡片等
MySQL数据库不再支持自动建表和字段自动更新 (#1133)
修复默认对话带历史消息记录问题 (#1117)
修复 examples/awel 从model_config获取model_name问题 (#1112)
Fix DAGs 共享数据问题 (#1102)
Fix examples/awel default loading model text2vec-large-chinese issue (#1095)
如果你当前的版本是V0.4.6或者V0.4.7, 需要升级到V0.5.0,需要做以下操作。
暂停服务
升级数据库表结构
-- dbgpt.dbgpt_serve_flow definitionCREATE TABLE `dbgpt_serve_flow` (`id` int NOT NULL AUTO_INCREMENT COMMENT 'Auto increment id',`uid` varchar(128) NOT NULL COMMENT 'Unique id',`dag_id` varchar(128) DEFAULT NULL COMMENT 'DAG id',`name` varchar(128) DEFAULT NULL COMMENT 'Flow name',`flow_data` text COMMENT 'Flow data, JSON format',`user_name` varchar(128) DEFAULT NULL COMMENT 'User name',`sys_code` varchar(128) DEFAULT NULL COMMENT 'System code',`gmt_created` datetime DEFAULT NULL COMMENT 'Record creation time',`gmt_modified` datetime DEFAULT NULL COMMENT 'Record update time',`flow_category` varchar(64) DEFAULT NULL COMMENT 'Flow category',`description` varchar(512) DEFAULT NULL COMMENT 'Flow description',`state` varchar(32) DEFAULT NULL COMMENT 'Flow state',`source` varchar(64) DEFAULT NULL COMMENT 'Flow source',`source_url` varchar(512) DEFAULT NULL COMMENT 'Flow source url',`version` varchar(32) DEFAULT NULL COMMENT 'Flow version',`label` varchar(128) DEFAULT NULL COMMENT 'Flow label',`editable` int DEFAULT NULL COMMENT 'Editable, 0: editable, 1: not editable',PRIMARY KEY (`id`),UNIQUE KEY `uk_uid` (`uid`),KEY `ix_dbgpt_serve_flow_sys_code` (`sys_code`),KEY `ix_dbgpt_serve_flow_uid` (`uid`),KEY `ix_dbgpt_serve_flow_dag_id` (`dag_id`),KEY `ix_dbgpt_serve_flow_user_name` (`user_name`),KEY `ix_dbgpt_serve_flow_name` (`name`)) ENGINE=InnoDB AUTO_INCREMENT=15 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci;-- dbgpt.gpts_app definitionCREATE TABLE `gpts_app` (`id` int NOT NULL AUTO_INCREMENT COMMENT 'autoincrement id',`app_code` varchar(255) NOT NULL COMMENT 'Current AI assistant code',`app_name` varchar(255) NOT NULL COMMENT 'Current AI assistant name',`app_describe` varchar(2255) NOT NULL COMMENT 'Current AI assistant describe',`language` varchar(100) NOT NULL COMMENT 'gpts language',`team_mode` varchar(255) NOT NULL COMMENT 'Team work mode',`team_context` text COMMENT 'The execution logic and team member content that teams with different working modes rely on',`user_code` varchar(255) DEFAULT NULL COMMENT 'user code',`sys_code` varchar(255) DEFAULT NULL COMMENT 'system app code',`created_at` datetime DEFAULT NULL COMMENT 'create time',`updated_at` datetime DEFAULT NULL COMMENT 'last update time',`icon` varchar(1024) DEFAULT NULL COMMENT 'app icon, url',PRIMARY KEY (`id`),UNIQUE KEY `uk_gpts_app` (`app_name`)) ENGINE=InnoDB AUTO_INCREMENT=39 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci;CREATE TABLE `gpts_app_collection` (`id` int(11) NOT NULL AUTO_INCREMENT COMMENT 'autoincrement id',`app_code` varchar(255) NOT NULL COMMENT 'Current AI assistant code',`user_code` int(11) NOT NULL COMMENT 'user code',`sys_code` varchar(255) NOT NULL COMMENT 'system app code',`created_at` datetime DEFAULT NULL COMMENT 'create time',`updated_at` datetime DEFAULT NULL COMMENT 'last update time',PRIMARY KEY (`id`),KEY `idx_app_code` (`app_code`),KEY `idx_user_code` (`user_code`)) ENGINE=InnoDB AUTO_INCREMENT=1 DEFAULT CHARSET=utf8mb4 COMMENT="gpt collections";-- dbgpt.gpts_app_detail definitionCREATE TABLE `gpts_app_detail` (`id` int NOT NULL AUTO_INCREMENT COMMENT 'autoincrement id',`app_code` varchar(255) NOT NULL COMMENT 'Current AI assistant code',`app_name` varchar(255) NOT NULL COMMENT 'Current AI assistant name',`agent_name` varchar(255) NOT NULL COMMENT ' Agent name',`node_id` varchar(255) NOT NULL COMMENT 'Current AI assistant Agent Node id',`resources` text COMMENT 'Agent bind resource',`prompt_template` text COMMENT 'Agent bind template',`llm_strategy` varchar(25) DEFAULT NULL COMMENT 'Agent use llm strategy',`llm_strategy_value` text COMMENT 'Agent use llm strategy value',`created_at` datetime DEFAULT NULL COMMENT 'create time',`updated_at` datetime DEFAULT NULL COMMENT 'last update time',PRIMARY KEY (`id`),UNIQUE KEY `uk_gpts_app_agent_node` (`app_name`,`agent_name`,`node_id`)) ENGINE=InnoDB AUTO_INCREMENT=23 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci;
ALTER TABLE `gpts_conversations`ADD COLUMN `team_mode` varchar(255) NULL COMMENT 'agent team work mode';ALTER TABLE `gpts_conversations`ADD COLUMN `current_goal` text COMMENT 'The target corresponding to the current message';
重新安装依赖
pip install -e ".[default]"
启动服务
更多细节请到官方文档中查看,点击「阅读原文」跳转到 B 站查看相关视频教程
感谢所有贡献者使这次发布成为可能!
@Aralhi, @Aries-ckt, @JoanFM, @csunny, @fangyinc, @Hzh_97, @junewgl, @lcxadml, @likenamehaojie, @xiuzhu9527 and @yhjun1026
https://github.com/eosphoros-ai/DB-GPT
https://github.com/eosphoros-ai/DB-GPT-Hub
https://github.com/eosphoros-ai/DB-GPT-Web






