Discourse AI - Sujets connexes

:bookmark: Ce guide explique comment activer et configurer la fonctionnalité Sujets similaires du plugin Discourse AI.

:person_raising_hand: Niveau d’utilisateur requis : Administrateur

Les Sujets similaires aident les utilisateurs à découvrir du contenu pertinent en suggérant des sujets sémantiquement similaires à celui qu’ils sont en train de lire. Cela améliore l’exploration du contenu et augmente l’engagement des utilisateurs.

Fonctionnalités

  • Similarité textuelle sémantique : Va au-delà de la correspondance par mot-clé pour trouver du contenu véritablement connexe
  • Basculez entre les sujets « Suggérés » et « Similaires »
  • Disponible pour les utilisateurs anonymes et connectés

Activation des Sujets similaires

:information_source: Les Sujets similaires sont activés par défaut pour tous les clients hébergés par Discourse disposant du plugin Discourse AI activé.

Prérequis

Les Sujets similaires nécessitent le fonctionnement des Embeddings.

Si vous êtes sur notre hébergement, les Embeddings sont fournis à l’aide d’un modèle open-source. Aucune configuration supplémentaire n’est requise.

Les instances auto-hébergées devront configurer un modèle d’embedding via un fournisseur pris en charge.

Configuration

  1. Accédez à Administration → Plugins → Discourse AI → Fonctionnalités IA
  2. Trouvez le module Embeddings et configurez-le :
    • Définissez ai_embeddings_selected_model sur une définition d’embedding que vous avez configurée
    • Activez ai_embeddings_enabled pour activer les Embeddings
  3. Activez ai_embeddings_semantic_related_topics_enabled pour activer la fonctionnalité Sujets similaires

Configuration d’un modèle d’embedding

Avant d’activer les embeddings, vous devez configurer un modèle d’embedding. Accédez à Administration → Plugins → Discourse AI → Embeddings pour créer une nouvelle définition d’embedding. Vous pouvez choisir parmi plusieurs préréglages :

  • Open AI : text-embedding-3-small ou text-embedding-3-large (recommandé pour la plupart des sites)
  • Google : gemini-embedding-001
  • Hugging Face (inférence auto-hébergée) : multilingual-e5-large (recommandé pour les sites non anglais ou multilingues), bge-large-en, ou bge-m3

Vous devrez fournir une clé API (ou lier un Secret IA) et une URL de point de terminaison pour le fournisseur que vous avez choisi.

Paramètres supplémentaires

Les paramètres suivants vous permettent d’affiner la fonctionnalité Sujets similaires :

  • ai_embeddings_semantic_related_topics : Nombre maximum de sujets à afficher dans la section des sujets similaires (par défaut : 5)
  • ai_embeddings_semantic_related_include_closed_topics : Indique s’il faut inclure les sujets fermés dans les résultats similaires (par défaut : true)
  • ai_embeddings_semantic_related_age_penalty : Applique une pénalité aux sujets plus anciens afin que le contenu plus récent soit préféré (par défaut : 0.0, plage : 0.0–2.0)
  • ai_embeddings_semantic_related_age_time_scale : Échelle de temps en jours pour la pénalité d’âge (par défaut : 365)

FAQ Technique

Développer pour voir un diagramme de l'architecture des Sujets similaires

L’aperçu est que lorsqu’un sujet est créé/mis à jour, ceci se produit :

sequenceDiagram
    User->>Discourse: Crée un sujet
    Discourse-->>Embedding Microservice: Génère des embeddings
    Embedding Microservice-->>Discourse: 
    Discourse-->>PostgreSQL: Stocke les Embeddings 

Et lors de la visite du sujet :

sequenceDiagram
    User->>Discourse: Visite un sujet
    Discourse-->>PostgreSQL: Interroge les sujets les plus proches
    PostgreSQL-->>Discourse: 
    Discourse->>User: Présente les sujets similaires 

Comment fonctionnent les Sujets similaires ?

  • Lorsqu’un utilisateur visite un sujet, Discourse interroge la base de données pour trouver les sujets les plus sémantiquement similaires en fonction de leurs représentations intégrées (embeddings). Ces sujets similaires sont ensuite présentés à l’utilisateur, encourageant une exploration plus approfondie du contenu de la communauté.

Comment les données des sujets/publications sont-elles traitées ?

  • Pour les sites hébergés par Discourse, les données sont traitées dans notre centre de données privé virtuel sécurisé. Pour les sites auto-hébergés, le traitement des données dépend du fournisseur tiers que vous avez choisi.

