Discourse AI - Argomenti correlati

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

:person_raising_hand: Livello utente richiesto: Amministratore

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

Funzionalità

  • Somiglianza testuale semantica: Va oltre la corrispondenza delle parole chiave per trovare contenuti veramente correlati
  • Alterna tra argomenti “Suggeriti” e “Correlati”
  • Disponibile sia per utenti anonimi che per utenti registrati

Abilitazione di Argomenti correlati

:information_source: Argomenti correlati è attivato di default per tutti i clienti ospitati su Discourse con il plugin Discourse AI abilitato

Prerequisiti

Argomenti correlati richiede Embeddings per funzionare.

Se si utilizza il nostro hosting, Embeddings viene fornito utilizzando un modello open-source. Non è necessaria alcuna configurazione aggiuntiva.

Le istanze self-hosted dovranno configurare un modello di embedding tramite un provider supportato.

Configurazione

  1. Vai su Amministrazione → Plugin → Discourse AI → Funzionalità AI
  2. Trova il modulo Embeddings e configurarlo:
    • Imposta ai_embeddings_selected_model su una definizione di embedding che hai configurato
    • Abilita ai_embeddings_enabled per attivare Embeddings
  3. Abilita ai_embeddings_semantic_related_topics_enabled per attivare la funzione Argomenti correlati

Impostazione di un modello di embedding

Prima di abilitare gli embedding, è necessario configurare un modello di embedding. Vai su Amministrazione → Plugin → Discourse AI → Embeddings per creare una nuova definizione di embedding. Puoi scegliere tra diverse preimpostazioni:

  • Open AI: text-embedding-3-small o text-embedding-3-large (consigliato per la maggior parte dei siti)
  • Google: gemini-embedding-001
  • Hugging Face (inferenza self-hosted): multilingual-e5-large (consigliato per siti non inglesi o multilingue), bge-large-en, o bge-m3

Dovrai fornire una chiave API (o collegare un AI Secret) e un URL dell’endpoint per il provider scelto.

Impostazioni aggiuntive

Le seguenti impostazioni consentono di ottimizzare la funzione Argomenti correlati:

  • ai_embeddings_semantic_related_topics: Numero massimo di argomenti da mostrare nella sezione argomenti correlati (default: 5)
  • ai_embeddings_semantic_related_include_closed_topics: Se includere argomenti chiusi nei risultati correlati (default: true)
  • ai_embeddings_semantic_related_age_penalty: Applica una penalità agli argomenti più vecchi in modo che i contenuti più recenti abbiano la priorità (default: 0.0, intervallo: 0.0–2.0)
  • ai_embeddings_semantic_related_age_time_scale: Scala temporale in giorni per la penalità di età (default: 365)

FAQ Tecniche

Espandi per visualizzare un diagramma dell'architettura di Argomenti correlati

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

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

E durante la visita dell’argomento:

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

Come funziona Argomenti correlati?

  • Quando un utente visita un argomento, Discourse interroga il database per trovare 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 di argomenti/post?

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

Dove vengono memorizzati i dati degli embedding?

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

Quali modelli di embedding sono disponibili?

  • Discourse AI supporta modelli di OpenAI (text-embedding-3-small, text-embedding-3-large), Google (gemini-embedding-001), endpoint compatibili con Hugging Face (bge-large-en, bge-m3, multilingual-e5-large) e Cloudflare Workers AI. È inoltre possibile configurare modelli di embedding personalizzati tramite l’interfaccia di amministrazione.
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

Un post è stato diviso in un nuovo argomento: Related Topics not translated