ARTICLE DETAIL

资讯详情

深耕郑州网站建设与运营推广的一线实战洞察。

DB-GPT 工具与插件扩展指南:MCP、dbgpts 与 AWEL Flow 三大机制深度解析

DB-GPT 工具与插件扩展指南:MCP、dbgpts 与 AWEL Flow 三大机制深度解析 DB-GPT 工具与插件扩展指南MCP、dbgpts 与 AWEL Flow 三大机制深度解析【免费下载链接】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 的 Tools Plugins 扩展体系展开系统讲解 MCPModel Context Protocol标准化工具接入、dbgpts 社区组件生态、AWEL Flow 可视化工作流编排三大机制的定位、配置方式与实战用法并结合仓库源码ToolPack、MCP 客户端、Flow 编辑器等实现进行原理级剖析。读完本文你将掌握在 DB-GPT 中为 Agent 接入外部工具、安装社区组件、以及零代码搭建 AI 流水线的完整方案并能根据场景正确选型。DB-GPT 作为面向 AI Data 应用的 Agentic AI 数据助手其核心能力之一就是可扩展通过外部工具、社区包和可视化工作流构建让 Agent 从能对话升级为能做事。本文对应的完整文档位于 docs/docs/getting-started/tools/index.md同一目录下还有 mcp.md、dbgpts.md 与 awel-flow.md 三篇子文档共同构成 DB-GPT 的扩展体系全貌。为什么需要扩展机制从 Agent 到工具的连接DB-GPT 中的 Agent 并非孤立的对话模型而是一个感知—决策—行动的执行体。其与工具的关系可用下图表示Agent 通过工具完成四类典型动作访问数据——查询数据库如 Text2SQL 场景、检索知识库Knowledge Base调用 API——通过 MCP 与外部服务交互Web 搜索、消息发送、代码托管平台等执行代码——在沙箱sandbox环境中运行 Python 等代码管理文件——读取、写入和处理本地或远程文件。在源码层面工具被统一抽象为Resource体系packages/dbgpt-core/src/dbgpt/agent/resource/tool/pack.py中的ToolPack是所有工具资源包的基类它负责把工具BaseTool、FunctionTool收集、去重并暴露给 Agent 调度mcp.py 则把 MCP 服务器打包成标准的工具资源从而让工具接入与Agent 使用解耦。这种抽象正是三大扩展机制能够并存、互操作的基础。三大扩展机制总览DB-GPT 支持三种主要的扩展机制各自解决不同的问题机制作用适用场景MCP Protocol将外部工具API、服务接入 Agent需要 Agent 调用外部服务dbgpts安装预构建的 App、算子、工作流模板与 Agent希望直接使用现成组件AWEL Flow可视化编排 AI 流水线需要不写代码的自定义工作流三者的分工可以概括为MCP 解决接什么打通外部世界dbgpts 解决用什么消费社区沉淀AWEL Flow 解决怎么串编排组合逻辑。下文逐一展开。机制一MCP Protocol——标准化连接外部工具MCP 是什么客户端与服务端双重角色Model Context ProtocolMCP是一个开放协议为 AI 应用连接外部数据源与工具提供了标准接口。DB-GPT 对 MCP 的支持是双向的作为 MCP 客户端消费外部 MCP Server 提供的工具文件系统、Web 搜索、数据库等作为 MCP 服务器把 DB-GPT 自身能力知识库查询、Text2SQL 数据库访问、Agent 执行暴露成 MCP 工具供其他兼容 MCP 的应用程序调用。在 Agent 中使用 MCP 工具的完整三步Step 1 — 配置 MCP 服务器MCP 服务器在 TOML 配置文件中声明也可以在 Web UI 的 Agent 配置中完成。配置文件示例见仓库的 configs/dbgpt-app-config.example.toml。[[agent.mcp_servers]] name filesystem command npx args [-y, modelcontextprotocol/server-filesystem, /path/to/directory] [[agent.mcp_servers]] name web-search command npx args [-y, modelcontextprotocol/server-brave-search] env { BRAVE_API_KEY ${env:BRAVE_API_KEY} }参数说明name该 MCP 服务器在 DB-GPT 内的唯一标识Agent 按此名称引用commandargs启动本地 MCP 服务器的进程命令。上例通过npx按需拉取并运行官方 Node 包无需提前全局安装env传递给服务器进程的环境变量支持${env:VAR_NAME}语法引用系统环境变量避免把 API Key 硬编码进配置文件——BRAVE_API_KEY就是这样注入的。Step 2 — 为 Agent 分配工具在 Web UI 中进入Apps创建或编辑一个应用在 Agent 配置中选择可用的 MCP 工具保存后该 Agent 即可在对话中使用这些工具。Step 3 — 在对话中使用与启用了 MCP 的 Agent 对话时Agent 会根据用户请求自动选择并调用合适的工具无需用户手工触发。这一调度过程由 Agent 框架的 tool-calling 能力驱动。支持的 MCP 服务器类型类型说明典型示例stdio本地进程通信文件系统访问、代码执行SSE基于 HTTP 的 Server-Sent Events远程 API、云服务在源码中这两种传输方式分别对应 mcp.py 里的MCPToolPackstdio 模式与MCPSSEToolPackSSE 模式。SSE 客户端的底层实现位于 mcp_utils.py它通过anyio内存流对接 MCP 的ClientSession并提供了超时控制timeout控制普通 HTTP 操作、sse_read_timeout控制事件等待时长同时支持自定义headers与 SSL 校验选项。从代码结构看SSE 模式不依赖本地进程因此也更适合部署在远端、需要鉴权头的云服务。常见 MCP 服务器服务器用途包名Filesystem读写本地文件modelcontextprotocol/server-filesystemBrave Search网页搜索modelcontextprotocol/server-brave-searchGitHub仓库操作modelcontextprotocol/server-githubPostgreSQL数据库查询modelcontextprotocol/server-postgresSlack发送/读取 Slack 消息modelcontextprotocol/server-slackMCP 服务器生态仍在快速增长社区中有大量按场景划分的现成实现可供挑选。仓库内的完整对话示例可参考 examples/agents/mcp_agent_dialogue_example.py它演示了在真实 Agent 对话流程中挂载 MCP 工具资源包的方式。DB-GPT 作为 MCP 服务器除消费外部工具外DB-GPT 也能把自身能力以 MCP 标准对外暴露典型能力包括知识库查询Knowledge Base queries数据库访问Text2SQLAgent 执行Agent execution这意味着其他 MCP 兼容应用可以把 DB-GPT 当作数据智能后端来调用形成跨应用的能力复用。机制二dbgpts 生态——社区组件市场dbgpts 是什么dbgpts是 DB-GPT 官方的社区组件仓库收录了可复用的应用、AWEL 算子、工作流模板与 Agent 定义是扩展体系中的应用商店。组件按类型划分组件类型说明示例Apps可安装的完整应用数据分析应用、报表生成器Operators供工作流使用的 AWEL 算子文本切分、HTTP 请求、LLM 调用Workflow Templates预构建的 AWEL 工作流 DAGRAG 流水线、多 Agent 对话Agents预配置的 Agent 定义SQL 分析师、代码评审员安装方式dbgptsCLI 随 DB-GPT 一起分发在安装时带上dbgptsextra 即可启用uv sync --all-packages --extra dbgpts ...CLI 命令详解浏览可用包# 列出所有远程包 dbgpts list-remote # 列出已安装的包 dbgpts list安装 / 更新 / 卸载dbgpts install package-name dbgpts update package-name dbgpts uninstall package-name这套 CLI 是 Web UI 之外管理社区组件的命令行入口适合脚本化运维场景。在 Web UI 中使用安装完成后dbgpts 组件会自动出现在 Web UI 的对应位置Apps出现在应用商店App Store中Operators出现在 AWEL Flow 编辑器的算子面板中Workflow templates可导入 Flow 编辑器Agents可在创建多 Agent 应用时被选中。值得一提的是DB-GPT 仓库内也自带了一批内置技能例如 skills/agent-browser、skills/csv-data-analysis、skills/financial-report-analyzer、skills/walmart-sales-analyzer 等它们与 dbgpts 组件遵循相似的可复用封装思路可作为开发自定义组件的本地参考。仓库结构与自建组件dbgpts 组件仓库按类型组织目录dbgpts/ ├── apps/ # 完整应用 ├── operators/ # AWEL 算子 ├── workflow/ # 工作流模板 └── agents/ # Agent 定义若要贡献自己的组件流程为参照 dbgpts 仓库的包结构组织代码在包中包含带元数据的manifest.json提交 Pull Request。更详细的开发说明见 docs/docs/dbgpts/introduction.md技能类组件的定义与用法可参考 docs/docs/dbgpts/how-to-use-skill.md。机制三AWEL Flow——可视化构建 AI 工作流什么是 AWEL FlowAWEL Flow是AWELAgentic Workflow Expression LanguageAgentic 工作流表达式语言的可视化编辑器。它提供拖拽式画布让你在不写代码的情况下组合 LLM 流水线。AWEL Flow 支持的核心操作将算子拖拽到画布连接算子形成 DAGDirected Acyclic Graph有向无环图配置每个算子的参数测试并部署工作流。需要强调的是AWEL 工作流既可以用 Python 代码编写也可以在 Flow 编辑器中可视化构建两者生成的是同一套底层 DAG 结构。Python 侧的能力详见 docs/docs/awel/awel.md 与 docs/docs/awel/awel_tutorial。上手五步Step 1 — 打开 Flow 编辑器在侧边栏进入Flow点击Create新建工作流。Step 2 — 添加算子左侧面板按类别展示可用算子类别示例Trigger触发器HTTP Trigger、Schedule TriggerLLMLLM Operator、Streaming LLMRAGKnowledge Retriever、RerankerAgentAgent Operator、PlanningDataDatabase Query、File ReaderTransform转换Text Splitter、JSON ParserOutput输出Response、Stream Response将算子从面板拖到画布即可。Step 3 — 连接算子从算子的输出端口拖拽到另一个算子的输入端口建立连接数据沿连接流动。Step 4 — 配置算子点击任意算子打开配置面板可设置模型名称、Prompt 模板、数据库连接、分块大小chunk size、自定义逻辑等参数。Step 5 — 测试与保存点击Run用样例输入测试工作流在每一级节点上检查输出点击Save持久化工作流。示例一个简单的 RAG 工作流各节点的职责HTTP Trigger—— 接收用户问题Knowledge Retriever—— 从知识库检索相关分块Prompt Builder—— 将问题与检索上下文拼装成 PromptLLM Operator—— 生成答案Stream Response—— 返回流式响应。这个例子直观展示了 AWEL Flow 的模块化思路每个算子只负责一件事通过数据流串联成完整 RAG 链路。RAG 相关的完整能力说明可参考 docs/docs/modules/rag.md。将 Flow 用作应用后端构建好的工作流可以直接作为应用的执行引擎在 Flow 编辑器中保存工作流进入Apps→Create选择已保存的 Flow 作为应用的执行引擎应用自动继承该 Flow 的输入与输出。管理工作流操作方式编辑打开工作流修改算子与连接复制复制一份已有工作流导出将工作流定义下载为 JSON导入上传工作流定义 JSON 文件删除从列表中移除工作流JSON 导入导出机制让工作流可以在不同环境间迁移、在团队内共享配合 dbgpts 的 workflow 模板实现一次编排、处处复用。安装社区算子来自 dbgpts 仓库的社区算子在安装后会自动出现在 Flow 编辑器中dbgpts install operator-package如何选择三种机制你的需求推荐机制Agent 需要调用外部 API / 服务 / 私有系统MCP对接现成或自建的 MCP Server想快速获得完整的应用、算子、Agent 定义dbgptsdbgpts install即装即用需要定制数据流与多步骤 AI 流水线且不想写代码AWEL Flow画布编排 DAG想开发复杂、可复用的自研组件并回馈社区dbgpts贡献算子/应用/Agent配合 MCP 打通外部依赖三种机制并非互斥典型的生产落地路径是用 MCP 接入外部工具 → 把常用能力封装成 dbgpts 组件 → 在 AWEL Flow 中编排成端到端流水线 → 挂载到 App 对外提供服务这正是 DB-GPT 扩展体系的设计精髓。延伸阅读Agent 概念与框架 docs/docs/getting-started/concepts/agents.mdAWEL 概念 docs/docs/getting-started/concepts/awel.mdAgent 工具开发指南 docs/docs/agents/introduction/tools.mdMCP 完整说明 docs/docs/getting-started/tools/mcp.mddbgpts 开发文档 docs/docs/dbgpts/introduction.mdAWEL Python 教程与 Cookbook docs/docs/awel/awel_tutorial工具资源包源码实现 packages/dbgpt-core/src/dbgpt/agent/resource/tool/pack.pyMCP 客户端传输实现 packages/dbgpt-core/src/dbgpt/agent/util/mcp_utils.pyMCP 工具资源实现stdio/SSE 双模式 packages/dbgpt-serve/src/dbgpt_serve/agent/resource/mcp.py【免费下载链接】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),仅供参考
返回列表