Discourse AI - Argomenti correlati

:bookmark: Questa guida spiega come abilitare e configurare la funzionalità Argomenti correlati del plugin Discourse AI.

:person_raising_hand: Livello utente richiesto: Amministratore

Gli argomenti correlati aiutano gli utenti a scoprire contenuti pertinenti suggerendo argomenti semanticamente simili in base a quello che stanno attualmente leggendo. Ciò migliora l’esplorazione dei contenuti e aumenta il coinvolgimento degli utenti.

Funzionalità

  • Similitudine testuale semantica: va oltre il confronto delle parole chiave per trovare contenuti veramente correlati
  • Passa da argomenti “Suggeriti” a “Correlati”
  • Disponibile sia per utenti anonimi che registrati

Abilitazione degli argomenti correlati

:information_source: Gli argomenti correlati sono attivati per impostazione predefinita per tutti i clienti ospitati su Discourse con il plugin Discourse AI abilitato.

Prerequisiti

Gli argomenti correlati richiedono Embeddings per funzionare.

Se sei sul nostro hosting, gli Embeddings vengono forniti utilizzando un modello open-source. Non è necessaria alcuna configurazione aggiuntiva.

Le istanze self-hosted dovranno fornire i propri Embeddings tramite un provider di terze parti.

Configurazione

  1. Vai su Admin → Impostazioni → Plugin
  2. Cerca “discourse-ai” e assicurati che sia abilitato
  3. Abilita ai_embeddings_enabled per attivare gli Embeddings
  4. Abilita ai_embeddings_semantic_related_topics_enabled per attivare la funzionalità Argomenti correlati

Configurazione aggiuntiva

A seconda della tua configurazione, potrebbe essere necessario regolare le seguenti impostazioni:

  • Per siti non in lingua inglese (ospitati su Discourse o self-hosted con modello proprio):
    Imposta ai embeddings model su multilingual-e5-large
  • Per Cloudflare Workers AI:
    Imposta ai embeddings model su bge-large-en
  • Per OpenAI o Azure OpenAI:
    Imposta ai embeddings model su text-embedding-ada-002

FAQ tecniche

Espandi per visualizzare un diagramma dell'architettura degli Argomenti correlati

La panoramica è che, quando un argomento viene creato/aggiornato, accade questo:

sequenceDiagram
    User->>Discourse: Crea argomento
    Discourse-->>Embedding Microservice: Genera embeddings
    Embedding Microservice-->>Discourse:
    Discourse-->>PostgreSQL: Memorizza Embeddings

E durante la visita di un argomento:

sequenceDiagram
    User->>Discourse: Visita argomento
    Discourse-->>PostgreSQL: Interroga argomenti più vicini
    PostgreSQL-->>Discourse:
    Discourse->>User: Presenta argomenti correlati

Come funzionano gli Argomenti correlati?

  • Quando un utente visita un argomento, Discourse interroga il database per gli argomenti semanticamente più simili in base alle loro rappresentazioni incorporate. Questi argomenti correlati vengono quindi presentati all’utente, incoraggiando un’ulteriore esplorazione dei contenuti della community.

Come vengono elaborati i dati degli argomenti/post?

  • Per i siti ospitati su Discourse, i dati vengono elaborati all’interno del nostro data center virtuale privato sicuro. Per i siti self-hosted, l’elaborazione dei dati dipende dal provider di terze parti scelto.

Dove vengono archiviati i dati degli embeddings?

  • I dati degli embeddings sono archiviati nel tuo database Discourse, insieme ad altri dati del forum come argomenti, post e utenti.

Quale modello semantico viene utilizzato e come è stato addestrato?

  • I siti ospitati su Discourse utilizzano per impostazione predefinita il modello all-mpnet-base-v2. Questo modello funziona bene sia per community di nicchia che generali. I siti self-hosted possono utilizzare modelli diversi a seconda del provider scelto.
14 Mi Piace

Qualcosa da tenere d’occhio.

Riesaminando molti post negli argomenti correlati per un sito in inglese (OpenAI), inizio a notare che gli argomenti in spagnolo tendono ad essere raggruppati e sospetto che se fossero prima tradotti in inglese, ogni post avrebbe un vettore diverso e quindi sarebbe raggruppato con altri post. :slightly_smiling_face:



Un vantaggio secondario di questa funzionalità per i moderatori è quello di verificare che le categorie degli argomenti elencati negli argomenti correlati siano corrette.

Mentre esamino ogni nuovo post, controllo anche gli argomenti correlati. Questo sta diventando un modo efficace per identificare argomenti creati con la categoria sbagliata.

A scopo informativo, un’idea correlata è stata notata in questa richiesta di funzionalità.



Trova questo argomento quando spesso hai bisogno di seguire un link che non è così facile da trovare, quindi lo annoto qui.

2 Mi Piace

Questo comportamento è governato dal modello e sembra essere un problema noto:

Penso che il modello OSS che raccomandiamo per i siti multilingue faccia un lavoro migliore in questo senso, ma dobbiamo ancora distribuirlo a più clienti per validarlo.

2 Mi Piace

Non mi permette di abilitare questa opzione:

<s<Mi manca qualcosa qui o Gemini da solo non è sufficiente?

AGGIORNAMENTO: Le istruzioni e la descrizione dell’errore potrebbero essere aggiornate per aggiungere che anche il modello di embedding AI dovrebbe essere aggiornato per corrispondere al provider, altrimenti ai_embeddings_enabled non può essere abilitato. La descrizione del parametro manca di Gemini come opzione.

1 Mi Piace

7 post sono stati divisi in un nuovo argomento: “Net::HTTPBadResponse” errors on Gemini Embeddings

Cosa devo inserire qui per favore:

Voglio abilitare la prima opzione tra le 4 mostrate di seguito:

Se usi OpenAI, niente.

1 Mi Piace

Allora questa prima opzione (Modulo Embeddings) mi crea problemi, non mi permette di abilitarla:

La maggior parte di questi sono vuoti. Ma ai embeddings discourse service api key è la tua API OpenAI e ai embeddings discourse service api endpoint è https://api.openai.com/v1/embeddings. Il modello dovrebbe essere text-embedding-3-large (certo, può essere anche small ma ha alcuni problemi).

1 Mi Piace

3 post sono stati divisi in un nuovo argomento: Come ottenere la visualizzazione sia degli argomenti suggeriti che di quelli correlati

Quali sono stati i tuoi risultati dal confronto tra small e large? So che c’è una differenza nelle dimensioni che influisce sulla precisione del modello. La versione small è 5 volte più economica. È davvero inutilizzabile nel mondo reale per la similarità di argomenti? Il nostro forum è al 99% in inglese.

Sarei molto interessato a saperne di più. Puoi per favore elaborare dove si colloca all-mpnet-base-v2 rispetto ai modelli OpenAI per un sito puramente inglese?

Gli embedding sono così economici che il prezzo non ha importanza, a meno che non ci siano innumerevoli post in cui 0,01 centesimi contano nei costi totali.

Ma onestamente… non ho visto differenze. E per me, poiché c’è la possibilità che non possa usare RAG e gli embedding correttamente, entrambi sono ugualmente inutili. So che questo va contro l’opinione pubblica, ma sul mio sito quel sistema semplicemente non trova e non usa nulla di utile.

Probabilmente deriva dai modelli di OpenAI, ma non ho abbastanza soldi per usare quelle soluzioni più professionali.

1 Mi Piace

Prima di leggere questo, stavo usando il modello text-embedding-3-small. Il modello text-embedding-ada-002 è molto migliore?

Ada è la generazione precedente

1 Mi Piace