AIボット - エージェント

:bookmark: このガイドでは、Discourse AI - AIボットのエージェントの設定と管理方法について説明します。

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

Discourse AIボットには、エージェントを管理するための柔軟なシステムが含まれています。このガイドでは、次の内容を説明します。

  • AIエージェントとの対話方法
  • 設定オプション
  • 高度な設定
  • サポートされているコマンド
  • カスタマイズの可能性

:link: AIボットの詳細と有効化の方法については、こちらのガイドをご覧ください。

エージェントとは

エージェントは、DiscourseフォーラムにおけるAIエンジンの動作をカスタマイズできる強力な機能です。これらはAIの応答と対話を導く「システムメッセージ」として機能し、よりパーソナライズされ、魅力的なユーザー体験の創出に役立ちます。

エージェントを使用する理由

エージェントを使用すると、AIの動作をフォーラムの文脈やトーンに合わせて調整できます。AIに専門的な設定ではよりフォーマルに、コミュニティフォーラムではよりカジュアルにと振る舞わせたい場合や、ロールプレイングゲームのために特定のキャラクターを体現させたい場合でも、エージェントはそれを行う柔軟性を提供します。

グループ固有のエージェントへのアクセス

さらに、特定のユーザーグループに特定のエージェントへのアクセス権を設定することもできます。これにより、フォーラムの異なるセクションで異なるAIの動作を設定でき、コミュニティの対話の多様性と豊かさをさらに高めることができます。

エージェントとの対話

エージェントとの対話方法は複数あります。

  1. プライベートメッセージ (PM)
  2. チャットダイレクトメッセージ (DM)
  3. チャットチャンネルでのメンション
  4. 公開トピックでの @examle_bot_username によるメンション

管理者は、各エージェントで許可される対話方法を制御できます。

設定

エージェントを設定するには、discourse.example.com/admin/plugins/discourse-ai/ai-agentsに移動します。

主な設定オプションには次のようなものがあります。

  • System prompt (システムプロンプト): 会話を誘導します
  • Vision support (ビジョンサポート): ビジョン対応のLLM、すなわちGPT-4 Turbo、Claude 3 などのために有効化します
  • Default model (デフォルトモデル): メンション可能なエージェントに必須です
  • Allowed groups (許可されたグループ): Discourseのグループセキュリティを使用して権限を定義します
  • Uploads (アップロード): 追加の知識のためにテキストファイルをインデックス化します (RAG - 検索拡張生成を使用)
  • Enabled commands (有効なコマンド): 特定のコマンドへのアクセスを制御します
  • Allow chat (チャットを許可): DM経由でのチャットを有効にします (チャットプラグイン、デフォルトのLLM、およびユーザーが必要です)

ここに、完全なAIエージェント設定画面の例を示します。

高度な設定オプション

エージェントエディタには、いくつかの高度なオプションがあります。

  • Temperature (温度) および top_p (nucleus sampling): 創造性と予測可能性を制御します
  • Max context posts (最大コンテキスト投稿数): 履歴のためにLLMに提供される投稿数を制限します - 投稿数が少ないとコストは削減されますが、AIは古いコンテンツについて「忘れる」ことになります
  • Upload options (アップロードオプション):
    • Chunk tokens (チャンクトークン): ドキュメント分割を制御します
    • Chunk overlap tokens (チャンクオーバーラップトークン): チャンク間のオーバーラップを設定します
    • Search conversation chunks (会話チャンクの検索): ユーザークエリに追加されるドキュメントフラグメントの数
    • Question consolidator LLM (質問統合LLM): ユーザーの質問を決定するために使用するLLMを選択します

アップロードサポートの前提条件

アップロードサポートを使用するには:

  1. ai_embeddings_enabled 設定を有効にする
  2. ai_embeddings_model を設定する

Discourse AIはさまざまな埋め込みモデルをサポートしています。ホストされている顧客は、bge-large-en モデルに無料でアクセスできます。

:information_source: セルフホスターまたはより多くの選択肢を望むユーザーは、埋め込みモデルをセルフホストするか、Open AI、Google (Gemini) などのモデルを使用できます。

Discourse AIにおけるテキスト分割

Discourseは、段落、行、単語がテキスト分割時にまとまった状態を保つために、再帰的文字テキストスプリッターを使用します。[[metadata YOUR METADATA HERE]] セパレーターを使用してテキスト分割を制御できます。

[[metadata about cats]]
a long story about cats
[[metadata about dogs]]
a long story about dogs

この方法は、各チャンクに関連データのみが含まれるようにすることで、「チャンク汚染」を防ぎます。

AIエージェントのデバッグ

エージェントをデバッグするには:

  1. ai bot debugging enabled groups 設定で指定されたグループにユーザーを追加します
  2. このグループのユーザーは、AI投稿の下部にAIデバッグボタンが表示されます
  3. ボタンをクリックすると、デバッグUIモーダルにアクセスできます

:warning: 注意: LLMに曖昧または役に立たない情報を提供すると、それを有用な情報に変換するのに非常に苦労します。

サポートされているコマンド

