
DB-GPT 0.5.0 版本解析基于 AWEL 工作流与 Data App 构建 AI 原生数据应用【免费下载链接】DB-GPTopen-source agentic AI data assistant for the next generation of AI Data products.项目地址: https://gitcode.com/GitHub_Trending/db/DB-GPT本文基于 DB-GPT 官方变更日志《Released V0.5.0》展开系统讲解 0.5.0 版本引入的 Data App数据应用概念、AWELAgentic Workflow Expression Language智能工作流表达语言工作流的安装与自建流程、dbgptCLI 的应用仓库操作、awel_layout工作模式下数据应用的创建方式以及从 V0.4.x 升级到 0.5.0 的完整数据库表结构迁移步骤并结合当前仓库源码AWEL 框架、Flow 服务端、CLI 命令实现说明这些能力在代码层面的落地位置。一、版本定位从六大内置场景走向 AI 原生数据应用框架0.5.0 是 DB-GPT 经过约两个月密集开发后的首个面向长期维护的稳定版本。这一版本正式确立了项目的长期愿景成为基于 Agentic Workflow Expression LanguageAWEL和 Agents 的 AI 原生数据应用开发框架——本质上是一个通过智能体表达语言来创建以数据为核心data-centric应用的框架。在 0.5.0 之前DB-GPT 提供六个默认使用场景ChatData数据对话、ChatExcel表格对话、ChatDB数据库对话、ChatKnowledge知识对话、ChatAgents智能体对话和 ChatDashboard仪表盘。这些场景满足基础、简单的使用需求但面对大规模生产部署和复杂业务场景时必须按具体业务条件定制场景这在灵活性与开发复杂度上都是显著挑战。为此0.5.0 版本在既有多模型管理框架SMMF、知识库、Agents、数据源Datasource、插件与 Prompts 等能力之上抽象出了智能体编排AWEL与应用构建能力并引入了dbgpts子项目来专门管理基于 DB-GPT 的原生智能数据应用构建、AWEL 通用算子、AWEL 通用工作流模板以及 Agents 的管理与分发。需要注意的演进路线是本次更新不影响原有六个场景的使用但在后续迭代中这些默认场景会逐步被重写为 Data App并纳入dbgpts项目作为默认可安装应用。先给出本版本涉及的核心术语后文将反复使用术语含义Data App基于 DB-GPT 构建的智能数据应用AWELAgentic Workflow Expression Language智能工作流表达语言AWEL Flow使用 AWEL 进行的工作流编排SMMF面向服务的多模型管理框架Service-oriented Multi-Model FrameworkDatasource数据源如 MySQL、PostgreSQL、StarRocks、ClickHouse二、AWEL 工作流从官方仓库安装安装完成后DB-GPT 左侧导航栏提供 AWEL workflow 菜单进入后即可编排工作流见文章开头配图。默认安装后 AWEL 流列表为空有两种构建方式一是从 DB-GPT 官方应用仓库安装二是自己创建。2.1 使用 dbgpt CLI 安装官方工作流前提是已完成 DB-GPT 的安装部署。部署后可直接使用默认的dbgpt命令执行各类操作dbgpt支持模型管理、知识库管理、Trace 日志以及本篇重点的app应用/工作流操作# 查看官方仓库中可用的 AWEL 工作流 dbgpt app list-remote执行dbgpt app list-remote可以看到官方仓库中当前可用的三个 AWEL 工作流。以安装awel-flow-web-info-search网页信息搜索工作流为例# 安装指定 AWEL 工作流 dbgpt app install awel-flow-web-info-search安装成功后需重启 DB-GPT 服务官方说明当时动态热加载尚在开发中刷新页面后即可在 AWEL 工作流页面看到对应工作流。2.2 CLI 命令的源码实现从当前仓库源码看app install与app list-remote子命令在 CLI 命令注册处 通过add_command_alias挂载到app命令组下具体实现在 dbgpts CLI 模块 中list-remote命令定义于该文件 L180。安装动作的本质是从官方应用仓库拉取工作流定义并写入服务端存储——这正对应下文的dbgpt_serve_flow表。2.3 工作流的服务端存储AWEL 工作流在服务端落库为dbgpt_serve_flow表。这一表名在当前仓库 Flow 服务配置 中定义SERVER_APP_TABLE_NAME dbgpt_serve_flow实体与数据访问层实现见 Flow 数据模型ServeEntity以SERVER_APP_TABLE_NAME为表名ServeDaoL136负责工作流的增删改查。0.5.0 升级 SQL 中该表的关键字段flow_dataJSON 格式的流数据、flow_category分类、editable0 可编辑 / 1 不可编辑等与这一 DAO 层的请求/响应模型一一对应也就是说 CLI 安装进来的工作流、前端手工编排的工作流最终都以统一的 Flow 模型持久化。三、AWEL 工作流自主创建实际场景中往往需要构建自己的工作流。在 AWEL 流列表页点击New AWEL Flow即进入编排编辑页。编排体验上的一个亮点是下游算子自动补全编辑过程中点击每个算子右下角的加号➕会弹出该算子可连接的候选下游算子列表无需记忆算子的确切名称与类型即可搭建复杂工作流。从源码结构看这套编辑体验背后是 AWEL 的核心框架位于 packages/dbgpt-core/src/dbgpt/core/awel 目录其下按职责划分为dag有向无环图、flow流编排、operators算子、resource、runner、task、trigger等子包算子基类 BaseOperator 继承自DAGNode并带有BaseOperatorMeta元类负责声明输入/输出字段IO Field、参数Parameter与算子分类Operator Category这也是 UI 端能做“下游算子补全”的元数据来源工作流的物化由 FlowFactory.build() 完成它接收FlowPanel校验flow_data非空后将 JSON 中的节点数据FlowNodeData逐个映射为算子节点并构建 DAGUI 侧所需的动态选项类型FunctionDynamicOptions、IOField、OptionValue、VariablesDynamicOptions、ViewMetadata等在 awel_flow_ui_components.py 的导入清单中可见一斑该示例演示了如何用 AWEL 定义带 UI 元信息的工作流组件。仓库内置的 examples/awel 目录提供了 8 个可直接运行的示例包括最简单的 simple_dag_example.py、数据分析师助手 data_analyst_assistant.py、NL→Schema→SQL→Chart 全链路 simple_nl_schema_sql_chart_example.py 以及 RAG 改写/摘要示例等是理解 AWEL 表达语言的最佳入口。更完整的教程可参考仓库文档 AWEL 概述 与 使用 AWEL。四、创建数据应用Data AppAWEL 工作流解决“编排什么”Data App 解决“以什么形态交付”。0.5.0 中创建数据应用只需在应用创建面板点击create并填写参数其中最关键的两项是工作模式Working mode与Flows所选 AWEL 工作流。4.1 Search Chat App搜索对话应用搜索对话应用的核心能力是通过搜索引擎如 Baidu、Google检索相关知识再由大模型总结并作答。创建该应用时工作模式选择awel_layoutFlows 选择前面通过 CLI 安装的awel-flow-web-info-search工作流即可完成。awel_layout并不是一个随意的枚举值它在当前仓库 TeamMode 枚举 中有明确定义AWEL_LAYOUT ( awel_layout, 任务流编排模式, AWEL Flow App, 选择一个AWEL工作流, Choose an AWEL workflow, 根据指定任务流执行常用于需要保证执行顺序的应用场景, Execute according to the specified task flow, often used in application scenarios that need to ensure the order of execution, )从枚举注释可以读出该模式的定位按指定任务流执行常用于需要保证执行顺序的应用场景——这与 Auto-plan 模式自动任务规划拆分形成互补。应用运行时对awel_layout模式的分发逻辑可见 gpts_app.py 中的 case 分支。4.2 Data Analysis Assistant多智能体数据分析助手第二个示范应用是基于 Multi-Agents 的数据分析助手多个智能体协作完成对数据的分析任务并输出结论。这说明 0.5.0 的 Data App 不局限于 AWEL 单一路径——team_mode字段见下文升级 SQL 中gpts_app表的team_mode列允许同一套应用框架承载“多智能体协作”与“任务流编排”等不同执行策略。五、其他功能更新0.5.0dbgpt 核心 SDK 发布#1092SDK 已包含 AWEL 算子编排能力第三方可直接pip install dbgpt引入并复用 AWEL 表达能力而不必整体部署 DB-GPT。支持 Jina Embeddings#1105集成 Jina AI为各类数据创建与管理向量嵌入增强应用内的检索与相似度任务。新增基于 AWEL 的 schema-linking 示例#1081演示如何用 AWEL 实现模式链接适用于需要在不同数据模式之间建立映射的任务。统一卡片 UI 风格知识库卡片、模型管理卡片等以卡片形式展示信息的 UI 组件统一了视觉风格。六、缺陷修复Bug FixesMySQL 数据库不再支持自动建表和字段自动更新#1133数据库结构变更需开发者手动处理增强了对数据库迁移的掌控力这也是下文升级步骤中需要手工执行建表 SQL 的原因修复默认对话携带历史消息记录的问题#1117确保历史记录被正确处理规避隐私与性能隐患修复 examples/awel 中 model_name 从 model_config 获取不当的问题#1112提升 AWEL 示例的可靠性修复 DAG 间共享数据的问题#1102保证有向无环图之间的数据隔离避免工作流相互覆盖数据修复 examples/awel 默认加载 text2vec-large-chinese 模型的问题#1095确保示例中的中文文本向量化模型按预期加载。七、升级指南从 V0.4.6 / V0.4.7 升级到 V0.5.0若当前版本为 V0.4.6 或 V0.4.7升级到 0.5.0 需按以下四步操作。步骤 1停止服务步骤 2升级数据库表结构执行以下 SQL步骤 3重新安装依赖pip install -e .[default]步骤 4启动服务。7.1 新增工作流表 dbgpt_serve_flow-- dbgpt.dbgpt_serve_flow definition CREATE 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) ) ENGINEInnoDB AUTO_INCREMENT15 DEFAULT CHARSETutf8mb4 COLLATEutf8mb4_0900_ai_ci;7.2 新增数据应用三张表 gpts_app / gpts_app_collection / gpts_app_detail-- dbgpt.gpts_app definition CREATE 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) ) ENGINEInnoDB AUTO_INCREMENT39 DEFAULT CHARSETutf8mb4 COLLATEutf8mb4_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) ) ENGINEInnoDB AUTO_INCREMENT1 DEFAULT CHARSETutf8mb4 COMMENTgpt collections; -- dbgpt.gpts_app_detail definition CREATE 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) ) ENGINEInnoDB AUTO_INCREMENT23 DEFAULT CHARSETutf8mb4 COLLATEutf8mb4_0900_ai_ci;三张表构成 Data App 的存储模型gpts_app存应用主体其中team_mode即工作模式对应第四章的awel_layout等模式team_context存不同工作模式下团队所依赖的执行逻辑与成员内容gpts_app_detail记录应用内每个 Agent 节点绑定的资源、提示词模板与 LLM 策略gpts_app_collection维护用户收藏关系。7.3 修改 gpts_conversations 会话表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;会话表新增team_mode列使会话能够记录其所属的工作模式current_goal列保存当前消息对应的目标从表结构可推断这是为多智能体“围绕目标推进”的执行模式服务的。7.4 重装依赖并启动pip install -e .[default]执行完毕后启动服务即完成升级。注意本次升级 SQL 仅适用于 MySQLInnoDB/utf8mb4_0900_ai_ci且受 #1133 的影响MySQL 不再自动建表结构变更必须由开发者自行执行升级前建议备份数据库。八、版本说明与源码对照需要说明适用前提本仓库当前版本已演进到 0.8.1见 核心包版本定义文中所述 0.5.0 的表结构与命令是升级该版本时的基准而文中引用的源码路径均为当前仓库中的实际位置可作为理解 0.5.0 架构演进的参照0.5.0 能力当前仓库对应实现AWEL 工作流框架packages/dbgpt-core/src/dbgpt/core/aweldag / flow / operators / runner / task / trigger工作流 JSON → DAG 构建FlowFactory.build()工作流服务端存储dbgpt_serve_flow 表配置、Flow DAOdbgpt app install / list-remoteCLI 命令注册、dbgpts CLIData App 工作模式TeamMode 枚举含 AWEL_LAYOUTAWEL 可运行示例examples/awel0.5.0 的发布离不开社区贡献者的工作官方致谢名单包括 Aralhi、Aries-ckt、JoanFM、csunny、fangyinc、Hzh_97、junewgl、lcxadml、likenamehaojie、xiuzhu9527 与 yhjun1026。若需回溯英文原版变更日志可查阅 英文版 Released_V0.5.0。九、小结DB-GPT 0.5.0 的意义在于完成了从“六个固定对话场景”到“可编程数据应用框架”的抽象跃迁AWEL 以 DAG 算子 JSON 流数据的形式承载编排逻辑dbgpt_serve_flow与gpts_app*三张表分别支撑工作流与应用的分发和存储dbgpt app install等 CLI 命令打通了官方仓库与本地实例之间的应用安装链路而awel_layout等工作模式则让“保证执行顺序的任务流”与“多智能体协作”在同一应用框架内共存。掌握了这套从表结构、CLI 到 AWEL 编排的完整链路即可在 0.5.0 及之后的版本上按业务需要构建并分发自己的 AI 原生数据应用。【免费下载链接】DB-GPTopen-source agentic AI data assistant for the next generation of AI Data products.项目地址: https://gitcode.com/GitHub_Trending/db/DB-GPT创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考