AI 超级智能体 - 实现敏感词拦截Advisor

实现了自定义常见敏感词拦截Advisor,使用了https://github.com/houbb/sensitive-word 这个插件。

text
复制代码
private static final String DEFAULT_FAILURE_RESPONSE = "用户内容涉及敏感内容,我无法回答。问点其他问题试试呢?"; private int order = 2; public CommonSafeGuardAdvisor() {} @Override public ChatClientResponse adviseCall(ChatClientRequest chatClientRequest, CallAdvisorChain callAdvisorChain) { String userMessages = chatClientRequest.prompt().getUserMessage().getText(); boolean IsContains = SensitiveWordHelper.contains(userMessages); if(IsContains) { return createFailureResponse(chatClientRequest); } ChatClientResponse chatClientResponse = callAdvisorChain.nextCall(chatClientRequest); return chatClientResponse; } @Override public Flux<ChatClientResponse> adviseStream(ChatClientRequest chatClientRequest, StreamAdvisorChain streamAdvisorChain) { String userMessages = chatClientRequest.prompt().getUserMessage().getText(); boolean IsContains = SensitiveWordHelper.contains(userMessages); if(IsContains) { return createFailureResponseFlux(chatClientRequest); } Flux<ChatClientResponse> chatClientResponseFlux = streamAdvisorChain.nextStream(chatClientRequest); return chatClientResponseFlux; } private ChatClientResponse createFailureResponse(ChatClientRequest chatClientRequest) { return ChatClientResponse.builder().chatResponse(ChatResponse.builder().generations(List.of(new Generation(new AssistantMessage(this.DEFAULT_FAILURE_RESPONSE)))).build()).context(Map.copyOf(chatClientRequest.context())).build(); } private Flux<ChatClientResponse> createFailureResponseFlux(ChatClientRequest chatClientRequest) { ChatClientResponse response = ChatClientResponse.builder().chatResponse(ChatResponse.builder().generations(List.of(new Generation(new AssistantMessage(this.DEFAULT_FAILURE_RESPONSE)))).build()).context(Map.copyOf(chatClientRequest.context())).build(); return Flux.just(response); } @Override public int getOrder() { return this.order; } @Override public String getName() { return this.getClass().getSimpleName(); }
0个评论
点击登录,快来和大家讨论吧~
表情
图片
暂无评论
Cestbon
下载 APP