このガイドでは、Discourse AI プラグインの関連トピック機能を有効化し、設定する方法について説明します。
必要なユーザーレベル:管理者
関連トピックは、ユーザーが現在読んでいるトピックに基づいて意味的に類似したトピックを提案することで、関連コンテンツの発見を支援し、ユーザーエンゲージメントを高めます。
機能
- セマンティックテキスト類似性:キーワードの一致を超えて、真に関連するコンテンツを見つけます
- 「提案」と「関連」トピックの切り替え
- 匿名ユーザーとログイン済みユーザーの両方で利用可能
関連トピックの有効化
関連トピックは、Discourse AI プラグインが有効になっているすべての Discourse ホスト顧客に対してデフォルトでオンになっています。
前提条件
関連トピックが機能するには、Embeddings が必要です。
ホスティングをご利用の場合、Embeddings はオープンソースモデルを使用して提供されます。追加の設定は不要です。
セルフホストインスタンスでは、サードパーティプロバイダーを通じて独自の Embeddings を提供する必要があります。
設定
- 管理 → 設定 → プラグイン に移動します。
- 「discourse-ai」を検索し、有効になっていることを確認します。
ai_embeddings_enabledを有効にして Embeddings をアクティブ化します。ai_embeddings_semantic_related_topics_enabledを有効にして関連トピック機能をアクティブ化します。
追加設定
セットアップによっては、以下の設定を調整する必要がある場合があります。
- 英語以外のサイト(Discourse ホストまたは独自のモデルを使用するセルフホスト):
ai embeddings modelをmultilingual-e5-largeに設定します。 - Cloudflare Workers AI の場合:
ai embeddings modelをbge-large-enに設定します。 - OpenAI または Azure OpenAI の場合:
ai embeddings modelをtext-embedding-ada-002に設定します。
技術 FAQ
関連トピックのアーキテクチャ図を表示するには展開
概要は、トピックが作成/更新されたときに発生することです。
sequenceDiagram
User->>Discourse: トピックを作成
Discourse-->>Embedding Microservice: Embeddings を生成
Embedding Microservice-->>Discourse:
Discourse-->>PostgreSQL: Embeddings を保存
トピック訪問中:
sequenceDiagram
User->>Discourse: トピックを訪問
Discourse-->>PostgreSQL: 最も近いトピックをクエリ
PostgreSQL-->>Discourse:
Discourse->>User: 関連トピックを表示
関連トピックはどのように機能しますか?
- ユーザーがトピックを訪問すると、Discourse は埋め込み表現に基づいて最も意味的に類似したトピックをデータベースにクエリします。これらの関連トピックがユーザーに提示され、コミュニティのコンテンツのさらなる探索が促進されます。
トピック/投稿データはどのように処理されますか?
- Discourse ホストサイトの場合、データは当社のセキュアな仮想プライベートデータセンター内で処理されます。セルフホストサイトの場合、データ処理は選択したサードパーティプロバイダーによって異なります。
Embeddings データはどこに保存されますか?
- Embeddings データは、トピック、投稿、ユーザーなどの他のフォーラムデータと共に、Discourse データベースに保存されます。
どのセマンティックモデルが使用され、どのようにトレーニングされましたか?
- Discourse ホストサイトでは、デフォルトで all-mpnet-base-v2 モデル が使用されます。このモデルは、ニッチなコミュニティと一般的なコミュニティの両方で良好なパフォーマンスを発揮します。セルフホストサイトでは、選択したプロバイダーによって異なるモデルが使用される場合があります。