Comment fonctionne la régénération des résumés ?

Quelqu’un peut-il expliquer les règles de régénération des résumés ? Il y a eu une discussion selon laquelle le personnel peut régénérer les résumés après une heure, mais ce n’est pas ce que je vois. (Je ne suis pas sûr de ce que je vois - cela semble incohérent.) S’il y a un nouveau message, devrait-il offrir la possibilité de régénérer ? Et à n’importe qui, ou juste au personnel ?

Après avoir expérimenté, voici ce que je vois :

  • Pour les sujets comportant moins de 100 messages, le bouton de régénération est activé immédiatement pour le personnel uniquement.
  • Pour les sujets comportant plus de 100 messages, le bouton de régénération n’est pas activé, même après une attente d’une heure.

Même si le bouton de régénération était activé, ce n’est pas un flux de travail viable pour notre personnel de cliquer continuellement sur les boutons. Je prévois donc provisoirement de mettre en œuvre un webhook qui écoutera les nouveaux messages et régénérera le résumé en utilisant https://forum.example.com/discourse-ai/summarization/t/12345. Un calcul rapide indique que cela coûterait environ 500 $/an pour notre forum. Je réalise que Discourse essaie de se protéger contre un coût inattendu et important.

Salut @markschmucker,

Nous travaillons actuellement sur une stratégie de remplissage pour les résumés de sujets dans DiscourseAI. Nous prévoyons de la déployer la semaine prochaine, et je vous tiendrai informé ici lorsqu’elle sera disponible.

4 « J'aime »

Nous avons la fonctionnalité maintenant @markschmucker, vous pouvez l’ajuster via le paramètre du site ai summary backfill maximum topics per hour.

J’ai réglé cela sur 12 et sur mon tableau de bord Anthropic, je vois un événement toutes les 5 minutes, comme prévu. Mais je ne peux pas voir la charge utile à partir de ce tableau de bord. Comment puis-je voir quel résumé Discourse régénère ?

Tout est stocké dans la table ai_api_audit_logs. Si vous avez Data Explorer, vous pouvez utiliser la requête suivante :

SELECT
  *
FROM
  ai_api_audit_logs
ORDER BY
  id DESC
LIMIT
  100

Après avoir joué avec ça, il semble que le remplissage génère des résumés pour certains des derniers sujets (environ 100 sujets ou des sujets mis à jour au cours des dernières semaines ?).

Pendant ou après le cycle de remplissage, si un sujet avec un résumé reçoit un nouveau message, son résumé n’est pas automatiquement mis à jour. (S’il a moins de 100 messages, il y a un bouton “Régénérer” que le personnel peut actionner manuellement.)

Quand le sujet avec un nouveau message devrait-il être mis à jour ?

Il doit être mis à jour dans les 5 minutes suivant la publication d’une réponse, du moins pour les sujets normaux de moins de 50 réponses.

Votre communauté est-elle plus axée sur les méga-sujets ?

cc @Roman

Je vois maintenant qu’il y a eu un échec dans le job SummariesBackfill - j’ai atteint une limite de débit quotidienne chez Anthropic. C’est peut-être pourquoi il a semblé s’arrêter après peut-être les 100 derniers sujets, et aussi pourquoi le sujet mis à jour n’a pas reçu de nouveau résumé.

Si je n’avais pas atteint de limite de débit, est-ce que SummariesBackfill résumerait nos 60 000 sujets ? Même ceux qui sont inactifs depuis des années ?

La plupart des sujets ont plus de 100 réponses. Nous avons 8 sujets avec plus de 1000 réponses.

Oui, il démarre toutes les 5 minutes pour effectuer un lot, en donnant la priorité aux plus récents actifs et en ignorant ceux qui ont déjà un résumé à jour.

Si vous configurez votre limite maximale par heure pour qu’elle soit supérieure au nombre de sujets ayant une nouvelle activité par heure, en moyenne, il finira par remplir tous vos sujets.

