# 智能规则
智能规则节点是工作流中利用LLM辅助用户将规则转化为Python代码的节点。用户需配置输入参数，编写对输入参数的处理规则，并约束输出参数的类型。在测试运行工作流或单节点时，会尝试把规则转化为代码。若成功运行，则将代码填充至节点的规则代码中。用户可查看运行结果和代码，确认是否符合预期。单击保存工作流后，代码将被保存，下次运行时直接执行已保存的代码，无需重新生成。
#### 配置智能规则节点
1. 在工作流编排画布中，单击"添加节点"按钮，从节点列表中选择"智能规则"，即可将该节点添加至当前工作流编排画布中。 
   图1添加智能规则节点   
   ![](https://support.huaweicloud.com/usermanual-dataartsplatform/figure/zh-cn_image_0000002711528386.png "点击放大")
   
   
2. 单击"智能规则"节点，在弹出的节点详情页面中进行参数配置，参考[表1]。
   
   图2配置智能规则节点   
   ![](https://support.huaweicloud.com/usermanual-dataartsplatform/figure/zh-cn_image_0000002711528732.png "点击放大")
    表1智能规则节点参数说明 
   | 参数名称        | 参数说明                                                                                                                                                                                                                                                                                                                                                                     |
   |:---|:---|
   | 模型          | 选择配置的LLM，若存在可用模型，默认选择第一个，可以修改并配置高级模型参数选项。 - 多样性：控制模型输出的多样性，数值越高输出内容的差异性越大。  - 最大回复长度：控制模型输出的Tokens长度上限，默认为0时，表示不限制，由模型决定。   |
   | 输入参数        | 根据需要配置输入参数，默认为Object类型的cell_data（系统定义的表格类型参数，如语义模型节点输出的cell_data可直接使用）。                                                                                                                                                                                                                                                                                                    |
   | 规则内容         | 根据需要对输入参数进行处理的规则，如果是Object类型的cell_data的表格，可直接输入对表数据的常见处理，如排序、筛选、增减列、数学运算等。                                                                                                                                                                                                                                                                                                 |
   | 输出为CellData | 默认打开，根据实际需要关闭，如输入是一个Object类型的cell_data的表格，针对原表排序、筛选、增减列、数学运算等，输出新的表则保持开关打开，如提取表的某列的去重值或计算某列的最大值等场景，则需要关闭并在输出参数选择实际期待的类型。                                                                                                                                                                                                                                                 |
   | 输出参数       | 如果CellData打开，则固定输出record_count（记录数）+ cell_data（表格数据内容），否则根据需要自行选择，支持Boolean、Integer、Number、String、Object、Array，如果是Array，则支持数组里面是Boolean、Integer、Number、String、Object。                                                                                                                                                                                                     |
      
   
   
3. 单击上方的"保存"。
 
#### 节点运行说明
节点运行需要"规则内容"和"规则代码"中至少存在一项。若存在规则代码，则直接运行该规则代码；否则，从规则内容生成规则代码。运行成功后，将生成的代码填充为规则代码（仅包含核心规则逻辑代码）。单击"查看完整代码"，可查看完整可运行的代码；单击"保存"，即可保存代码，下次运行时会直接执行代码。
![](https://support.huaweicloud.com/usermanual-dataartsplatform/public_sys-resources/note_3.0-zh-cn.png)
1、LLM生成代码时会自动重试5次。若重试后仍无法正常运行代码，则本次生成失败，属正常现象。
2、规则代码支持编辑，请谨慎修改，避免修改后代码无法运行。
3、如需重新生成代码，请手动清理规则代码，再重新运行工作流或单个节点即可。
图3规则内容   
![](https://support.huaweicloud.com/usermanual-dataartsplatform/figure/zh-cn_image_0000002711696530.png "点击放大")
图4规则代码   
![](https://support.huaweicloud.com/usermanual-dataartsplatform/figure/zh-cn_image_0000002711536580.png "点击放大")
