# 《ChatGPT 微服务应用体系构建》 - chatgpt-api 第6节:白名单和敏感词规则过滤
作者:小傅哥
博客:https://bugstack.cn (opens new window)
沉淀、分享、成长,让自己和他人都能有所收获!😄
- 本章难度:★★★☆☆
- 本章重点:通过策略模式 + 工厂服务,实现规则过滤功能。并将这样的功能结合到会话模型中。通过这样的设计,解耦核心流程与旁路分支。—— 重点:你必须要理解,规则是一个随着业务发展频繁变动的流程,但核心的代码并不会总调整。所以我们需要将这两部分分离。
- 课程视频:https://t.zsxq.com/12o12nG8i (opens new window)
版权说明:©本项目与星球签约合作,受《中华人民共和国著作权法实施条例》 (opens new window) 版权法保护,禁止任何理由和任何方式公开(public)源码、资料、视频等内容到Github、Gitee等,违反可追究进一步的法律行动。
作者:小傅哥
博客:https://bugstack.cn (opens new window)
沉淀、分享、成长,让自己和他人都能有所收获!😄
# 一、本章诉求
生成式服务的调用和响应,只能算是一个半成品,还缺少必备的控制和管理。比如;你部署服务后,外部的用户调用时是要做频次限制的,此外还要做非常重要的敏感词过滤。
所以本章节我们设计一个规则过滤模型教会大家来开发这样的功能,此外本章中的规则是做了2个实现,一个频次、一个敏感词。小傅哥建议你学习后,可以再添加一个频率限制。这样做完后,你就彻底学会这套规则的模型设计和实现了。
# 二、流程设计
频次、频率、白名单、敏感词等,都是用于支撑核心业务之外辅助流程,这些流程都是比较容易随着业务的变动而发生变化。所以我们要把这类东西设计在核心流程之外,而不能直接把规则的代码与核心业务的代码写在一块。因为区分不出边界的代码,会让工程的腐化程度不断加剧。
所以这里小傅哥带着你设计一个规则引擎,来扩展这些快内容的实现;
- 在前面章节中,我们把应答的处理设计为一个独立的 openai 领域模型结构,并对应答流程设计了接口和抽象类。
- 那么现在我们就可以在 openai 领域模型中设计规则模型的实现和调用,来处理流程中的规则内容处理。