内部资料,请扫码登录
pigcloud

# 背景
如上图所示为用户调用大模型进行处理的基本流程。为了规范大模型的调用,避免各种风险,经过大量的判断(包括敏感词和风控等),传统的 if else 判断已经不适合这种复杂的过程。因此引入 liteflow liteflow (opens new window)
# 规则定义
- 规则流转定义 xml

- 创建每个节点的规则实现

# 示例:新增新的风控规则
- 规则中增加 test , 风控规则并行执行

- 定义 test 规则业务
@Component("test")
public class TestRiskControlRule extends NodeComponent {
@Override
public void process() {
ChatMessageContext messageContext = this.getContextBean(ChatMessageContext.class);
// TODO 业务逻辑
// 如果触发此规则,则暂停流转
setIsEnd(true);
messageContext.setErrorMessage("错误原因");
}
}
# 规则配置项
spring:
ai:
knowledge:
sensitive-words: # 敏感词
enabled: true
risk-control: # 风控
enabled: false
no-limit-usernames: #不风控的账号列表
- admin