要約の再生成に関するルールを誰か説明してもらえませんか?スタッフは1時間後に要約を再生成できるという議論がありましたが、私が確認しているのはそれとは異なります。(何を確認しているのかはっきりしません。一貫性がないようです。)新しい投稿があった場合、再生成するオプションが表示されるべきですか?それは誰にでも、それともスタッフだけにですか?
実験の結果、以下のことがわかりました。
- 100件未満の投稿があるトピックでは、再生成ボタンはスタッフのみがすぐに有効にできます。
- 100件を超える投稿があるトピックでは、1時間待っても再生成ボタンは有効になりません。
再生成ボタンが有効になったとしても、スタッフが継続的にボタンを押すのは現実的なワークフローではないため、新しい投稿をリッスンするWebhookを実装し、https://forum.example.com/discourse-ai/summarization/t/12345 を使用して要約を再生成することを暫定的に計画しています。簡単な計算では、フォーラムの年間コストは約500ドルになります。予期せぬ高額なコストから保護しようとしていることは理解しています。
@markschmucker様
現在、DiscourseAIのトピック要約のバックフィル戦略に取り組んでいます。来週リリース予定で、完了したらこちらで更新します。
機能が追加されました @markschmucker。ai summary backfill maximum topics per hour のサイト設定で調整できます。
Anthropicダッシュボードで5分ごとにイベントが表示されるように12に設定しましたが、ダッシュボードからペイロードを確認できません。Discourseが再生成しているサマリーを確認するにはどうすればよいですか?
すべて ai_api_audit_logs テーブルに保存されています。Data Explorer をお持ちの場合は、次のクエリを使用できます。
SELECT
*
FROM
ai_api_audit_logs
ORDER BY
id DESC
LIMIT
100
それを試してみたところ、バックフィルによって一部の最新トピック(約100件、または過去数週間で更新されたトピック?)の要約が生成されるようです。
バックフィルサイクル中またはサイクル後に、要約を持つトピックに新しい投稿があった場合、その要約は自動的に更新されません。(投稿が100件未満の場合、スタッフが手動で押せる「再生成」ボタンがあります。)
新しい投稿があったトピックはいつ更新されるべきでしょうか?
SummariesBackfill ジョブで障害が発生したことがわかりました。Anthropic で日次レート制限に達しました。これが、おそらく最新の 100 件のトピックで停止したように見えた理由であり、更新されたトピックに新しい要約が追加されなかった理由でもあります。
レート制限に達しなかった場合、SummariesBackfill は 60,000 件すべてのトピックを要約しますか?長年アクティブでなかったトピックもですか?
ほとんどのトピックには 100 件以上の返信があります。1000 件以上の返信があるトピックが 8 件あります。
はい、5分ごとにバッチ処理を開始し、最も最近アクティブなものを優先し、すでに最新の要約があるものはスキップします。
1時間あたりの最大制限を、1時間あたりの新しいアクティビティがあるトピック数よりも高く設定すると、最終的にすべてのトピックがバックフィルされます。
機能リクエスト:ai summary backfill maximum age のような機能があれば、過去6か月間アクティビティのない古いトピックの要約にかかる多額のコストを回避できます。現在、関心のない60,000件のほとんどすべてを要約するには3,000ドルかかると見積もっています。
cc @Roman
Haiku 3.5をご利用中か確認させてください。これは良い要約を生成するはずです。
私は特に理由もなく Sonnet 3.5 を使用しています。Haiku 3.5 を使用すれば、コストを大幅に削減できるはずです。しかし、機能リクエストは依然として検討する価値があると思います。
はい、もちろんです。
バックフィリングアルゴリズムを自動化で作成できると思います。年齢以外にも調整できる多くのノブがあります。
- これらのカテゴリのみ
- Xビュー以上のコンテンツ
- Nいいね以上のコンテンツ
- 回答が承認されたコンテンツ
- Xより新しいコンテンツ
これのために10個のサイト設定を追加すると、ユーザーを圧倒してしまうでしょう。
マークに同意します。フォーラムにこれを実装する場合、新しいアクティビティのない古い投稿を要約したくないのです。AIは、要約がAIツールのほんの一部にすぎないことを考えると、現時点ではコストが高すぎます。
現在、ai summary backfill topic max age days があり、デフォルトは30日です。
古いトピックは、新しいアクティビティがない限り「再要約」されません。
すべての要約を rails c AiSummaries.destroy_all で削除し、ai summary backfill topic max age days を 60 に設定して別の LLM で新しい実行を開始しました。最初は ai summary backfill maximum topics per hour を高く設定しすぎていたため、レート制限により最新のトピックの多くが失敗しました。それは私のミスですが、60 日までバックフィルした後、新しいループを開始して失敗したトピックをバックフィルすると予想していました。しかし、そうはなっていません。60 日までバックフィルして停止しました。
ジョブは 5 分ごとに正常に実行されていますが、ミリ秒しかかからないため、明らかにバックフィルするものは見つかっていません。
ai_summaries および ai_api_audit_logs テーブルを使用して、Data Explorer で進捗(またはその欠如)を監視しています。
バックフィルされなかったトピックを手動で「要約」ボタンをクリックすると、新しい要約が生成されるため、AI プロバイダーに正しく接続されており、トピックは「要約可能」です。
/logs にエラーはありません。
何かアイデアはありますか?
問題が見つかりました。ai summary backfill topic max age days を topic.created_at と比較していますが、updated_at ではありません。これを updated_at に変更すべきだと思います。2年前に作成された非常にアクティブなトピックが毎週新しい投稿を受け取っていますが、最大期間を90日または1年に設定すると、それらのトピックは要約されなくなります。
変更をご検討ください。
.where("topics.created_at > current_timestamp - INTERVAL '#{max_age_days.to_i} DAY'")
多くの単一投稿トピックが頻繁に編集されます(ドキュメント)が、トピックが更新された場合にこれらの概要を更新することはできますか?
バックフィルジョブの間隔を可能であれば5分から1分に変更することを提案します。ほとんどの(?)AIプロバイダーは1分あたりのレート制限があるため、ジョブが毎分実行されれば、1分あたりのレート制限を超えずに5倍のサマリーを実行できます。