Discourse AI - セルフホステッドガイド

Discourse AI モジュールを支えるサービスを独自のインスタンスで実行するためのガイドです。

はじめに

セルフホスト環境で Discourse AI を使用したい場合、有効にしたいモジュールに対応するコンパニオンサービスも実行する必要があるかもしれません。

各モジュールには 1 つ以上のコンパニオンサービスが必要であり、これらのサービスは Discourse 自体よりも多くの CPU / GPU / ディスク容量を使用します。そのため、Linux サーバー管理や Docker に慣れていない方には推奨されないことを念頭に置いてください。

要約 / AI ヘルパー / AI ボット

埋め込み

感情分析

本番環境での実行

ライブサイトで実行する場合、ロードバランシング、TLS、ヘルスチェック、レート制限などの機能を有効にするために、このサービスをリバースプロキシの後ろに配置することを検討してください。

サービスが起動して実行されたら、適切なサイト設定を使用してサービスが実行されているドメインに接続するようにモジュールを設定し、モジュールを有効にします。

「いいね!」 40

コンポーザーヘルパーは、現時点ではセルフホスティングできませんか?

この開発と実装にチームに感謝します :fire::raising_hands:

「いいね!」 5

Composer Helperは現時点ではOpenAIまたはAnthropic APIでのみ動作するため、これらのAPIのいずれかをお持ちであれば、セルフホスト環境でも問題なく動作します。

「いいね!」 7

Composer Helper が動作するようになりました。ありがとうございます。

要約にはローカル分類サービスが必要ですか?それとも、ChatGPT3.5 モデルを使用する場合、OpenAI API キーだけで実行できますか?有効にしましたが、トピックに表示されていません。

「いいね!」 3

Discourse AI - Summarizationによると、OpenAIキーを設定し(すでに設定済み)、要約モデルとしてGPTモデルのいずれかを選択し、要約モジュールを有効にすることで、OpenAIを使用できます。

現時点では、要約ボタンは50件以上の返信があるトピックにのみ表示されますが、まもなくすべてのトピックで有効にする予定です。

「いいね!」 7

サンプルリクエストをいくつか共有していただけますか?現在、AWS ASG の EC2 インスタンスでこれを設定しようとしていますが、うまくいきません。Discourse のログには 400 Bad Request しか表示されません。

さらに、ヘルスチェック URL があれば大変助かります。/ は 404 エラーを返します。

「いいね!」 1

/srv/ok/health がヘルスチェックのエンドポイントです。

思いつく限りでは、次のようなものです。

jo -p model=bart-large-cnn-samsum content="要約する長い文章をここに入力" | \
  curl --json @- -XPOST http://service/api/v1/classify

要約サービスにはこれで機能するはずです。

「いいね!」 4

Nginxモジュールからのヘルスチェック付きで、localhostで要約サービスを使用することを提案していただけますか?制限と負荷で問題ない場合。

現在、OpenAI APIキーで動作するようにしていますが、オープンソースモデルを試してみたいだけです。

ChatGPT3.5のような互換性のあるモデルを使用して、要約を多言語化する計画はありますか?

「いいね!」 1

それが望むものであれば、はい、機能するはずです。

要約はすでにOpenAIとAnthropicのAPIで動作しているため、多言語機能が利用できます。ただし、トピック言語に沿ったものにするために、プロンプトを翻訳するために少しハッキングする必要があるかもしれません。

「いいね!」 3

AWSからの朗報: Amazon RDS for PostgreSQL now supports pgvector for simplified ML model integration - AWS

「いいね!」 2

@Falco CPU/GPU/ディスクに「十分な」リソースを備え、平均的なDiscourseフォーラムと並行してセルフホスト型AIを実行できるサーバー構成の例を教えていただけますでしょうか?

「いいね!」 1

私もそれを見たいです。また、リソース要件を考えると、コンパニオンAIサービスを別のVPSにオフロードする方が良い(可能、より費用対効果が高い?)でしょうか?

サーバー構成の例

「いいね!」 1

実行したい Discourse AI の正確なモデルとモジュールによって異なります。たとえば、toxicity モジュールは 5GB、NSFW は 1GB の RAM を使用します。ディスク容量も同様で、CPU/GPU は推論に使用されるため、ニーズは 1 秒あたりのリクエスト数によって異なります。

はい、おそらくそれが最善の方法です。

「いいね!」 5

承知しました。以下に試した内容を示します。

ナプキンでの概算:

ChatGPTv4 API

  • 100語あたり0.0008ドル
  • ユーザー1人あたりのAIモジュールあたりの平均使用量は1日約100語(またはトークン)
  • 6つのAIモジュールすべてを実行
    $0.0008 * 6 = $0.0048

ユーザーあたりの月額総コスト:$0.0048 * 30 = $0.144

セルフホスティングの最小サーバー要件は以下の通りです。

  • 空きRAM 16GB、推奨32GB
  • CPU 3.5GHz以上、8コア以上
  • SSD 100GB

Digital Oceanでこれらの要件を満たす最も安価なサーバーは以下の通りです。

  • RAM 16GB
  • プレミアムIntel vCPU 8基(3.5GHz以上)
  • 帯域幅:6,000 GiB
  • SSD:2x 200 GiB
  • 月額料金:$244.00

したがって、Discourseの月間アクティブユーザーが約2,000人になると、ChatGPT4のセルフホスティングはAPIサービスを利用するよりもコスト効率が高くなります。

かなり大雑把で寛大な丸め計算が含まれています。これで合っていますでしょうか @Falco

「いいね!」 1

GPT-4または3.5はセルフホスティングできません。

Falconや、さまざまなLLaMAベースのモデル(ライセンスに関する質問があります)など、セルフホスティング可能なオープンソースのLLMもありますが、これまでのところ、すべてGPT 4や3.5を下回っています。

あなたの概算は大きく間違っています。LLMをセルフホスティングする場合、おそらくA100またはH100、あるいはそれらを数台必要になるでしょう…価格を検索してみてください…

「いいね!」 3

ChatGPT を使って自己ホスト型 ChatGPT のコストを計算しようとすると、そうなってしまうのでしょうね。

「いいね!」 7

とにかく、何か貢献して、比較するユーザーデータが得られたら更新に戻ってきます。

上記のモジュールでChatGPT3.5のAPIを使用するための計算を以下に示します。これは、平均的なアクティブユーザーが1か月に平均100語を1回の実行で生成するという非常に曖昧な仮定に基づいています。

ChatGPT3.5 APIのコスト

  • 1回の実行あたり100語あたり0.0003ドル
  • アクティブユーザー1人あたりのAIモジュールあたりの平均語数は1日あたり約100語

AIプラグイン/コンポーネントあたりの平均月額コスト:0.009

  • 6 = 0.054ドル

ChatGPT3.5で実行された場合、6つのプラグインすべてのアクティブユーザーあたりの月額総コストは0.054ドルになります。

MetaのAIサービスをg4dn.xlargeで実行し始めたばかりなので、これをベースラインとして推奨できます。

「いいね!」 1

ありがとうございます。g4dn.xlarge がどのようなものか気になっている方のために、現在の価格をここに示します。いずれは利用状況のデータを投稿できるようになり、実際のコストを把握できるようになることを願っています。

「いいね!」 1

このマシンは、Metaトラフィックだけで基本的にアイドル状態です。Metaトラフィック数個程度なら問題なく処理できます。

「いいね!」 1