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 密钥。

  • perspective_check_private_message:
    检查并标记私人的有害消息。
    注意: 私信的内容将发送给版主/管理员。
    此设置也适用于回填模式。

  • 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 个赞