Où sont stockées les données d’embeddings ?

  • Les données d’embeddings sont stockées dans votre base de données Discourse, aux côtés d’autres données de forum telles que les sujets, les publications et les utilisateurs.

Quels modèles d’embedding sont disponibles ?

  • Discourse AI prend en charge les modèles d’OpenAI (text-embedding-3-small, text-embedding-3-large), de Google (gemini-embedding-001), les points de terminaison compatibles avec Hugging Face (bge-large-en, bge-m3, multilingual-e5-large), et Cloudflare Workers AI. Vous pouvez également configurer des modèles d’embedding personnalisés via l’interface d’administration.
14 « J'aime »

Quelque chose à surveiller.

En examinant de nombreux messages dans les sujets connexes pour un site en anglais (OpenAI), je commence à remarquer que les sujets en espagnol ont tendance à être regroupés et je soupçonne que s’ils étaient d’abord traduits en anglais, chaque message aurait un vecteur différent et serait donc regroupé avec d’autres messages. :slightly_smiling_face:



Un avantage secondaire de cette fonctionnalité pour les modérateurs est de vérifier que les catégories des sujets listés dans les sujets connexes sont correctes.

Lorsque j’examine chaque nouveau message, je vérifie également les sujets connexes. Cela devient un moyen efficace d’identifier les sujets créés avec la mauvaise catégorie.

Pour information - Une idée connexe a été notée dans cette demande de fonctionnalité.



Trouvez ce sujet lorsque vous avez souvent besoin de suivre un lien qui n’est pas si facile à trouver, donc je le note ici.

2 « J'aime »

Ce comportement est régi par le modèle, et il semble s’agir d’un problème connu :

Je pense que le modèle OSS que nous recommandons pour les sites multilingues fait un meilleur travail à cet égard, mais nous devons encore le déployer auprès de plus de clients pour valider cela.

2 « J'aime »

Cela ne me permet pas d’activer cette option :

Est-ce que quelque chose me manque ici ou Gemini seul ne suffit pas ?

MISE À JOUR : Les instructions et la description de l’erreur pourraient être mises à jour pour ajouter que le modèle d'intégration d'IA doit également être mis à jour pour correspondre au fournisseur, sinon ai_embeddings_enabled ne peut pas être activé. La description du paramètre manque Gemini comme option.

1 « J'aime »

7 messages ont été divisées dans un nouveau sujet : "Erreurs Net::HTTPBadResponse" sur Gemini Embeddings

Que dois-je remplir ici svp :

Je veux activer la première option parmi les 4 présentées ci-dessous :

Si vous utilisez OpenAI, rien.

1 « J'aime »

Alors cette première option (Module d’intégration) me pose problème, elle ne me permet pas de l’activer :

La plupart d’entre eux sont vides. Mais ai embeddings discourse service api key est votre clé API OpenAI et ai embeddings discourse service api endpoint est https://api.openai.com/v1/embeddings. Le modèle doit être text-embedding-3-large (bien sûr, il peut aussi être small mais il présente quelques problèmes).

1 « J'aime »

3 messages ont été divisées dans un nouveau sujet : Comment afficher à la fois les sujets suggérés et les sujets connexes

Quels ont été vos résultats en comparant small et large ? Je sais qu’il y a une différence de dimensions qui affecte la précision du modèle. La version small est 5 fois moins chère. Est-elle vraiment inutilisable dans le monde réel pour la similarité thématique ? Notre forum est composé à 99 % d’anglais.

Je serais très intéressé d’en savoir plus. Pouvez-vous s’il vous plaît expliquer où se situe all-mpnet-base-v2 par rapport aux modèles OpenAI pour un site purement anglais ?

Les embeddings sont si bon marché que le prix n’a pas d’importance — à moins qu’il y ait une myriade de publications où 0,01 centime compte dans les coûts totaux.

Mais honnêtement… Je n’ai vu aucune différence. Et pour moi, parce qu’il y a une chance que je ne puisse pas utiliser RAG et les embeddings correctement, les deux sont également inutiles. Je sais que c’est très contraire à l’opinion publique, mais sur mon site, ce système ne trouve et n’utilise rien d’utile.

Cela vient probablement des modèles OpenAI, mais je n’ai pas assez d’argent pour utiliser ces solutions plus professionnelles.

1 « J'aime »

J’utilisais auparavant le modèle text-embedding-3-small avant de lire ceci. Est-ce que le text-embedding-ada-002 est bien meilleur ?

Ada est la génération précédente

1 « J'aime »

Un message a été divisé dans un nouveau sujet : Related Topics not translated