更新时间:2025-08-20 GMT+08:00
分享

设置华为云Astro轻应用标准页面智能助手组件属性

智能助手用于快速生成一个AI对话界面,可以辅助研发人员进行编码、查询知识和相关作业信息、编写文档等。

当前组件是基于Vue3架构渲染的,为了保证组件能够正常运行,使用前请确保您的应用已切换至Vue3框架,具体操作请参见使用华为云Astro轻应用设置应用的兼容性

图1 智能助手

数据绑定

标准页面中的组件,通过建立不同类型的视图模型,将各种数据源和组件的返回值或者属性值进行关联,实现动态数据效果。
  • 值绑定:值绑定类似Vue中的v-model语法,组件上创建双向数据绑定。值绑定会根据组件类型自动选取正确的方法来更新元素。同时,负责检测各类引起绑定数据变化的事件以更新数据。
    1. “数据绑定”中,单击“值(value)绑定”中的,进入选择模型页面。
    2. 单击“新增模型”,进入新增模型页面。
    3. 设置“模型名称”“来源”,单击“下一步”。
      图2 定义模型

      华为云Astro轻应用支持自定义、对象、服务和事件四类模型,每类模型都包含参数定义和方法定义。方法是在模型上定义的API,通常会在前台组件关联的事件脚本(例如页面加载事件、鼠标单击事件)中调用这些API,以实现某些功能。

      表1 模型来源说明

      分类

      模型说明

      模型参数的定义

      模型方法的定义

      API调用方法

      自定义

      开发者自行定义的模型。

      由开发者自定义,可以添加子节点。

      开发者自定义方法。

      $model.ref("modelName").actionName();

      对象

      由Object对象表映射生成,关于对象模型的详细介绍,请参见对象

      系统自动获取Object所有的字段,开发者可以从中选择部分字段作为参数。

      系统自动生成查询、保存、删除和统计四个方法。

      • 查询:$model.ref("modelName").query(param);
      • 保存:$model.ref("modelName").save();
      • 删除:$model.ref("modelName").delete();
      • 统计:$model.ref("modelName").count();

      服务

      服务模型由后台服务映射生成,当前仅支持与服务编排、脚本进行映射。关于服务模型的详细介绍,请参见服务编排脚本

      参数根据后台服务的入参、出参,映射生成为inputParam和outputParam节点。

      系统自动生成run方法 ,用于执行模型关联的服务编排或脚本。

      $model.ref("modelName").run();

      事件

      事件模型由后台事件的字段映射生成,并且支持websocket刷新模型数据。

      参数根据后台事件的字段映射生成。

      直接使用

      直接使用

      除了在模型中定义的方法,低代码平台还提供了如下标准API,适用于所有的模型。

      • 获取模型数据:$model.ref("modelName").getData();
      • 设置模型数据:$model.ref("modelName").setData();
      • 设置模型字段值:$model.ref("modelName").setValue(key,value);
    4. 在新建模型“设置”页面,执行如下操作。
      • 上一步来源选择“自定义”,需要添加子节点自定义参数及类型。
      • 上一步来源选择“对象”,需要配置模型关联的对象以及字段。
      • 上一步来源选择“服务”,需要配置模型关联的后台服务,可以是脚本、服务编排或者公共接口。
      • 上一步来源选择“事件”,需要配置模型关联的事件以及事件字段。
    5. 单击“下一步”,设置方法。

      方法一般无需添加,如需添加或修改,可参考对象和服务默认生成的方法。

    6. 设置完成后,单击“确定”。
  • 属性值绑定:将容器组件的某个属性,如隐藏、样式、弹性布局等与具体的模型字段绑定,绑定后组件的属性随模型字段的值变化而变化,类似Vue的v-bind。
    1. “数据绑定”中,单击“属性值绑定”后的“+”
    2. “属性”下拉框中,选择容器的某个属性。
    3. 在模型字段中,单击,进入选择模型页面。
    4. 单击“新增模型”,进入新增模型页面。
    5. 设置模型名称与来源,单击“下一步”。
      华为云Astro轻应用支持自定义、对象、服务和事件四类模型,每类模型都包含参数定义和方法定义。方法是在模型上定义的API,通常会在前台组件关联的事件脚本(例如页面加载事件、鼠标单击事件)中调用这些API,以实现某些功能。详细介绍,请参见表1
      图3 定义模型
    1. 在新建模型“设置”页面,执行如下操作。
      • 上一步来源选择“自定义”,需要添加子节点自定义参数及类型。
      • 上一步来源选择“对象”,需要配置模型关联的对象以及字段。
      • 上一步来源选择“服务”,需要配置模型关联的后台服务,可以是脚本、服务编排或者公共接口。
      • 上一步来源选择“事件”,需要配置模型关联的事件以及事件字段。
    2. 单击“下一步”,设置方法。

      方法一般无需添加,如需添加或修改,可参考对象和服务默认生成的方法。

    3. 设置完成后,单击“确定”。

