如上图所示为用户调用大模型进行处理的基本流程。为了规范大模型的调用,避免各种风险,经过大量的判断(包括敏感词和风控等),传统的 if else 判断已经不适合这种复杂的过程。因此引入 LiteFlow 规则引擎 - LiteFlow 官网
@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