Discourse AIは、次のようなさまざまなコマンドをサポートしています。

  • Categories (カテゴリ)
  • Tags (タグ)
  • Search (検索)
  • Web Browser (ウェブブラウザ)
  • GitHub integration (GitHub連携) (Code Search, Pull Request Diff, File Content)
    • ai bot github access token 設定に入力する必要があります
  • Search Meta Discourse (Meta Discourseを検索)
  • Random Picker (ランダムピッカー)
  • Read (読み取り)
  • Time (時刻)
  • Google search (Google検索)
    • ai google custom search api key および ai google custom search cx 設定に入力する必要があります
  • Image generation via DALL-E (DALL-Eによる画像生成)
    • open_aiキーが必要です
  • Image generation via Stable Diffusion (Stable Diffusionによる画像生成)
    • ai stability api key 設定に入力する必要があります
    • ai stability engine 設定が画像生成アルゴリズムを制御します
  • Schema (スキーマ)
  • Search Settings (検索設定)
  • Setting Context (コンテキストの設定)

一部のコマンドには、追加の設定またはAPIキーが必要です。

カスタムツールサポート

カスタムツールサポートを使用して独自のツールを作成できます。

システムエージェントのカスタマイズ

  1. 新しいエージェントを作成します
  2. カスタマイズしたいエージェントのシステムプロンプトをコピー&ペーストします
  3. 必要に応じて変更します
  4. 冗長性を避けるため、元のシステムエージェントを無効にすることができます (オプション)

検索のカスタマイズ

新しいエージェントの検索をカスタマイズするには:

  1. 新しいエージェントを作成します
  2. 「search」コマンドを追加します
  3. 次を含む検索オプションを設定します:

これにより、検索権限の委任、結果件数の増加、またはサイトの特定セクションへの検索の制限が可能になります。

「いいね!」 7

投稿が新しいトピックに分割されました: Discourse AI に画像生成機能を提供できますか

Readツールは具体的に何をするのですか?

また、メンション機能は、このバグレポートによると現在壊れています

要するに、LLMがフォーラムのトピックや投稿を読み取る能力を可能にします。

「いいね!」 1

基本的に、URL、名前、またはIDが指定されている場合にトピック/投稿を読み込み、それ以外の場合、または引き続き、埋め込みを使用し、何、いつ、なぜ、どのようにモデル自体、プロンプトなどによって異なりますか?

「いいね!」 2

ああ、すみません、別の投稿に返信していました :slight_smile:

トピックIDまたはトピックID+投稿番号を使用して、最大長に対するいくつかのガードとともに、トピック/投稿の生のマークダウンを見つけます。

埋め込みには依存しません。

「いいね!」 5

少しトピックから外れますが、質問することがなく、皆さんが時々これらのトピックを整理するので、気にしません。

AIとのPMにおける自動タイトルが、正しい言語になりました。大したことではありませんが、心理的な価値は大きいです。ありがとうございます!

「いいね!」 4

Bot ユーザーをグループに追加する方法はありますか?基本的に、それらのユーザーにアバターの装飾を追加したいのですが、グループに追加すると表示されません。

表示されませんが、まだ存在しています。AIユーザーをもう一度追加しようとすることで確認できます。または、これらの疑似ユーザーの設定で必要なグループを確認できます。

「いいね!」 1

AIボットのツールがどのように機能するかを正確に知りたい場合、Discourse AIリポジトリのどの部分を確認すればよいですか?

Tool、Playground、Botはいずれも開始に適した領域です。

例はこちらをご覧ください: Understanding Tools in Discourse AI System - AI Conversation - Discourse Meta

「いいね!」 3

まさに探していた答えです。ありがとうございます!関係者の方へ:プロンプトをペルソナのツールに合わせてより良く調整するために、このリポジトリのコードを読み通すことをお勧めします。

「いいね!」 1

投稿が新しいトピックに分割されました: チャット履歴に依存するペルソナのエンジニアリング

現在、「Read」ツールを使用してトピックのすべての投稿を取得しようとしていますが、LLMモデルには最大100件の投稿しか提供されません。「Max posts」をペルソナ設定で999に設定しましたが、問題は解決しません。

サーバー側のAPIリクエスト制限が原因である可能性がありますか?

@sam これについて何か原因の心当たりはありますか?

コードベースは確認していませんが、コード自体にハードリミットが設定されている可能性があります。これをどのように達成しようとしているのか教えていただけますか?それがここでの重要な要素です。

そして、フォーラムリサーチャーのペルソナを使用するのが最善かもしれません。

「ジャーナル/ログ」カテゴリがあり、多くの場合、トピックの所有者が4〜5か月にわたるプロジェクトの進捗状況を報告する数百件の投稿が含まれています。

私の目標は、そのトピック内のすべての投稿を取得し、著者=トピックの所有者でフィルタリングして、要約を作成することです。

「いいね!」 1

フォーラムリサーチャーを使うべきです。それがこのペルソナのまさにユースケースです。

「いいね!」 2

@sam ぜひそうしたいのですが、現在は画像に対応していません。これはロードマップに載っていますか、それとも現時点では優先事項ではありませんか?

「いいね!」 3

はい、追加できます。それほど大きな変更ではありません。

「いいね!」 3