我们将使用OpenAI上的两个可用模型以及LangChain创建一个自我调节的评论回复系统,以防止我们的系统受到恶意攻击。
请注意,本文仅仅是一个示例,用于演示LangChain工具的工作原理。创建自我调节的评论系统有很多种方式。本文将探讨的是一种非常基本的解决方案。
基本思想是将最终发布回复的模型与回答的用户输入相隔离。
换句话说,我们不允许解释用户文本的模型成为发布回复的最终权威。这样,我们可以保护系统免受用户潜在的攻击。
为了防止我们的调节系统出现问题或不礼貌,LangChain将按照以下步骤进行操作:
- 第一个模型读取用户输入。
- 它生成一个回复。
- 第二个模型分析回复。
- 如果需要,它会进行修改并最终发布回复。
正如您所看到的,第二个模型负责决定是否可以发布回复。因此,我们将防止它与用户输入直接接触。
源代码。
本文基于一个笔记本,我在其中使用了两个不同的OpenAI模型。然而,还有两个补充的笔记本,使用了Hugging Face模型来实现相同的解决方案。其中一个笔记本使用了EleutherAI/gpt-j-6b模型,另一个使用了meta-llama/Llama-2-7b-chat-hf模型,后者是著名的LLAMA-2模型系列中的一部分,由Meta发布。
这三个笔记本都可以在“Large Language Models course” GitHub存储库中找到。
- Llama2-7B Notebook: https://github.com/peremartra/Large-Language-Model-Notebooks-Course/blob/main/HF_LLAMA2_LangChain_Moderation_System.ipynb