2 « J'aime »

Demande de fonctionnalité : quelque chose comme ai summary backfill maximum age, afin de ne pas engager de coûts importants pour résumer d’anciens sujets sans activité au cours des six derniers mois. J’estime que cela nous coûterait 3 000 $ pour résumer les 60 000 articles, dont la plupart ne nous intéressent pas.

cc @Roman

Je confirme ici, utilisez-vous haiku 3.5, cela devrait produire de bons résumés

J’utilise sonnet 3.5, sans raison valable. Haiku 3.5 devrait réduire considérablement les coûts. Je pense que la demande de fonctionnalité mérite toujours d’être prise en compte.

1 « J'aime »

oui certainement.

Je pense que nous pourrions créer un algorithme sophistiqué de remplissage a posteriori dans l’automatisation, car il y a beaucoup de paramètres que vous pourriez vouloir ajuster au-delà de l’âge.

  • Uniquement ces catégories
  • Articles avec plus de X vues
  • Articles avec plus de N likes
  • Articles avec des réponses acceptées
  • Articles plus récents que X

L’ajout de 10 paramètres de site pour cela submergera les utilisateurs.

2 « J'aime »

Je suis d’accord avec Mark. Si nous devons implémenter cela pour notre forum, nous ne voulons pas que les anciens messages sans nouvelle activité soient résumés. L’IA est trop coûteuse pour le moment, étant donné que les résumés ne sont qu’une petite partie de tous les outils d’IA.

1 « J'aime »

Il existe maintenant ai summary backfill topic max age days, et il est défini par défaut sur 30 jours.

Les anciens sujets ne sont pas « résumés » à moins qu’il n’y ait une nouvelle activité.

3 « J'aime »

J’ai effacé tous les résumés avec AiSummaries.destroy_all dans rails c, et j’ai lancé une nouvelle exécution avec un LLM différent, en utilisant ai summary backfill topic max age days = 60. Au début, j’avais réglé ai summary backfill maximum topics per hour trop haut, donc beaucoup des sujets les plus récents ont échoué à cause des limites de débit. C’est de ma faute, mais je m’attendais à ce qu’après avoir rempli les données jusqu’à 60 jours, il démarre une nouvelle boucle et remplisse les sujets échoués. Cependant, il ne le fait pas - il a rempli les données jusqu’à 60 jours, puis s’est arrêté.

Le travail s’exécute avec succès toutes les 5 minutes, mais ne prend que quelques millisecondes, donc évidemment il ne trouve rien à remplir.

Je surveille la progression (ou son absence) avec Data Explorer, en utilisant les tables ai_summaries et ai_api_audit_logs.

Si je clique manuellement sur le bouton Résumer d’un sujet qui n’a pas été rempli, il génère un nouveau résumé, donc je suis correctement connecté au fournisseur d’IA, et les sujets sont « résumables ».

Aucune erreur dans /logs.

Des idées ?

J’ai trouvé le problème. Il compare ai summary backfill topic max age days à topic.created_at, et non à updated_at. Je pense que cela devrait être changé en updated_at - j’ai de nombreux sujets très actifs créés il y a deux ans qui reçoivent encore de nouveaux messages chaque semaine, mais si j’utilise un âge maximum de 90 jours ou même un an, ces sujets ne seront pas résumés.

Veuillez envisager de changer cela.

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

Puis-je mettre à jour ces résumés si un sujet est mis à jour, alors que j’ai de nombreux sujets de publication unique qui sont beaucoup modifiés (docs) ?

Suggérez de changer l’intervalle du travail de remplissage de 5 minutes à 1 minute si possible. La plupart(?) des fournisseurs d’IA ont des limites de débit par minute, donc si le travail s’exécutait chaque minute, vous pourriez obtenir 5 fois plus de résumés sans dépasser les limites de débit par minute.