基于LangStudio&Hologres构建ChatBI数据分析Agent应用

如果您希望只用日常语言提问,即可快速获得数据查询结果,可以使用LangStudio,基于模型上下文协议(Model Context Protocal,MCP),将具备工具调用能力的大语言模型与数据库连接,构建一个智能数据分析助手。 本文以Qwen3模型和Hologres数据库为例,说明如何与数据轻松对话。

方案概览

本方案通过 LangStudio 将三个核心组件巧妙地连接在一起,构成一个完整的数据分析应用:

  1. 大语言模型 (LLM) :我们选用支持工具调用(Tool Calling)的通义千问(Qwen)模型作为应用的“大脑”,负责理解您的自然语言问题。

  2. MCP 服务 (MCP Server):它扮演着“桥梁”的角色,将大模型发出的指令(例如“查询用户表”)转换成 Hologres 能够执行的 SQL 语句。本文以函数计算部署的 Hologres MCP Server 为例。

  3. LangStudio Agent:作为应用的“调度中心”,它接收您的提问,调用 LLM 进行思考,并通过 MCP Server 与 Hologres 数据库交互,最终将查询结果整理成通俗易懂的答案返回给您。

计费说明

本文会涉及多个云产品付费,请在开始前了解其计费规则,如不再使用请及时释放资源,避免产生非预期费用:

准备工作

在开始操作前,请确保您已完成以下准备工作:

  1. 规划网络环境:为保证各组件间安全、高效地通信,建议将所有资源部署在同一个地域(Region)的同一个专有网络(VPC)内。如果您尚无 VPC,请创建专有网络与交换机创建安全组

  2. 准备 Hologres 实例和数据

    1. 您可以使用已有的Hologres实例或购买Hologres(购买时注意专有网络的选择)。

    2. 创建数据库一键导入公共数据集tpch_10g用于测试。

一、创建模型服务连接

1.1 (可选)部署模型服务

本文通过快速开始 > Model Gallery一键部署Qwen3-32B模型服务。

在搜索框中输入Qwen3-32B,在模型卡片单击部署,使用默认参数即可。

说明

您也可以选择其他大语言模型服务,如阿里云百炼或其他已有的模型服务。注意本文案例要求模型服务支持工具调用(Tool Calling)。

1.2 创建连接

说明

如您使用非EAS模型服务,请根据您的服务类型,选择合适的模型服务连接,参见连接配置

进入LangStudio,在连接 > 模型服务页签下单击新建连接,如下配置:

  • 连接类型:选择通用LLM模型服务连接

  • 服务提供方:选择PAI-EAS模型服务,下拉选择部署好的EAS服务之后,base_urlapi_key会自动填充,分别为已部署服务的VPC访问地址和Token。

  • Tool Call:通过Model Gallery部署的模型会自动选择。其他方式部署,请根据实际情况进行配置。

image

二、创建MCP服务连接

MCP Server 是连接 Agent 和 Hologres 数据库的“桥梁”,它将数据库操作封装成标准工具接口。

LangStudio可以通过MCP模板快速部署Hologres MCP Server

  1. 进入LangStudio,在探索 > MCP模板页签,搜索Hologres。

  2. 单击卡片实时数仓Hologres,在页面右侧设置部署参数如下,其他保持默认:

    1. 地域:选择与Hologres实例相同的地域。

    2. 函数计算访问Hologres服务角色:AliyunFCDefaultRole。如无,单击创建角色。注意在Hologres 控制台中使用该角色创建用户并添加权限。

      为服务角色添加Hologres权限

      1. 添加用户。

        image

      2. 如只用来查询数据,推荐使用简单权限模型,并授予 viewer 权限即可。

        image

        image

    3. 专有网络ID:请选择与Hologres实例相同的专有网络,并按控制台页面指引选择交换机安全组

    4. Hologres实例Host:填写Hologres实例的指定VPC访问对应的域名。可以在Hologres实例详情页的网络信息找到。image

  3. 部署完成后,模板右侧会生成服务名称和地址。单击在线测试,测试MCP ServerHologres实例的连通性。

    说明

    这里显示的服务地址是公网访问地址,如需VPC访问地址,单击服务名称右侧箭头进入服务详情页的访问地址页签获取。

    image

  4. 连接 > MCP服务下,系统会自动生成该MCP服务的连接记录。

    image

    说明

    LangStudio中通过模板或自定义创建的MCP Server都会自动生成连接配置。如您自行部署或使用第三方平台托管的 MCP 服务,可以通过新建连接进行配置。

三、创建运行环境

运行时页签,单击新建运行时,创建运行时实例,为应用流提供运行环境。

重要

如使用已有的运行时,建议更新镜像到最新。

image

四、新建应用流

  1. 应用流页签,单击新建应用流,创建智能数据Agent应用流。

  2. 应用流页签,单击目标应用流,进入应用流详情页面。单击Agent节点,完成如下设置:

    1. Agent策略:选择 FunctionCalling。

    2. 模型设置:选择步骤1.2中创建的模型连接。

    3. 对话历史:打开

    4. MCP服务配置:单击添加MCP服务类型选择连接,选择步骤二创建的MCP服务连接

    5. 设置输入变量信息,包括系统提示词USER prompt最大循环次数设置为 5 次,可以根据需要调整。

    image

五、测试验证

配置完成后,单击右上角运行,您可以在对话界面直进行测试。

因为hologres中导入的公共数据集存在多schema,直接询问关于表的问题可能会无法回答。可以按照以下步骤引导。

  1. hologres中有哪些schema?

    image

  2. hologres_dataset_tpch_10g中有哪些表

    image

  3. 计算客户来自多少个不同的国家

    image

生产应用建议

当您在 LangStudio 中调试完成并对效果满意后,可以将其一键部署为生产级的 API 服务。

  • 部署应用流:在 LangStudio 应用流画布右上角,单击部署,选择合适的资源规格,并务必选择与所有其他组件相同的 VPC 和交换机,以确保网络互通。详情请参见应用流部署

  • 公网访问配置:如果您的应用流中需通过公网访问其他服务,请确保部署为EAS 服务时配置公网访问能力

  • 成本与性能:根据您的业务负载,合理选择 EAS 服务的资源规格和实例数量,以平衡性能与成本。测试完成后,请及时释放所有实验性资源。

常见问题

  1. 可以连接其他类型的数据库(如 MySQL、PostgreSQL)吗?

    可以。本方案的核心是 MCP 协议。只要您能找到或自行开发一个针对目标数据库的 MCP Server,就可以在 Agent 配置中替换掉 Hologres MCP Server 的信息,从而实现对其他数据源的查询。

  2. 可以使用不支持工具调用的模型服务构建Agent应用么?

    可以。您需要在Agent节点选择ReAct策略,此时无需模型支持工具调用。建议选择推理能力较强的模型。