你可以通过创建变量来保存用户维度的个人信息,并让模型记住这些特征,使回复更加个性化。
变量用来存储数据值,可以在低代码应用运行期间保存和修改数据。通过变量,可以存储动态变化的信息,使低代码应用能够根据不同情况灵活调整,满足用户的特定需求和偏好。
低代码应用支持系统变量、应用变量和用户变量,详细说明如下:
关于这三种变量的详细说明,可参考变量类型。
开发者为低代码应用定义变量之后,可以通过工作流的变量赋值节点为变量赋值,其他节点可以读取变量值并进行下一步的逻辑判断。例如英语学习场景中,可以为低代码应用设置一个英语水平的数值类型变量,随着学习进度逐渐提高此变量的值,并基于变量值向学员展示对应英语水平的学习内容。
开发低代码应用时,可以通过系统变量、应用变量和用户变量来满足不同的业务需求和场景。每种变量类型都有其特定的用途和优势,以下是对这些变量类型的介绍说明。
系统默认创建用户信息、飞书等类别的系统变量,你不可以新增、修改、删除默认的系统变量。这些系统变量默认全部关闭,为不可用状态,你可以根据实际业务需求选择开启需要的系统变量。开启后,系统在用户请求时自动产生变量数据,这些数据是只读的,但不可由用户或开发者修改。通过问答、结束等工作流节点可以获取系统变量值,变量名称必须与低代码应用中设置的变量名称一致。
扣子默认创建的系统变量如下,每个变量获取的数据不同,支持使用的渠道也不同。
|
变量分类 |
变量名称 |
变量描述 |
数据类型 |
支持渠道 |
|---|---|---|---|---|
|
用户信息 |
sys_uuid |
扣子账号 UID、发布渠道 ID 与低代码应用 ID 组合后的编码值,用于识别和追踪用户行为。 |
String |
全部渠道 |
|
飞书 |
sys_lark_chat_id |
飞书群的群 ID。详细说明可参考群 ID 说明。 |
String |
飞书 |
|
sys_lark_chat_mode |
飞书群的群模式,包括普通对话群组、话题群组和单聊。详细说明,请参考群组管理概述。 |
String |
飞书 |
|
|
sys_lark_open_id |
飞书用户在低代码应用内的身份 ID。详细说明,请参考用户身份。 |
String |
飞书 |
|
|
sys_lark_thread_id |
飞书的话题 ID,详细说明可参考话题概述。 |
String |
飞书 |
使用场景
示例
例如,搭建一个家居商品推荐应用,它需要根据每个用户的喜好来推荐家居用品。在这个低代码应用中,系统变量 sys_uuid 作为用户的唯一 ID,用于追踪用户的家居偏好。
应用变量本质是内存变量,每执行一次工作流,应用变量就会自动恢复到最初设定的默认值,就像游戏中的生命值,每次开始新的一局游戏时,生命值都会重置为游戏设定的初始值。应用变量支持可读可写。
使用场景
示例
例如,搭建一个猜谜游戏工作流,定义一个应用变量score,默认值设置为 0 。在工作流中添加变量赋值节点,每猜对一个谜语,变量score数值加 1,重新开始新的一局游戏时,score都会重置为游戏设定的初始值 0。
用户变量用于存储每个用户在使用低代码应用过程中,需要持久化存储和读取的数据,例如用户的个性化设置、语言偏好、历史交互记录等。开发者可以在扣子编程中配置用户变量,并在用户与低代码应用交互时存储和检索这些变量,用户变量的值在用户会话之间持久化存储,支持可读可写。
使用场景
示例
例如,搭建一个 AI 翻译应用,定义一个用户变量name,当用户首次使用 AI 翻译应用时,工作流会引导用户输入他们希望被称呼的昵称,这个昵称会被赋值给用户变量name。随后,每次用户请求翻译服务时,低代码应用会先亲切地使用这个昵称来称呼用户,然后再提供翻译结果。这样的个性化互动不仅增强了用户体验,也使得 AI 翻译服务更加友好和贴心。
定义和使用变量时,请了解以下限制:
创建低代码应用之后,扣子编程默认为应用添加系统变量。你也可以根据业务场景的需求,为应用添加用户变量或应用变量。
注意
修改变量,例如修改变量的名称、数据类型,可能会影响使用此变量的工作流的运行。因此,如果要修改变量,请同步更新工作流中的变量配置。
为低代码应用定义变量的操作步骤如下:
登录扣子编程。
在页面顶部选择目标工作空间,然后在左侧导航栏中单击项目管理。
在项目管理页面,找到你已经创建的低代码应用。
在业务逻辑页面的左侧资源区域单击变量。
展开应用变量或用户变量,然后单击 + 新增子项,填写变量信息。
单击保存。
你可以通过工作流中的节点来读取系统变量、用户变量和应用变量的值。要读取这些变量,只需在工作流节点中定义一个参数,并将所需变量的值赋给这个参数。这样,你就可以通过访问这个参数来读取变量的值。
说明
目前,除了开始节点、输入节点、知识库写入节点外,其他所有节点都能读取变量值。
例如,搭建一个 AI 翻译应用时,可以设定一个用户变量name。用户首次使用应用时,系统会提示他们输入昵称,该昵称将存储在name变量中。翻译任务通过大模型节点执行,完成后,结束节点会读取name变量的值,并用昵称称呼用户,随后展示翻译结果。
在低代码应用中定义变量时,可以为变量设置一个默认值,否则工作流中首次读取变量值时可能会读取到空值,影响后续的逻辑判断。你也可以通过工作流的变量赋值节点为变量赋值,新的变量值对整个应用中所有工作流生效。
在变量赋值节点中,在输入中添加需要赋值的参数。字段名设置为需要赋值的应用变量名称,变量值可以设置为固定值,也可以引用上游节点的输出参数,详情可参考变量赋值节点。
例如添加一个工作流,专门用于为变量name赋值。该工作流可包装为设置用户昵称的功能。
应用变量本质是内存变量,每次重新打开低代码应用或发起一个新的请求时,应用变量就会自动恢复到最初设定的默认值。
例如,搭建一个猜谜游戏工作流,并定义一个应用变量score,默认值设置为 0 。在工作流中添加变量赋值节点,每猜对一个谜语,变量score数值加 1,重新开始新的一局游戏时,score都会重置为游戏设定的初始值 0。
你可以在变量页面的测试数据页签下查看系统中存储的变量值。请注意,你只能查看系统变量和用户变量存储的变量值,因为这些变量会被持久化存储。而应用变量仅临时保存,并在会话结束时消失,因此无法查看应用变量的变量值。