DiscourseAIのためのオープンソースLLMのセルフホスティング

Discourse AIプラグインには、要約、AIヘルパー、AI検索、AIボットなど、LLM(大規模言語モデル)を有効にする必要がある多くの機能があります。サードパーティのAPI(OpenAIのAPIキーを設定AnthropicのAPIキーを設定など)を使用することもできますが、Discourse AIは初日からそれらに縛られないように構築されています。

HuggingFace TGI での実行

HuggingFaceは、すぐに利用を開始できる優れたコンテナイメージを提供しています。

例えば:

mkdir -p /opt/tgi-cache
docker run --rm --gpus all --shm-size 1g -p 8080:80 \
  -v /opt/tgi-cache:/data \
  ghcr.io/huggingface/text-generation-inference:latest \
  --model-id mistralai/Mistral-7B-Instruct-v0.2

これにより、ローカルホストのポート8080でMistral 7B Instructのローカルインスタンスが起動し、次のようにテストできます。

curl http://localhost:8080/ \
    -X POST \
    -H 'Content-Type: application/json' \
    -d '{"inputs":"\u003cs\u003e[INST] What is your favourite condiment? [/INST] Well, I'm quite partial to a good squeeze of fresh lemon juice. It adds just the right amount of zesty flavour to whatever I'm cooking up in the kitchen!\u003c/s\u003e [INST] Do you have mayonnaise recipes? [/INST]","parameters":{"max_new_tokens":500, "temperature":0.5,"top_p": 0.9}}'

vLLM での実行

Discourse AIがサポートするLLMの自己ホストのもう一つのオプションは、Apache Licenseの下でライセンスされている非常に人気のあるプロジェクトであるvLLMです。

モデルの使い始め方は次のとおりです。

mkdir -p /opt/vllm-cache
docker run --gpus all \
  -v /opt/vllm-cache:/root/.cache/huggingface \
  -e "MODEL=mistralai/Mistral-7B-Instruct-v0.2" \
  -p 8080:8000 --ipc=host vllm/vllm-openai:latest

これは次のようにテストできます。

curl -X POST http://localhost:8080/v1/completions \
-H "Content-Type: application/json" \
-d '{
"model": "mistralai/Mistral-7B-Instruct-v0.2",
"prompt": "\u003cs\u003e [INST] What was the latest released hero for Dota 2? [/INST] The latest released hero for Dota 2 was", "max_tokens": 200}'

Ollama での実行

Ollamaは、オープンソースモデルをローカルで実行するためのもう一つの人気のあるオプションです。モデル管理を簡素化し、OpenAI互換のAPIを提供します。

ollama pull mistral
ollama serve

これにより、http://localhost:11434でローカルサーバーが起動し、Discourse AIがOllamaプロバイダーを使用して接続できます。

Discourse インスタンスで利用可能にする

ほとんどの場合、GPU要件があるため、専用サーバーで実行することになります。その場合、リバースプロキシを実行し、TLS終了を行い、エンドポイントをDiscourseインスタンスからのみ接続できるように保護することを推奨します。

Discourse AI の設定

LLM接続は、サイト設定ではなく、管理UIから設定されるようになりました。/admin/plugins/discourse-ai/ai-llmsに移動し、新しいLLMを追加します。

  1. 新規をクリックしてモデルを追加します
  2. プロバイダーを選択します — 推論サーバーに応じて、vLLMHugging Face、またはOllamaを選択します
  3. 推論エンドポイントのURLを入力します(例:http://your-server:8080
  4. エンドポイントで必要な場合はAPIキーを入力します
  5. モデル名トークナイザー最大プロンプトトークン、その他のモデル詳細を入力します

LLMを追加したら、ai_default_llm_modelサイト設定でデフォルトとして設定するか、/admin/plugins/discourse-ai/ai-featuresで各機能のエージェント設定を通じて割り当てます。

「いいね!」 17