Discourse AI - AI検索

:bookmark: このガイドでは、Discourse AI プラグインの一部である AI 検索機能を有効化し、設定する方法について説明します。

:person_raising_hand: 必要なユーザーレベル: 管理者

Related topicsと似ていますが、AI 検索は、従来の検索が使用する厳密なキーワード一致を超える、セマンティックなテキスト類似性を使用して最も関連性の高いトピックを見つけるのに役立ちます。これにより、厳密には一致しないものの、最初の検索に対して依然として関連性のあるトピックが発見されます。探しているものが見つからない場合は、AI 検索がお役に立ちます!

機能

  • セマンティックテキスト類似性: 単なるキーワード一致を超えて、セマンティック分析を使用してテキストの類似性を探します
  • AI クイック検索: 通常の結果がほとんど見つからない場合に、検索メニューのポップアップに AI 結果を自動的に追加します(ai_embeddings_semantic_quick_search_enabled で有効化)
  • フルページ検索での AI 検索のオン/オフ切り替え
  • オプションの HyDE (Hypothetical Document Embeddings): LLM を使用してクエリを拡張し、結果を改善します
  • :sparkles: アイコンで示される結果
  • 匿名ユーザーとログインユーザーの両方に適用可能

AI 検索の有効化

前提条件

AI 検索を使用するには、Embeddings が設定されている必要があります。HyDE (Hypothetical Document Embeddings) を有効にして検索品質を向上させる場合は、大規模言語モデル (LLM) がオプションで必要になります。

Embeddings

ホスティングをご利用の場合は、デフォルトのオプションを提供します。セルフホストの場合は、Discourse AI - Embeddings のガイドに従ってください。

大規模言語モデル (LLM) (オプション — HyDE用)

LLM が必要なのは、ai_embeddings_semantic_search_use_hyde 設定を有効にした場合のみです。これは、LLM を使用して検索クエリから仮のドキュメントを作成してから埋め込みを行うものです。これにより結果の品質が向上する可能性がありますが、遅延とコストが増加します。

開始するには、Discourse AI - Large Language Model (LLM) settings page から設定できます。

設定

  1. 管理者プラグインDiscourse AI機能Embeddings に移動して、すべての AI 検索設定を見つけます
  2. Embeddings のために ai_embeddings_enabled を有効にします
  3. フルページ検索で AI 検索をアクティブ化するために ai_embeddings_semantic_search_enabled を有効にします
  4. 検索メニューのポップアップに AI 結果を追加するために、オプションで ai_embeddings_semantic_quick_search_enabled を有効にします
  5. 結果を改善するために HyDE を使用するには、オプションで ai_embeddings_semantic_search_use_hyde を有効にします (LLM が必要)

技術的な FAQ

AI 検索ロジックの概要 (HyDE 有効時) を展開
mermaid height=255,auto
sequenceDiagram
    User->>+Discourse: "gamification"で検索
    Discourse->>+LLM: "Discourse、オープンソースのインターネットフォーラムシステム"に関する"gamification"の記事を作成<br>  "Discourse、オープンソースのインターネットフォーラムシステム。"について
    LLM->>+Discourse: Gamificationには、ポイント、バッジ、レベル、リーダーボードなどのゲームデザイン要素を非ゲームコンテキストに適用することが含まれます...
    Discourse->>+EmbeddingsAPI: "Gamificationには、ゲームデザインに関わる..."の埋め込みを生成
    EmbeddingsAPI->>+Discourse: [0.123, -0.321...]
    Discourse->>+PostgreSQL: [0.123, -0.321...]に最も近いトピックを教えてください
    PostgreSQL->>+Discourse: トピック: [1, 5, 10, 50]
    Discourse->>+User: トピック: [1, 5, 10, 50]

AI 検索はどのように機能しますか?

  • HyDE が有効な場合 (ai_embeddings_semantic_search_use_hyde)、検索クエリは LLM を介して実行され、LLM が仮のトピック/投稿を作成します。その後、その仮の投稿から埋め込みが生成され、サイト内で類似のものを検索するために使用されます。HyDE が無効な場合 (デフォルト)、検索クエリは直接埋め込まれ、類似性のマッチングに使用されます。どちらの場合も、結果は Reciprocal Rank Fusion (RRF) を使用して通常の検索結果とマージされ、上位の結果が再ランク付けされます。

