Discourse AI - AI 分诊

AI 分类旨在通过自动化分类帖子来增强论坛帖子的管理和审核。
请注意,此功能需要 discourse-automation 插件(https://meta.discourse.org/t/discourse-automation/195773)和 discourse-ai 插件(https://meta.discourse.org/t/discourse-ai/259214)才能运行。

用例

  1. 自动帖子分类:AI 分类可以根据帖子内容自动对主题进行分类。这对于手动分类耗时较大的大型论坛特别有益。您可以将规则应用于主题的子集(仅限第一个主题或发布到特定类别的特定主题)

  2. 帖子打标签:AI 分类可以为帖子分配指定的标签。此功能有助于更好地组织帖子,使主题的搜索和检索更高效。

  3. 自动回复:AI 分类可以使用预定义的回复来生成对帖子的回复。这可用于解决常见问题或一般查询、将垃圾信息发送到垃圾邮件类别等。

  4. 隐藏主题:AI 分类可以根据某些标准隐藏主题。这可用于管理垃圾信息或不当内容。

  5. NSFW/毒性/垃圾信息检测

工作原理

AI 分类使用 AI 模型来分析帖子内容。基于此分析,如果模型返回特定文本,它将执行指定的动作。这些动作包括将帖子移动到指定类别、添加标签、使用预定义响应回复以及隐藏主题。





配置

:spiral_notepad: 系统提示字段已弃用,取而代之的是代理(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 个赞

作为有幸亲眼见证其运行的幸运儿之一,这是大型网站的一项功能,您应该真正理解并考虑使用它。

由于它使用基于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


是的,它甚至适用于英语以外的语言

但是它不适用于图像 :wink:,它不会将图像转换为文本然后运行检查,例如:

这是一个最近的误报,或者至少我认为是。


有关假/真阴性/阳性的详细信息 - 分类:真与假以及阳性与阴性

17 个赞

一个可能的功能。

至少对于审核帖子的版主来说,当他们查看主题时,将文本转换为版主的语言。这不仅仅是指标记,而是指查看帖子的任何时候。


有时在审查 Discourse AI 帖子分类器的操作时,需要将帖子的文本转换为我的语言(英语),以检查 AI 是否采取了正确的操作。目前,我更容易将文本粘贴到谷歌翻译中。

4 个赞

值得注意的是,这与此支线任务有关。

@keegan 正在致力于将 AI 助手集成到我们的弹出菜单中。因此,将来在遇到大量未知语言文本时,您将能够直接突出显示文本并进行翻译。

我们今天在编辑器中支持此功能,但一旦合并,您将能够突出显示任何 Discourse 帖子中的文本并获得基于 LLM 的快速翻译。

6 个赞

这……改变了我的人生。我能把感谢卡寄到哪里?

5 个赞

能否举例说明如何通过引用您论坛现有的标签来做到这一点?例如,帖子由 LLM 分析,最有可能/最相关的标签会被添加到帖子中。

3 个赞

我很喜欢这个问题,你能详细说明一下吗……你希望这如何运作?

  • 如果某个主题已有关联标签,你还会应用“自动标签”吗?
  • 你会将其应用于所有首帖,还是仅应用于特定群组的首帖?(例如:tl0 / tl1)
  • 这是你希望手动处理一部分主题的事情吗?

我们需要在这里做一些调整……目前分类器是二元的,但只要我们知道目标是什么,这些更改就相对容易。

3 个赞
  • 应用于类别中的所有新主题
  • 当然可以选择按信任级别进行区分。就像所有事物(在这种情况下,是每个社区)一样,这取决于具体情况。在我的社区中,我可能会为除 tl4 之外的所有人(或者如果该配置不可用,则为所有人)启用它。
  • 我更希望它在指定类别中的所有新主题上运行

这里的目标当然是永远不必自己处理主题标记,而是让 AI 完全根据创建的初始主题以及它查看我们现有的标签来完成此操作。

如果您能够为 Discourse 中的标签添加描述,并让它使用这些描述作为附加上下文来添加正确的标签,那么它可能会得到进一步的改进 :slight_smile:

6 个赞

首先,我想说明我完全支持这项功能,并希望它变得更好。以下是我目前了解到的(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 个赞

在这里,一个好的开场白是尝试在创意模式下进行提示:

例如……

你是一个 Discourse 自动标签器,你为主题建议一个标签列表。

标签是:

tag1:描述
tag2:描述

为以下主题建议最多 3 个标签:

TOPIC

在你的几个主题上试试这个,它效果如何?

8 个赞

效果很棒!谢谢

3 个赞

最近更新(2023年1月11日)

机器人的用户ID现在是 gpt-4-triage,至少在OpenAI论坛上是这样。

这样做的目的是让用户可以根据需要静音机器人。

image

机器人响应示例。

2 个赞

请注意,这是可配置的,您可以让自动回复来自您希望的任何用户

5 个赞

所以,在试用之后,我来跟进一下。

这似乎还处于早期阶段,我很期待它的发展,但 @jordan-violet 的看法 100% 符合我的目标。我确实尝试了 @sam 建议的测试提示,它似乎足够智能,可以理论上应用正确的标签。然而,目前的脚本似乎将适用标签限制为 7 个,而我们拥有的标签数量远不止于此。

简而言之?如果它能将现有标签语义化地应用于新主题,那就太好了。就论坛管理而言(即使在这里的元讨论区,我也注意到了!),持续应用标签以更好地组织社区及其内容仍然是一场艰苦的战斗,而且在大规模情况下会变得一团糟。对于我们这些依赖标签的人来说,这将是一个福音,即使它只有 75% 的准确率。

我会关注它的发展!

2 个赞

太棒了!您有什么调试建议吗?我刚刚配置了一个自动化,但它没有按预期触发。我没有看到任何相关的日志。

1 个赞

嗯,这里发生了什么,你能开一个专门的主题吗?

我记得我一开始没有设置这个选项。当我设置之后,它就开始工作了。

3 个赞

快速提问。是否有计划为这些自动化显示审计日志(也许类似于您已有的 webhook 模式)?

这将有助于缓解自动化启用后我感到的“你做了什么”的恐惧感 :sweat_smile:

Ai log 已经存储了所有 llm 交互。您今天可以通过数据浏览器查询来使用它。

2 个赞

虽然这是事实,但很难将 llm_triage 类型的日志条目与其影响的帖子/主题或已采取(或未采取)的相应操作联系起来。

能够概览这些操作将非常棒 :slight_smile:

5 个赞