重建摘要是如何工作的?

有人能解释一下关于重新生成摘要的规则吗?之前有讨论说工作人员可以在一小时后重新生成摘要,但这似乎与我看到的不符。(不确定我看到的是什么——似乎不一致。)如果有一个新帖子,它应该提供重新生成的选项吗?是提供给任何人,还是仅限工作人员?

实验后,我看到以下情况:

  • 对于帖子少于 100 个的主题,仅限管理员立即启用重新生成按钮
  • 对于帖子多于 100 个的主题,即使等待一小时后,重新生成按钮也未启用

即使重新生成按钮启用了,对于我们的员工来说,不断点击按钮也不是一个可行的工作流程,所以我初步计划实现一个监听新帖子的 webhook,使用 https://forum.example.com/discourse-ai/summarization/t/12345 重新生成摘要。快速计算表明,我们论坛每年的成本约为 500 美元。我意识到 Discourse 正在努力防止意外的大额成本。

@markschmucker

我们目前正在为 DiscourseAI 中的主题摘要制定回填策略。我们计划下周发布,届时我将在此处向您更新。

4 个赞

我们现在有了该功能 @markschmucker,您可以通过 ai summary backfill maximum topics per hour 站点设置进行调整。

我已经将其设置为 12,并且在我的 Anthropic 信息中心可以看到每 5 分钟发生一次事件,正如预期的那样。但我无法从该信息中心看到有效负载。我该如何查看 Discourse 正在重新生成什么摘要?

所有内容都存储在 ai_api_audit_logs 表中。如果您有 Data Explorer,可以使用以下查询:

SELECT
  *
FROM
  ai_api_audit_logs
ORDER BY
  id DESC
LIMIT
  100

在尝试了该功能后,我发现回填会为一些最新主题生成摘要(似乎是大约 100 个主题或过去几周更新过的主题?)。

在回填周期期间或之后,如果一个带有摘要的主题收到了新帖子,其摘要不会自动更新。(如果帖子数少于 100 篇,则有一个“重新生成”按钮供管理员手动点击。)

带有新帖子的主题何时应更新?

回复发布后最多 5 分钟内应更新主题,至少对于回复少于 50 条的普通主题是这样。

您的社区是否更侧重于大型主题?

cc @Roman

我现在看到 SummariesBackfill 作业失败了——我在 Anthropic 遇到了每日速率限制。这可能就是为什么它似乎在处理了大约 100 个最新主题后停止了,也可能是为什么更新的主题没有获得新摘要的原因。

如果我没有遇到速率限制,SummariesBackfill 会总结我们所有的 60,000 个主题吗?即使是那些已经多年不活跃的主题?

大多数主题都有超过 100 条回复。我们有 8 个主题有超过 1000 条回复。

是的,它每 5 分钟启动一次进行批量处理,优先处理最近活跃的主题,并跳过那些已有最新摘要的主题。

如果您配置的每小时最大限制高于您每小时新活动主题的数量,平均而言,它最终会回填所有主题。

2 个赞

功能请求:需要类似 ai summary backfill maximum age 的功能,这样我们就可以避免花费大量成本来总结那些在过去六个月内没有活动的旧主题。我估计总结所有 60,000 个主题将花费 3,000 美元,而其中大部分我们并不关心。

抄送 @Roman

只是确认一下,您使用的是 haiku 3.5 吗?它应该能产生很好的摘要。

我正在使用 sonnet 3.5,没有特别的原因。Haiku 3.5 应该能大大降低成本。但我认为这个功能请求仍然值得考虑。

1 个赞

当然可以。
我认为我们可以在自动化中创建一个复杂的填充算法,因为除了年龄之外,还有很多可以调整的参数。

  • 仅限这些类别
  • 观看次数超过 X 的内容
  • 点赞数超过 N 的内容
  • 有已接受答案的内容
  • 新于 X 的内容

为此添加 10 个站点设置会让用户不知所措。

2 个赞

我同意马克。如果我们要在论坛上实施这一点,我们不希望旧帖子在没有新活动的情况下被重新总结。考虑到摘要只是人工智能工具中很小的一部分,目前人工智能的成本太高了。

1 个赞

现在有 ai summary backfill topic max age days,默认值为 30 天。

除非有新活动,否则旧主题不会被“重新总结”。

3 个赞

我使用 rails c AiSummaries.destroy_all 清除了所有摘要,并使用不同的 LLM 重新开始运行,将 ai summary backfill topic max age days 设置为 60。起初,我将 ai summary backfill maximum topics per hour 设置得太高,导致许多最新的主题因速率限制而失败。这是我的错,但我期望在回填到 60 天后,它会开始一个新的循环并回填失败的主题。但它没有这样做——它回填到 60 天就停止了。

该作业每 5 分钟成功运行一次,但只花费几毫秒,显然找不到任何需要回填的内容。

我正在使用 Data Explorer 监控进度(或缺乏进度),使用的是 ai_summariesai_api_audit_logs 表。

如果我手动点击一个未回填主题的“摘要”按钮,它确实会生成一个新的摘要,所以我与 AI 提供商的连接是正常的,并且这些主题是“可摘要的”。

/logs 中没有错误。

有什么想法吗?

找到了问题。它正在将 ai summary backfill topic max age daystopic.created_at 进行比较,而不是 updated_at。我认为这应该改为 updated_at - 我有很多非常活跃的主题是在两年前创建的,但每周仍然有新帖子,如果我使用 90 天甚至一年的最大年龄,这些主题将不会被总结。

请考虑更改此设置。

.where("topics.created_at > current_timestamp - INTERVAL '#{max_age_days.to_i} DAY'")

如果某个主题(文档)得到更新,我们是否可以更新这些摘要?

建议将回填作业的间隔从 5 分钟更改为 1 分钟(如果可能)。大多数(?)人工智能提供商都有每分钟的速率限制,因此如果作业每分钟运行一次,您就可以在不超出每分钟速率限制的情况下完成 5 倍的摘要。