トピック/投稿データはどのように処理されますか?

  • HyDE が有効な場合、LLM プロバイダーによって作成された LLM データはサードパーティプロバイダーによって処理されます。詳細については、特定のプロバイダーを参照してください。デフォルトでは、Embeddings マイクロサービスは、既存のフォーラムをホストする他のサーバーと並行して実行されます。ここにはサードパーティは関与せず、その特定の情報はプライベートクラウド内の内部ネットワークから決して外部に出ることはありません。

データはどこに保存されますか?

  • HyDE が有効な場合、LLM プロバイダーによって作成された仮のトピック/投稿は、そのドキュメントの Embeddings と並行して一時的にキャッシュされます。Embeddings データは、トピック、投稿、ユーザーを保存するのと同じデータベースに保存されます。それはその中の別のデータテーブルです。

Embeddings の「セマンティックモデル」とはどのようなものですか? どのように「トレーニング」されたのですか、そしてそれが私たちの「専門的な」コミュニティのトピックに正確に適用できることをテストする方法はありますか?

  • デフォルトでは、このようなものを含む事前学習済みのオープンソースモデルを使用します。私たちは多くの顧客に導入し、ニッチなコミュニティと一般的なコミュニティの両方でうまく機能することを確認しました。ユースケースに対してパフォーマンスが不十分な場合は、より複雑なモデルも用意していますが、私たちの経験では、デフォルトのオプションは堅実な選択肢です。
「いいね!」 6

ai embeddings semantic search hyde model で軽微な UI バグを見つけました。再現手順は以下の通りです。

  1. AI Discourse プラグインをインストールします。
  2. 設定 → Gemini キーの設定を開きます。
  3. ai embeddings semantic search enabled を有効にします。
  4. ai embeddings semantic search hyde model には「Google - gemini-pro (未構成)」と表示されます。

「未構成」は、すべての設定を有効にしてページを更新するまで消えません。

「いいね!」 2

これはサイト設定ページの制限だと思いますので、申し訳ありません。解決できたとのこと、よかったです。

「いいね!」 1

セマンティクスに関する質問です。一部のAIモジュールでは Gemini の使用が参照され、他のモジュールでは Gemini-Pro の使用が参照されています。これらは異なるモデル(Gemini Nano、Pro、Ultra)を指しているのでしょうか、それとも同じLLMを指しているのでしょうか?もしそうであれば、Gemini自体は何を指し、Geminiの有料または無料サブスクリプションを持っているかどうかは関係ありますか?

「いいね!」 1

ご指摘の通り、Geminiには様々なモデルがあります。お持ちのモデル(現在は無料のProモデルである可能性が高いです)に応じて、関連する設定にAPIキーを挿入するだけです。設定は、お持ちのGeminiモデル用です。

これはあなた次第であり、Geminiをどのように使用したいかによりますが、どちらでも機能するはずです。

詳細はこちらをご覧ください。

「いいね!」 1

LLM への初期プロンプトに何かを注入したり、通常の検索に渡される前に埋め込みを操作したりする方法はありますか?

スタッフの応答(より権威のあるもの)とコミュニティの応答をブースト(または分割)しようとしています。

「いいね!」 2

現在、AI Search 内でのカスタム LLM プロンプトの注入はサポートされていませんが、将来的には追加される可能性があります。

Feature request をお勧めします!

「いいね!」 2

AI検索を使い始めたばかりで、今のところ気に入っています。常にそれを使用しない理由が見つかりません。CSSを使用して.fps-resultを非表示にし、.ai-resultを非表示にしない以外に、AIの結果のみを表示する方法はありますか?

また、クイック検索はどこで見つけられるか詳しく教えていただけますか?

「いいね!」 1

これは一時的にMetaでのみ実験的に利用可能でした。OPから削除しました。ご指摘ありがとうございます。

ヘッダーのオートコンプリート検索には Discourse Algolia Search を使用しています。Discourse AI - AI search を引き続き使用することはできますか?

投稿が新しいトピックに分割されました:Discourse AI のユーザー設定パネルが表示されない