sam
(Sam Saffron)
1
AI 分类旨在通过自动化分类帖子来增强论坛帖子的管理和审核。
请注意,此功能需要 discourse-automation 插件(https://meta.discourse.org/t/discourse-automation/195773)和 discourse-ai 插件(https://meta.discourse.org/t/discourse-ai/259214)才能运行。
用例
-
自动帖子分类:AI 分类可以根据帖子内容自动对主题进行分类。这对于手动分类耗时较大的大型论坛特别有益。您可以将规则应用于主题的子集(仅限第一个主题或发布到特定类别的特定主题)
-
帖子打标签:AI 分类可以为帖子分配指定的标签。此功能有助于更好地组织帖子,使主题的搜索和检索更高效。
-
自动回复:AI 分类可以使用预定义的回复来生成对帖子的回复。这可用于解决常见问题或一般查询、将垃圾信息发送到垃圾邮件类别等。
-
隐藏主题:AI 分类可以根据某些标准隐藏主题。这可用于管理垃圾信息或不当内容。
-
NSFW/毒性/垃圾信息检测
工作原理
AI 分类使用 AI 模型来分析帖子内容。基于此分析,如果模型返回特定文本,它将执行指定的动作。这些动作包括将帖子移动到指定类别、添加标签、使用预定义响应回复以及隐藏主题。
配置
系统提示字段已弃用,取而代之的是代理(Agents)。如果您在进行此更改之前就有 AI 自动化设置,系统将自动创建一个具有相关系统提示的新代理。
要配置 AI 分类,您需要指定某些参数:
- 代理 (Agent):用于分类的代理。确保它只回复一个单词,您可以使用该单词触发下面的操作。
- 搜索文本 (Search for Text):如果 LLM(大型语言模型)回复中出现以下文本,则应用以下操作。
- 最大帖子令牌数 (Max Post Tokens):使用 LLM 分类扫描的最大令牌数。
- 停止序列 (Stop Sequences):指示模型在到达其中一个值时停止生成令牌。
- 最大输出令牌数 (Max Output Tokens):如果指定,将设置模型可以生成的令牌的最大上限。
- 包含私人消息 (Include Personal Messages):也扫描和分类私人消息。
- 类别 (Category):如果找到指定的文本,帖子将被移动到的类别。
- 标签 (Tags):如果找到指定的文本,将添加到帖子中的标签。
- 隐藏主题 (Hide Topic):如果启用此选项,如果找到指定的文本,主题将被隐藏。
- 标记帖子 (Flag post):如果启用此选项,帖子将被标记到审核队列,供版主、工作人员和管理员采取行动。
- 标记类型 (Flag type):应用的标记类型。选项包括:
- 添加到审核队列 — 仅发送到审核队列
- 添加到审核队列并隐藏帖子 — 发送到审核队列并隐藏帖子
- 添加到审核队列并删除帖子 — 发送到审核队列并软删除帖子
- 添加到审核队列、删除帖子并静默用户 — 发送到审核队列、软删除帖子并静默用户
- 标记为垃圾信息并隐藏帖子 — 标记为垃圾信息并隐藏
- 标记为垃圾信息、隐藏帖子并静默用户 — 标记为垃圾信息、隐藏并静默用户
- 回复用户 (Reply User):将在被提及的被引用回复中使用的用户。
- 回复 (Reply):如果找到指定的文本,将发布的预定义回复。
- 回复代理 (Reply Agent):用于回复的 AI 代理。必须具有默认的 LLM,将优先于罐装回复。它将有条件地回复,不像 Discourse AI - 使用代理进行 AI 分类。
- 以私语形式回复 (Reply as Whisper):AI 的回复是显示为私语 还是正常回复。
- 通过 PM 通知作者 (Notify author via PM):当作者的帖子被排队和删除时,向其发送私人消息。
- PM 发送者 (PM sender):将发送 PM 的用户(默认为系统)。
- PM 内容 (PM content):发送给作者的可选自定义消息。
注意事项
- LLM 调用可能很昂贵。应用分类器时,请注意监控成本,并始终考虑仅在小范围内运行此功能。
- 我们测试(并在为客户生产环境中运行)的特定用例是用户的第一篇主题的分类。
- 我们建议您使用AI 机器人来帮助撰写代理的系统提示。
37 个赞
EricGT
(EricGT)
3
作为有幸亲眼见证其运行的幸运儿之一,这是大型网站的一项功能,您应该真正理解并考虑使用它。
由于它使用基于LLM的人工智能,因此它并不总是能得出正确的结论,但它在我看到的几天使用中,在完成版主部分工作中做得非常正确,无疑带来了显著的好处。
关于此功能的一些早期讨论可以在 OpenAI 网站的 Lounge 版块中找到。虽然任何人都可以访问该版块,但必须满足 TL3 要求,并且由于 OpenAI 是一个大型网站,因此要达到该网站的 TL3 需要付出相当大的努力。
对于有权限的用户,这是链接
https://community.openai.com/t/lost-users-first-empirical-data/403082/95
基本上,该逻辑正在帮助版主解决一个特定问题,我们发现大约 5% 的新用户发帖,他们认为论坛是他们向 ChatGPT 提问的地方,显然他们迷路了,或者搜索结果提供了无效链接。该人工智能会识别此类帖子,回复预先写好的文本,并根据需要更改版块和标签,例如:
对于上述案例,“Discourse AI Post Classifier - Automation rule”正在执行以下操作:
自动帖子分类
分类器会根据需要将版块更改为 ChatGPT。由于大多数新用户不会选择版块,因此 OpenAI 网站目前默认将新帖子的版块设置为 API,这在此情况下是不正确的。
帖子标签
分类器会将标签更改为 lost-user。标签名称是由论坛上的 TL3 用户创建的,该用户曾手动更改标签。
自动回复
分类器会回复预先写好的帖子。
隐藏主题
这些主题被设为不公开,因为它们对使用该网站的开发者没有价值。
回复用户
System 被用作回复的创建者。
注意:我会提供此功能的配置,但我缺乏访问权限。也许 @Sam 可以添加详细信息,据我所知,它可以公开,因为配置中没有任何机密信息。由于它是针对特定网站的,因此不应在公共存储库中找到它。如果您了解这项技术,那么猜测正确的值或接近的值并不难。系统提示确实需要一些工作,也许 @sam 可以分享一些经验教训,在开发阶段,如何制作提示的知识非常有价值。
系统提示
注意:这是在 OpenAI Lounge 中发布的一个版本(参考),我很确定最终版本有所不同,但一个示例可以节省大量猜测。
您是一个机器人,负责对用户在 OpenAI 开发者论坛上的所有首次互动进行分类。
请仅回复“ok”或“bad”。
帖子如果符合以下条件,则为相关且正确:
与 OpenAI API / 社区 / 插件开发 / 文档 / 提示相关
关于开发或改进大型语言模型提示的方法
与人工智能一般相关
涉及与人工智能相关的复杂讨论或逻辑问题
如果帖子符合以下条件,则为错误:
用户似乎在与 ChatGPT 进行随意对话
用户在讨论无关领域的无关主题
用户在没有明确目的的情况下提示大型语言模型生成文本
您很难理解它们是关于什么的
与 OpenAI 主题相关但明显是与机器人进行的对话
用户试图通过其帖子来训练或测试 AI 模型
用户正在以非讨论格式提供说明或请求回复
用户发布的帖子不利于有意义的讨论或学习
用户发布的假设性或推测性内容与 OpenAI 的范围没有明确关系
用户发布的整个帖子不是英文
请分类以下用 [[[]]] 括起来的内容:
[[[
%%POST%%
]]]
供参考
如果您是使用此功能的网站版主,并且您想/需要查看未公开帖子的列表,请记住您无法使用搜索。但是,您可以通过导航到版块然后选择标签来找到此类列表。或者,您也可以手动构建 URL,例如 https://community.openai.com/tags/c/chatgpt/19/lost-user
是的,它甚至适用于英语以外的语言
但是它不适用于图像
,它不会将图像转换为文本然后运行检查,例如:
这是一个最近的误报,或者至少我认为是。
有关假/真阴性/阳性的详细信息 - 分类:真与假以及阳性与阴性
17 个赞
EricGT
(EricGT)
4
一个可能的功能。
至少对于审核帖子的版主来说,当他们查看主题时,将文本转换为版主的语言。这不仅仅是指标记,而是指查看帖子的任何时候。
有时在审查 Discourse AI 帖子分类器的操作时,需要将帖子的文本转换为我的语言(英语),以检查 AI 是否采取了正确的操作。目前,我更容易将文本粘贴到谷歌翻译中。
4 个赞
sam
(Sam Saffron)
5
值得注意的是,这与此支线任务有关。
@keegan 正在致力于将 AI 助手集成到我们的弹出菜单中。因此,将来在遇到大量未知语言文本时,您将能够直接突出显示文本并进行翻译。
我们今天在编辑器中支持此功能,但一旦合并,您将能够突出显示任何 Discourse 帖子中的文本并获得基于 LLM 的快速翻译。
6 个赞
能否举例说明如何通过引用您论坛现有的标签来做到这一点?例如,帖子由 LLM 分析,最有可能/最相关的标签会被添加到帖子中。
3 个赞
sam
(Sam Saffron)
8
我很喜欢这个问题,你能详细说明一下吗……你希望这如何运作?
- 如果某个主题已有关联标签,你还会应用“自动标签”吗?
- 你会将其应用于所有首帖,还是仅应用于特定群组的首帖?(例如:tl0 / tl1)
- 这是你希望手动处理一部分主题的事情吗?
我们需要在这里做一些调整……目前分类器是二元的,但只要我们知道目标是什么,这些更改就相对容易。
3 个赞
- 应用于类别中的所有新主题
- 当然可以选择按信任级别进行区分。就像所有事物(在这种情况下,是每个社区)一样,这取决于具体情况。在我的社区中,我可能会为除 tl4 之外的所有人(或者如果该配置不可用,则为所有人)启用它。
- 我更希望它在指定类别中的所有新主题上运行
这里的目标当然是永远不必自己处理主题标记,而是让 AI 完全根据创建的初始主题以及它查看我们现有的标签来完成此操作。
如果您能够为 Discourse 中的标签添加描述,并让它使用这些描述作为附加上下文来添加正确的标签,那么它可能会得到进一步的改进 
6 个赞
EricGT
(EricGT)
10
首先,我想说明我完全支持这项功能,并希望它变得更好。以下是我目前了解到的(2023年10月16日)它的工作方式的一些事实。作为OpenAI的类别版主,我每天都会审查所有新帖子,但不一定审查所有回复,并且确实会看到所有AI误报和漏报。
作为使用此功能(Discourse AI Post Classifier - Automation rule)的用户,请注意:
- 它并非100%准确
- 目前需要手动操作来撤销AI的误报。根据更改的性质,可能需要类别版主或更高级别的人员来处理;特别是列出一个未列出的主题。
- 可能会漏掉一些主题,即漏报。
- 许多收到AI自动回复的用户不明白如何标记AI的误报回复,因此需要手动识别和更改。所以需要真实用户来捕捉这些。
- 了解如何构建提示词以使其按需工作。
- 可能需要进行微调和/或使用代理(agents)才能达到期望的满意度水平,这可能会很昂贵。
- 无法跟踪误报和漏报,以便了解如何更改提示词和/或可能的微调和/或代理。
误报(false positive)- AI本不应进行更改但进行了更改,这是不正确的。
漏报(false negative)- AI本应进行更改但未进行更改,这是不正确的。
真阳性(true positive)- AI进行了更改,这是正确的。
真阴性(true negative)- AI未进行更改,这是正确的。
4 个赞
sam
(Sam Saffron)
11
在这里,一个好的开场白是尝试在创意模式下进行提示:
例如……
你是一个 Discourse 自动标签器,你为主题建议一个标签列表。
标签是:
tag1:描述
tag2:描述
为以下主题建议最多 3 个标签:
TOPIC
在你的几个主题上试试这个,它效果如何?
8 个赞
EricGT
(EricGT)
13
最近更新(2023年1月11日)
机器人的用户ID现在是 gpt-4-triage,至少在OpenAI论坛上是这样。
这样做的目的是让用户可以根据需要静音机器人。

机器人响应示例。
2 个赞
sam
(Sam Saffron)
14
请注意,这是可配置的,您可以让自动回复来自您希望的任何用户
5 个赞
所以,在试用之后,我来跟进一下。
这似乎还处于早期阶段,我很期待它的发展,但 @jordan-violet 的看法 100% 符合我的目标。我确实尝试了 @sam 建议的测试提示,它似乎足够智能,可以理论上应用正确的标签。然而,目前的脚本似乎将适用标签限制为 7 个,而我们拥有的标签数量远不止于此。
简而言之?如果它能将现有标签语义化地应用于新主题,那就太好了。就论坛管理而言(即使在这里的元讨论区,我也注意到了!),持续应用标签以更好地组织社区及其内容仍然是一场艰苦的战斗,而且在大规模情况下会变得一团糟。对于我们这些依赖标签的人来说,这将是一个福音,即使它只有 75% 的准确率。
我会关注它的发展!
2 个赞
aas
17
太棒了!您有什么调试建议吗?我刚刚配置了一个自动化,但它没有按预期触发。我没有看到任何相关的日志。
1 个赞
aas
19
我记得我一开始没有设置这个选项。当我设置之后,它就开始工作了。
3 个赞
loginerror
(Maciej Kuźmicz)
20
快速提问。是否有计划为这些自动化显示审计日志(也许类似于您已有的 webhook 模式)?
这将有助于缓解自动化启用后我感到的“你做了什么”的恐惧感 
sam
(Sam Saffron)
21
Ai log 已经存储了所有 llm 交互。您今天可以通过数据浏览器查询来使用它。
2 个赞
loginerror
(Maciej Kuźmicz)
22
虽然这是事实,但很难将 llm_triage 类型的日志条目与其影响的帖子/主题或已采取(或未采取)的相应操作联系起来。
能够概览这些操作将非常棒 
5 个赞