AIボット - カスタムツール

:bookmark: このガイドでは、Discourse AI プラグイン内でカスタム AI ツールを作成、設定、統合する方法を説明します。これにより、管理者はユーザー定義の JavaScript 関数を使用してボットの機能を拡張できます。

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

ツールは、AI ボットが特定のタスクを実行したり、テキストベースの応答を超えた情報を取得したりするために使用できるプログラム可能な機能です。これらのツールは、ボットが外部 API と対話したり、データを操作したり、追加の関数を実行したりして、その機能を拡張できるようにするスクリプトまたは統合です。

まとめ

このドキュメントでは、次の項目について説明します。

  • 新しいカスタム AI ツールの作成
  • ツールパラメータとスクリプトの設定
  • ツールスクリプトで利用可能な API
  • カスタムツールと AI ペルソナの統合
  • カスタムツールのテストとトラブルシューティング

新しいカスタム AI ツールの作成

AI ツールを作成するには、次の手順を実行します。

  1. 管理パネル > プラグイン > Discourse AI > ツールに移動します。
  2. 「新しいツール」をクリックします (既存のプリセットを使用してオプションについて学習できます)。
  3. 次のフィールドに入力します。
    • 名前: LLM に提示されるツールの名前
    • 説明: LLM に提示されるツールの説明
    • 要約: ツールがユーザーを支援するために何を行うかの要約 (詳細に表示されます)
    • パラメータ: LLM に提示されるツールが必要とする入力を定義します
    • スクリプト: ツールを機能させる JavaScript コード
  4. 「保存」をクリックします。

ツールスクリプトの設定

利用可能な API

ツールスクリプトは、次の API にアクセスできます。

  1. HTTP リクエスト:

    http.get(url, options)
    http.post(url, options)
    

    これらを使用して外部サービスと対話します。options を使用して HTTP ヘッダーを指定できます。

    http.get(url, { headers: { Auth: "some value" } })
    http.post(url, { headers: { Auth: "some value", body: "some body" } })
    http.patch(url, { headers: { Auth: "some value", body: "some body" } })
    http.delete(url, { headers: ...})
    http.put(url, { headers: ... , body: ...})
    
  2. LLM (言語モデル) 統合:

    llm.truncate(text, length)
    

    これにより、AI モデルのトークン制限内でテキストを操作できます。

  3. カスタムアップロード統合 (RAG)

    index.search(query, { filenames: options, limit: max_fragments_optional })
    
  4. アップロード作成サポート

    upload.create(filename, base_64_content)
    
  5. 実行チェーン制御

    chain.setCustomRaw(raw) - チェーン内の POST の本文を設定します。
    

必須関数

スクリプトは、次の関数を実装する必要があります。

  • invoke(params): ツールが呼び出されたときに実行されるメイン関数

オプションで、次の関数を実装することもできます。

  • details(): (オプション) ツールの実行に関する追加情報を提供します。

スクリプトの例:

function invoke(params) {
  let result = http.get("https://api.example.com/data?query=" + params.query);
  return JSON.parse(result.body);
}

function details() {
  return "Fetched data from Example API";
}

制限とセキュリティ

  • 実行タイムアウト: ツールにはデフォルトで 2 秒のタイムアウトがあります。
  • HTTP リクエスト: ツール実行あたり最大 20 リクエスト
  • サンドボックス環境: サーバーファイルシステムまたは Ruby ライブラリへのアクセスはありません。

ツールのテスト

LLM に提供される結果が期待どおりであることを確認するために、ビルドしたツールをテストする必要があります。

AI ペルソナとのツールの統合

カスタムツールを AI ペルソナに追加するには、次の手順を実行します。

  1. 管理パネル > プラグイン > Discourse AI > ペルソナに移動します。
  2. 既存のペルソナを編集するか、新しいペルソナを作成します。
  3. 「ツール」セクションで、カスタムツールが組み込みツールと一緒にリストされているのがわかります。
  4. カスタムツールを選択してペルソナに追加します。

カスタムツールの活用

カスタムツールを LLM に提供すると、会話を強化するために使用できます。

トラブルシューティング

ツールが期待どおりに動作しない場合は、次の手順を実行します。

  1. テストインターフェイスを使用して、入力に対して期待どおりに動作することを確認します。
  2. グループが ai_bot_debugging_allowed_groups に含まれていることを確認します。このグループのメンバーはボットトランスクリプトに完全にアクセスできます。AI ログはそこで表示できます。
  3. 予期しないことが発生した場合は、https://SITENAME/logs にアクセスしてエラーを確認してください。

追加リソース

「いいね!」 14