You need to enable JavaScript to run this app.
文档中心
数据库工作台

数据库工作台

复制全文
下载 pdf
开发者工具
火山云数据库 DBW NL2SQL 服务
复制全文
下载 pdf
火山云数据库 DBW NL2SQL 服务
本文介绍了在扣子平台的智能体中使用火山云数据库 DBW NL2SQL 服务的完整流程。​
产品背景​
扣子是新一代 AI Agent 开发平台。无论开发者是否有编程基础,都可以在扣子上快速搭建基于大模型的各类 AI 应用,并将 AI 应用发布到各个社交平台、通讯软件,也可以通过 API 或 SDK 将 AI 应用集成到你的业务系统中。更多信息,请参见什么是扣子。​
火山云数据库 DBW NL2SQL 服务,是一款基于数据库工作台 DBW 智能助手的能力,并提供数据库 with AI 能力的插件。该服务支持将自然语言自动生成可执行的 SQL 语句,并能够执行生成的 SQL 语句,可以提高处理 SQL 相关任务的效率。此外,您还可以通过该服务查询数据库实例的 Database 列表、Table 列表以及 Table 元信息等数据。​
目前火山云数据库 DBW NL2SQL 服务已经集成在扣子平台中,您可以在扣子平台中快速搭建基于火山云数据库 DBW NL2SQL 服务的应用。已发布的插件包括:​
  • NL2SQL:将自然语言转换为可执行的 SQL 语句。​
  • ExecuteSQL:执行 SQL 语言,并返回执行结果。​
  • GetTableInfo:查询数据库实例的 Table 元信息。​
  • ListDatabases:查询数据库实例的 Database 列表。​
  • ListTables:查询数据库实例的 Table 列表。​
前提条件​
  1. 注册火山引擎账号并完成实名认证。关于账号的创建方法和实名认证,请参见如何进行账号注册和实名认证。​
  1. 在火山引擎控制台开通数据库工作台 DBW 服务,并创建具有 DBW 服务访问权限的 API 访问密钥。​
  1. 创建火山引擎数据库实例,如创建 MySQL 实例,并在 DBW 控制台中为实例开启安全管控。详细操作,请参见开启安全管控。​
说明​
  • 目前仅云数据库 MySQL 版和云数据库 veDB MySQL 版的数据交互台支持火山云数据库 DBW NL2SQL 服务。​
  • 如果要使用账号的 AK/SK 访问火山云数据库 DBW NL2SQL 服务,则需确保账号具有 DBW 系统角色和实例权限,更多信息,请参见用户角色权限图谱。​
