《扣子编程:从零开始搭建智能体 卢欣欣 清华大学出版社》【摘要 书评 试读】- 京东图书

《扣子编程:从零开始搭建智能体》全书案例持续更新-CSDN博客

9.3.1扣子数据库概述

扣子数据库是专为AI智能体设计的轻量级、结构化数据存储与管理组件。它可以使智能体具备“持久化记忆”的能力,使其能够跨越单次对话的局限,长期存储、管理和调用业务产生的关键数据,从而将简单的问答机器人升级为具备实际业务处理能力的智能化应用。扣子数据库具有以下特征。

  • 结构化存储:采用类似电子表格的二维表格形式来组织数据,由行(记录)和列(字段)构成,适用于管理订单、用户信息、待办事项等具有明确结构的数据。
  • 自然语言交互:支持通过自然语言指令(NL2SQL)直接操作数据库。开发者无需掌握复杂的SQL编程,即可让智能体理解“帮我记下这笔开销”等用户意图,并自动完成数据的增、删、改、查。
  • 灵活的权限模式:提供单用户和多用户两种数据隔离模式,为构建不同场景的应用提供了基础的安全与协作框架。两者核心的区别在于数据的访问权限和隔离方式,具体区别如表9-1所示。

表9-1  单用户模式和多用户模式对比

对比维度

单用户模式

多用户模式

核心逻辑

渠道隔离,数据天然按用户分开

数据池共享,所有数据在一起

用户权限

只能操作自己的数据

可操作任何数据,权限由业务逻辑控制

数据隔离性

强隔离,安全性高

无天然隔离,需要自行设计权限

适用场景

个人化、私密性应用(如记账、日记)

协作型、公共性应用(如留言板、排行榜)

  1. 扣子数据库定位于轻量级、结构化的数据管理,而非一个完整的关系数据库管理系统。如果涉及的数据体量较大,或者高频数据访问,还是建议使用专业的数据库管理系统来进行数据管理和维护。

9.3.2创建扣子数据库和数据表

在本案例中,对于存储景点基础数据信息和用户预约信息,需要设计两张数据表。具体操作步骤说明如下。

步骤1:打开添加数据库页面。进入扣子编程页面,单击左侧导航中的“资源库”链接,进入资源库页面。然后单击右上角“+ 资源”按钮,从下拉菜单中选择“数据库”选项。如图9-3所示。

图9-3 创建数据库

步骤2:选择数据库创建方式。在弹出的窗口中选择“扣子数据库”创建方式,如图9-4所示。

图9-4 选择数据库创建方式

步骤3:填写数据表基本信息。在“创建数据库”窗口中,填写本案例的数据表名称“scenic_spot_info”及其描述信息,创建一张用于存储景点信息的数据表。单击 按钮可以自动生成一个合适的图标。最后,单击“确认”按钮,如图9-5所示。

图9-5 填写数据表基本信息并创建

步骤4:增加数据表字段。接下来会自动打开“新建数据表”窗口。权限模式保持默认“单用户模式”不变。然后依次填写字段名称、描述、选择数据类型、是否必填。填写一行后可单击“+ 添加存储字段”按钮再新增一行。最后单击“保存”按钮完成数据表结构的创建,如图9-6所示。

图9-6 添加数据表字段

在创建数据表时,系统会自动添加id、sys_platform、uuid、bstudio_create_time四个字段,用户不能修改和删除。添加数据时,也不需要为这四个字段设置值,由系统自动完成赋值操作。

  1. id:数据的唯一标识(主键),用于唯一标识一条记录。
  2. sys_platform:用于记录数据产生或使用的渠道,比如:扣子、微信小程序、飞书等,便于区分数据来源和分类统计。
  3. uuid:用户的唯一标识,由系统生成,用于记录数据来源于哪个用户。
  4. bstudio_create_time:用于记录数据插入的时间。

步骤5:重复步骤1~步骤4,创建预约记录表reservation_record,用于存储用户的预约信息,该表的结构设计如表9-2所示。

表9-2  预约记录表的结构

字段名称

数据类型

是否必填

说明

order_id

String

预约编号,可通过时间戳或UUID生成

user_name

String

访客姓名

phone_number

String

联系电话

id_card_last4

String

身份证号码后4位

visit_date

String

预约日期

time_slot

String

入园时段

status

String

已预约(默认值)、已取消、已完成、已过期

9.3.3管理数据表结构

步骤1:单击“扣子编程”左侧导航中的“资源库”,在打开的资源库页面中可以查看已创建的数据表,可以对数据表进行复制、编辑或删除操作。如图9-7所示。

图9-7 资源库

步骤2:单击数据表名称,进入如图9-8所示的数据表管理页面。在此页面中可以对数据表结构和数据进行管理。

图9-8 管理数据表

步骤3:单击图9-8所示的“编辑表结构”按钮,可以对数据表的字段名称、数据类型进行修改,也可以新增或删除字段,如图9-9所示。

图9-9 修改数据表结构

  1. 如果删除已有字段,会导致用户原有数据被清空且不可恢复,需要谨慎操作。

9.3.4管理数据表数据

在开发调试和正式运行阶段,为了保障智能体与工作流的数据安全、环境隔离与业务稳定,避免调试过程中的错误配置、脏数据和异常操作影响正式业务的开展,扣子数据表将数据分为测试数据和线上数据两种。

  1. 测试数据:用于开发者在“预览”或“调试”模式下进行功能验证、内部调试及错误排查。此模式下产生的增删改查操作仅存在于开发环境,不会影响真实用户的数据,也不会产生实际的业务记录。
  2. 线上数据:用于智能体正式发布后,面向真实终端用户正常业务访问、流程执行、数据入库与日常业务归档,严格保持数据规范稳定、不可随意改动,确保正式业务数据干净可追溯。

增加数据时,支持单行增加和批量导入两种方式。以增加一条“测试数据”为例,操作步骤说明如下。

步骤1:在图9-8所示的数据表管理页面中,单击“测试数据”切换至测试数据模式。

步骤2:单击“+ 增加行”链接,打开“增加行”对话框。

步骤3:在弹出的“增加行”对话框中逐一填写数据信息。

步骤4:单击“插入”按钮完成数据的添加,如图9-10所示。

图9-10 添加数据

数据添加成功后,在当前页面可以查看到已添加的数据。单击数据右侧的 按钮可以修改数据,单击 按钮可以删除该数据,如图9-11所示。

图9-11 管理数据

Logo

DAMO开发者矩阵,由阿里巴巴达摩院和中国互联网协会联合发起,致力于探讨最前沿的技术趋势与应用成果,搭建高质量的交流与分享平台,推动技术创新与产业应用链接,围绕“人工智能与新型计算”构建开放共享的开发者生态。

更多推荐