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个评论
全部评论
点击登录,快来和大家讨论吧~
表情
图片
暂无评论
内容推荐
Day 68时间19:00~ 22:00(3h)✅ 今天做了:Component注解、Mybatis配置、使用⏰ 明天计划:Lombok、Mapper映射、动态SQL📚 今日感悟:自动配置类DataSourceAutoConfiguration ,会读取properties文件,通过注解:@EnableConfigurationProperties(DataSourceProperties.cl
2
Day 19✅ 今天做了:MCP⏰ 明天计划:AI智能体构建📚 今日感悟:今天MCP问题有点多有点杂,明天找时间再捋一下。继续加油
1
Day 25✅ 今天做了:1、扇贝英语单词打卡2、英语听说读写、听力练习3、微信阅读15分钟4、编程导航学习⏰ 明天计划:待定📚 今日感悟:Keep going!
2
Day 104✅ 今天做了:学习了Java反射及快速入门⏰ 明天计划:继续学习Java反射
1
为啥codex老是提示这个啊
1