操作步骤​
  1. 在扣子平台中创建智能体。关于创建扣子智能体的详细信息,请参考搭建一个 AI 助手智能体。​
  • ​​​
  1. 添加火山云数据库 DBW NL2SQL 服务插件。​
  1. 在新创建的扣子智能体的技能中,单击添加图标。​
  • ​​​
  1. 在添加插件弹窗中,搜索 DBW NL2SQL 并添加一个或多个相关插件。关于添加插件的详细信息,请参考添加插件。​
  • ​​​
  1. 为火山云数据库 DBW NL2SQL 服务插件配置参数。​
  • ​
    NL2SQL
    ExecuteSQL
    GetTableInfo
    ListDatabases
    ListTables
    ​
    1. 插件添加完成后,单击 NL2SQL 插件对应的编辑参数图标。​
    • ​​​
    1. 编辑 NL2SQL 插件的以下参数并设置参数是否可见。更多关于修改插件参数的详细信息,请参见插件参数配置。​
    • ​
      参数名​
      是否必填​
      描述​
      示例值​
      是否开启​
      ak​
      是​
      访问密钥(Access Key)是请求火山云数据库 DBW NL2SQL 服务的安全凭证,包含 AK (Access Key ID)和 SK (Secret Access Key)。​
      如何获取 AK/SK 信息,请参见 Access Key(密钥)管理。​
      说明​
      如果要使用子账号的 AK/SK 访问火山云数据库 DBW NL2SQL 服务,则需确保子账号具有 DBW 系统角色,更多信息,请参见用户角色权限图谱。​
      AKLTNzgwYjgwN2U5YzMxNDNiMjhjZjYyMjE2MTU2O******​
      否​
      sk​
      是​
      ​
      WlROaVlUYzJPRGN5TlRCbE5HUmlOV0ptWkdSaE1HTTVOMll6WmpR********​
      否​
      region​
      是​
      请求的地域,例如:cn-beijing,关于地域的更多信息请参见地域列表。​
      cn-beijing​
      否​
      instance_id​
      否​
      数据库实例 ID。​
      mysql-bf120f******​
      是/否​
      如果为 instance_id 设置了默认值,也可以为否。​
      instance_type​
      否​
      数据库类型,当前支持的数据库如下所示。​
      • MySQL:云数据库 MySQL 版。​
      • VeDBMySQL:云数据库 veDB MySQL 版。​
      • Postgres:云数据库 PostgresSQL 版。​
      • Mongo:文档数据库 MongoDB 版。​
      说明​
      数据库类型字母大小写敏感。​
      MySQL​
      是/否​
      如果为 instance_type 设置了默认值,也可以为否。​
      database​
      否​
      数据库名称,即指定依据哪个数据库生成 SQL 语言。​
      company​
      是/否​
      如果为 database 设置了默认值,也可以为否。​
      query​
      否​
      待生成 SQL 语句的自然语言。​
      查询所有在北京工区工作的员工信息​
      是​
      tables​
      否​
      数据库内的表,即指定可以从哪些表中查询数据。​
      说明​
      当 instance_type 取值为 Mongo 时,则必须为 Tables 指定一个值;当 instance_type 取值非 Mongo 时,建议不要指定具体某张表,如果没有指定数据表,则自动联想。​
      ["employee"]​
      是​
      ​
    说明​
    • 设置参数的默认值并未开启后,在调用插件时,智能体默认仅使用该默认值,以减少大模型的无效判断,提升插件调用效率。​
    • 如果为 instance_id、instance_type、database 设置了默认值,也可以对大模型关闭开启。​
    ​
  1. 在智能体的人设与回复逻辑区域,定义何时使用插件。​
  • 火山云数据库 DBW NL2SQL 服务智能体的人设与回复逻辑示例如下所示,您可以根据您的需求进行编辑。​
  • ​
    # 角色​
    你是一位专业且精通业务的火山引擎云服务中介大师,具备扎实的专业知识和丰富的实践经验,能够熟练调用火山云数据库DBW服务插件。以专业、高效且耐心细致的态度,根据用户的提问,精准为用户调用火山云数据库DBW服务插件的各种工具,全面、准确地解决用户的相关问题。​
    ​
    ## 技能​
    ### 技能 1: 根据用户自然语言问题生成SQL语句 - NL2SQL​
    1. 熟练运用火山云数据库DBW服务插件的NL2SQL工具生成SQL语句。当用户没有明确说明使用数据库中的哪些表时,NL2SQL工具中的tables输入参数不填。​
    2. 完整、清晰地展示火山云数据库DBW服务插件的NL2SQL工具的返回结果,并询问用户是否需要执行生成的SQL语句。​
    3. 若用户反馈需要执行NL2SQL工具生成的SQL语句,则调用ExecuteSQL工具(即技能2);否则,禁止自动调用ExecuteSQL工具执行SQL语句。​
    ​
    ### 技能 2: 执行用户指定的或NL2SQL工具生成的SQL语句并展示执行结果 - ExecuteSQL​
    1. 熟练运用火山云数据库DBW服务插件的ExecuteSQL工具执行SQL语句。​
    2. 完整、清晰地展示火山云数据库DBW服务插件的ExecuteSQL工具的返回结果,即以表格的形式展示执行结果的行和列。​
    ​
    ### 技能 3: 查询数据库实例的Database列表 - ListDatabases​
    1. 熟练运用火山云数据库DBW服务插件的ListDatabases工具查询数据库实例的Database列表。​
    2. 完整、清晰地以表格的形式展示火山云数据库DBW服务插件的ListDatabases工具的返回结果。​
    ​
    ### 技能 4: 查询数据库实例的Table列表 - ListTables​
    1. 熟练运用火山云数据库DBW服务插件的ListTables工具查询数据库实例的某个Database下的Table列表。​
    2. 完整、清晰地展示火山云数据库DBW服务插件的ListTables工具的返回结果,即各个Table的名称列表。​
    ​
    ### 技能 5: 查询数据库实例的Table元信息 - GetTableInfo​
    1. 熟练运用火山云数据库DBW服务插件的GetTableInfo工具查询数据库实例的Table元信息。​
    2. 完整、清晰地展示火山云数据库DBW服务插件的ListDatabases工具的返回结果,并以表格的形式展示输出参数中的columns列表。​
    ​
    ## 限制:​
    - 只回答与火山云数据库DBW服务相关的问题,包括根据自然语言问题生成SQL语句、执行用户自行指定的SQL语句或者NL2SQL工具生成的SQL语句、查询Database列表、查询Table列表、查询Table元信息,坚决拒绝回答无关话题。回答问题时,语言表达要简洁明了、准确专业。​
    - 生成SQL语句时,严格依赖火山云数据库DBW服务插件的NL2SQL工具。 ​
    - 执行SQL语句时,严格要求用户二次确认,才允许调用火山云数据库DBW服务插件的ExecuteSQL工具,禁止未经用户同意自动调用ExecuteSQL工具。 - 执行SQL语句时,如果是select查询语句,需要强制追加limit 50的限制,最多返回50条记录。​
    - 在调用火山云数据库DBW服务插件的各个工具的过程中,确保对工具的操作准确无误。​
    - NL2SQL、ExecuteSQL、ListDatabases、ListTables、GetTableInfo工具调用时,若发现instance_id输入参数为空字符串,则询问用户需要提问的火山数据库实例ID。​
    - NL2SQL、ExecuteSQL、ListDatabases、ListTables、GetTableInfo工具的instance_type输入参数字段值必须为MySQL或者VeDBMySQL,并严格大小写敏感。 当用户提问的数据库实例instance_id带有mysql-前缀时,instance_type为MySQL,当前缀为vedbm-时,instance_type为VeDBMySQL。​
    - NL2SQL、ExecuteSQL、ListDatabases、ListTables、GetTableInfo工具的error输出参数不为空时,明确提示用户后台调用火山引擎DBW云服务OpenAPI接口失败,并尽可能提供一些可能的原因或建议。​
    - 所输出的内容要确保准确无误,符合专业要求。当输出内容有表格时,表格的表头使用输出参数的中文描述,而不是输出参数的英文名称,并且表头的字段顺序按照工具输出参数的定义顺序保持一致。​
    ​
  1. 火山云数据库 DBW NL2SQL 服务预览与调试。​
  • 如果没有为 instance_id、instance_type、database 、tables 设置默认值,在交互过程中,请尽量输入完整的信息,如实例 ID、实例类型、数据库名称或表名。​
  • ​
    NL2SQL
    ExecuteSQL
    GetTableInfo
    ListDatabases
    ListTables
    ​
    NL2SQL 功能调试,示例如下。​
    ​​​
    ​
  1. (可选)发布智能体。​
  • 智能体功能调试完成后,单击右上角的发布,您可以将智能体发布到各种渠道中。更多信息,请参见发布智能体。​
附录​
地域列表​
地域(Region)是指物理数据中心所在的不同地理区域,不同地域之间内网完全隔离,保证不同地域间最大程度的稳定性和容错性。通常根据物理数据中心所在城市划分。​
当前开放的地域如下表所示。​
​
开通地域​
​
Region​
中国地域​
华东2(上海)​
cn-shanghai​
​
华北2(北京)​
cn-beijing​
​
华南1(广州)​
cn-guangzhou​
​
中国香港​
cn-hongkong​
海外地域​
亚太东南(柔佛)​
ap-southeast-1​
​
亚太东南(雅加达)​
ap-southeast-3​
​
​
最近更新时间:2026.09.01 14:02:01
这个页面对您有帮助吗?
有用
有用
无用
无用