Discourse Google Perspective API

:discourse2: 摘要 Google Perspective API 是 Discourse 的官方 Google Perspective API 插件
:hammer_and_wrench: 仓库链接 https://github.com/discourse/discourse-perspective-api
:open_book: 安装指南 如何在 Discourse 中安装插件

功能

Perspective API 是什么?

根据官方网站所述,“Perspective 是一个 API,使托管更好的对话变得更加容易。该 API 使用机器学习模型来评估评论可能对对话产生的感知影响。该模型是通过让人们在 非常有毒非常健康 的贡献范围内对互联网评论进行评分来训练的。有毒被定义为……粗鲁、不尊重或不合理的评论,这可能会让你离开讨论。”

discourse-perspective-api 插件能做什么?

  • 在提交前,如果用户提交的内容可能具有毒性,则提示用户确认。
  • 自动将有毒帖子标记为供管理员和版主审查。
  • 可选地扫描私有类别和私信中的有毒内容。

配置

我如何获取 Perspective API 密钥?

请按照以下说明创建 Google Cloud 账户并获取 API 密钥。

该 API 可免费使用,请参阅 API 参考文档。

站点设置指南

(管理员 → 在过滤文本字段中输入 ‘perspective’)

该 API 目前仅支持英语。
默认阈值设置得相当高,但这些设置提供了一些自定义选项,以便微调此插件的工作方式。使用上面官方文档中链接的实时演示,了解阈值将如何表现。

  • perspective_enabled:
    启用插件以过滤潜在有毒的帖子。

  • perspective_toxicity_model:
    选择 Google Perspective API 的毒性模型。阅读 API 参考文档。 了解更多关于这些模型的开发方式。

    • standard(标准)
      ​分类粗鲁、不尊重或不合理的评论,这些评论可能会让人们离开讨论。如果使用脏话和侮辱性语言是出于友好目的,则在标准模型上更容易超过阈值,并且帖子会被轻松标记。如果选择 0.9 的高阈值,标准模型将标记较少的帖子,并采取较少的错误操作。

    • severe toxicity(严重毒性,实验性)
      ​此模型使用与标准模型相同的算法,但经过训练以识别被认为是“非常有毒”的示例。这使得它对包含脏话正面用法的评论不那么敏感。仅当检测到极端毒性情况时才会标记帖子,并且此模型的阈值可以降低到 0.7 作为合理值。

    例如,包含 "I f*****g love you man" 的帖子将在 standard 模型下被标记(使用默认阈值),但在 severe toxicity 模型下不会被标记。

  • perspective_notify_posting_min_toxicity_enable:
    启用在用户尝试提交帖子时检查潜在有毒内容,并在用户编写有毒内容时在编辑器中推送通知。

    • perspective_notify_posting_min_toxicity:
      如果 API 返回的分数高于此阈值,我们将询问用户是否确定要发布潜在有毒内容。帖子毒性置信度在 0 到 1 之间,用于在用户撰写帖子时检查毒性,其中 1 表示极度有毒。高于 0.9 的值应仅标记高度有毒的帖子,具体取决于所使用的模型。由于用户将在发布前收到通知,我们可以在此处使用稍低的阈值,如 0.85,以提前警告用户。
  • perspective_flag_post_min_toxicity_enable:
    标记已提交的潜在有毒帖子,并发送消息通知管理员关于已提交的帖子。管理员/版主会收到关于被标记帖子的通知。

    • perspective_flag_post_min_toxicity:
      如果 API 返回的分数高于此阈值,我们将帖子标记供管理员/版主审查。帖子毒性置信度在 0 到 1 之间,用于在用户发布帖子后检查毒性,其中 1 表示极度有毒。高于 0.9 的值应仅标记高度有毒的帖子,具体取决于所使用的模型。
  • perspective_google_api_key:
    完成上述注册过程后收到的 Perspective API 的 API 密钥。

  • perspective_check_private_message:
    检查并标记有毒的私信。
    注意: PM 的内容将发送给管理员/版主。
    也适用于回填模式。

  • perspective_check_secured_categories:
    通过启用此设置,另外检查私有类别中的有毒内容。

  • perspective_backfill_posts:
    查询现有帖子的毒性并将结果记录在帖子自定义字段中。
    启用此模式将禁用帖子的在线检查。

  • perspective_historical_inspection_period:
    在完成上一次迭代后开始新查询迭代的周期(以天为单位)。仅在启用 perspective_backfill_posts 时使用。

截图

用户尝试提交有毒帖子时看到的内容:

管理员/版主在提交有毒帖子时看到的内容:

更新日志

待办事项


非常感谢 @fantasticfears 创建了这个插件!

49 个赞

看起来 API 已更新,现在支持俄语等更多语言。插件何时会更新以扩展支持?

2 个赞

同样的问题。它是否可以用于葡萄牙语,因为 API 目前支持葡萄牙语?

编辑:我已对其进行测试,它在葡萄牙语中运行完美。

我喜欢它。

5 个赞

关于这个 API 有什么新消息吗?我真的很想知道是否还有其他人正在使用它,以及有什么可以说的。

我们的客户正在使用 Discourse AI 插件上的“按角色分类”(Triage by Persona)功能,该功能可以实现所有这些功能,但允许针对每个社区的具体情况进行灵活调整。

4 个赞

Gemini Flash 2.0 对我的社区来说已经不够用了,基本上我没有除此 API 之外的毒性(Toxicity)工具,但没关系,我以后再考虑。

Gemini Flash 2.0 现在已经落后了好几个版本了,请尝试使用当前版本的 Gemini Flash。

2 个赞

重要通知: Perspective API 即将停用,服务将于 2026 年后正式终止。

我猜我们可以像垃圾邮件过滤一样,转向通用的 LLM 解决方案?是否有我可以订阅的路线图?

1 个赞

是的,如上所述使用人工智能 + 自动化

4 个赞