基本属性

基本属性通过数据绑定后,在运行时以数据绑定的值为准。

  • 品牌名:设置智能助手的品牌名,默认为“智能助手”
  • 品牌Logo:智能助手的品牌Logo,建议使用JPG、JPEG、PNG和GIF格式的图片,且图片的大小不能超过50MB。
  • 内容区背景图片:设置智能助手内容区域的背景图片,建议使用JPG、JPEG、PNG和GIF格式的图片,且图片的大小不能超过50MB。
    图4 内容区域
  • 占位符:设置智能助手输入卡片的占位符。
    图5 占位符
  • 欢迎语:设置智能助手组件的欢迎语。
    图6 欢迎语
  • 展示快捷指令:是否展示快捷指令,默认为开启。开启后,需要设置具体的快捷指令。
  • 快捷指令:设置快捷指令,提高操作效率、降低操作难道等。开启“展示快捷指令”时,需要设置,必须为Json格式。
    图7 设置快捷指令效果
    [
        {
            "key": "text abstract",
            "label": "文本摘要",
            "desc": "低代码具备哪些优势"
        },
        {
            "key": "keyword extraction",
            "label": "关键词提取",
            "desc": "帮我提取文档中的关键词"
        },
        {
            "key": "text translation",
            "label": "文本翻译",
            "desc": "帮我翻译一句话"
        }
    ]
  • 展示猜你想问:智能助手界面是否显示猜你想问,默认为开启。开启后,需要设置具体的问题。
  • 猜你想问:设置用户想咨询的问题,帮助用户快速定位到感兴趣的内容。开启“展示猜你想问”时,需要设置,必须为Json格式。
    图8 设置猜你所想效果
    [
        {
            "label": "低代码典型使用场景",
            "value": "轻应用构建,零代码应用构建,行业应用构建"
        },
        {
            "label": "低代码具备哪些优势",
            "value": "降低应用构建门槛,加速业务敏捷创新,支撑大型企业级应用构建"
        }
    ]
  • 描述:设置智能助手的描述信息,必须为Json格式。
    图9 设置描述后效果
    [
        "智能助手描述",
        "智能助手可以辅助研发人员编码、查询知识和相关作业信息、编写文档等"
    ]
  • 展示点赞:是否在模型回答区域展示点赞,默认为关闭。
  • 展示点踩:是否在模型回答区域展示点踩,默认为关闭。
  • 展示对话历史:是否展示历史对话,默认为开启。开启后,有助于开发者了解用户的常见问题。
    图10 开启历史对话效果
  • 对话历史列表:展示的历史对话列表,必须为Json格式。
    图11 历史对话列表
    [
        {
            "id": 15453742,
            "sessionId": "c19809****202a4dab1",
            "title": "title",
            "createTime": "2025-03-31 17:37:46",
            "updateTime": "2025-04-01 19:47:14",
            "messages": []
        }
    ]
  • 使用条款链接:使用条款链接,不配置则不展示。
    图12 设置使用条款链接后效果
  • 隐私声明链接:隐私声明链接,不配置则不展示。
    图13 设置隐私声明链接后效果

高级属性

  • 知识库:是否使用知识库,默认为关闭。对于查询文献资料的场景,当用户自身资料文档数量庞大,使用资料不方便、查询效率低下时,智能助手组件能够协助用户调用大模型接口获取答案。同时,通过RAG这个技术,结合知识库,为用户提供更为智能、自然的对话体验,提升信息检索的准确性和相关性。
    构建知识库功能受限使用,需要提交工单申请开通。
    图14 开启知识库效果
  • 大模型:是否支持对接大模型连接器,默认为关闭。开启大模型前,需要先在大模型连接器中配置大模型对接的信息,再在智能助手组件中选取对应的大模型连接器。如何创建大模型连接器,请参见使用连接器调用大模型
    图15 开启大模型效果
  • 默认大模型:单击“设置默认模型”,添加使用连接器调用大模型中创建的大模型连接器。
  • 温度:控制生成内容的随机性和创造性,数值越大生成的内容越随机。
  • 多样性:返回概率总和>=top_p的内容,控制生成内容多样性。其中,“top_p”为大模型核采样参数的名称。
  • 重复惩罚:“0”表示无惩罚,正值表示增加惩罚,抑制重复,负值表示减少惩罚,允许更多重复。

公共

  • 控件名称:当前组件的名称。
  • 隐藏:是否隐藏该组件,此方式为静态配置该组件的隐藏。还可以将该组件属性值“隐藏”配置为布尔类型模型字段,在自定义JS代码中来控制模型字段取值,从而设置该组件是否隐藏,这种动态设置优先级是最高的。

样式

  • 布局:设置组件的宽度、高度等。
  • 字体:设置字体大小、字体样式、颜色等。
  • 背景:设置背景颜色、透明度。
  • 边框:设置边框颜色、宽度等,支持“px”、“em”和“%”三种单位。
  • 阴影:设置阴影颜色、模糊、扩散等,支持“px”、“em”和“%”三种单位。
  • 高级设置
    • 样式源码:组件具体样式代码,组件样式设置后,样式代码将自动显示在“样式源码”中,也可以自定义样式代码,对组件进行详细配置,自定义代码支持多行输入,并高亮显示样式参数。
    • 样式类:当前组件使用的CSS样式类名,可在CSS代码中进行引用。

事件

选中智能助手组件,在“事件”页签可为组件添加事件。

图16 添加事件
表2 事件说明

事件

说明

发送事件

当用户在单击发送按钮时,触发此事件。按照如下内容,可以获取到当前对话的内容。

// 当前组件
const _component = context.$component.current;
// 获取当前对话数据
const messages = _component.getMessages()
console.log(messages );

停止回答

发送过程中,单击停止回答,用于打断调用大模型接口,通常需要主动关闭与大模型的连接。

// 当前组件
const _component = context.$component.current;
// 获取当前操作列数据
const currentRecord = _component.getCurrentRecord();
console.log(currentRecord);

点击历史对话

单击历史列表中的项时,触发此事件。按照如下内容,可以获取到当前单击项的数据。

// 当前组件
const _component = context.$component.current;
// 获取单击项内容
var currentChat = _component.getCurrentHistoryData();
console.log(currentChat );

修改历史对话

修改历史列表中的名称时,触发此事件。按照如下内容,可以获取被修改后的数据。

// 当前组件
const _component = context.$component.current;
// 获取单击项内容
var currentChat = _component.getCurrentHistoryData();
console.log(currentChat );

删除历史对话

删除历史对话列表中的数据时,触发此事件。按照如下内容,可以获取即将被删除的对话内容。

// 根据当前组件获取待删除数据
const _component = context.$component.current;
const currentData = _component.getCurrentHistoryData();

新建对话

单击新建对话时,触发该事件。触发该事件后,将清空当前对话列表,重新开始新的对话。

换一批

单击“猜你想问”列表中的换一批按钮时,可以触发此事件。开启对话组件配置中的“展示猜你想问”开关时,该配置才会生效。

点赞

单击大模型回答区域的点赞按钮时,触发此处事件。按照如下内容,可以获取到点赞区域的内容。

// 当前组件
const _component = context.$component.current;
// 获取当前操作列数据
const currentRecord = _component.getCurrentRecord();
console.log(currentRecord);

点踩

单击大模型回答区域的点踩按钮时,触发此处事件。按照如下内容,可以获取到点踩区域的内容。

// 当前组件
const _component = context.$component.current;
// 获取修改后的数据
const currentRecord = _component.getCurrentRecord();
console.log(currentRecord);

回答完成

当前对话回答完成后或单击“停止回答”后,触发该事件。按照如下内容,可以获取到当前对话的内容。

// 当前组件
const _component = context.$component.current;
// 获取当前对话数据
const messages = _component.getMessages()
console.log(messages );

相关文档

除了直接使用标准页面预置的智能助手组件构建AI工具,华为云Astro轻应用还支持通过自定义标准组件的方式构建AI工具,例如通过对接AI开发平台ModelArts中的DeepSeek模型构建AI工具,详细介绍请参见华为云Astro轻应用构建智能助手模板

相关文档