LangBot Docs
Ollama

Ollama で Discord の AI ボットを作る

LangBot で Ollama を使った Discord の AI ボットを動かす手順:モデル設定、ボットの認証情報、ネットワーク、テスト、トラブルシューティング。

このレシピでは Ollama のモデルを Discord のボットにつなぎます。LangBot が Discord のメッセージを受け取り、パイプラインで処理して返信するので、プラットフォーム連携のコードは不要です。

Ollama でオープンモデルをローカル実行し、LangBot の内蔵エージェントから提供します。会話データは手元のマシンから出ません。

必要なもの

  • 稼働中の LangBot:LangBot Cloud(サーバー不要)、または Docker や uvx langbot によるセルフホスト。
  • LangBot から呼び出せる Ollama のアカウントまたはサーバー。
  • Discord Developer Portal で作成したアプリとボットの Client ID と ボットトークン。Server Members Intent と Message Content Intent を有効にしておきます。

ネットワーク

Discord ボットは Discord ゲートウェイへ外向きに接続するため、公開 Webhook URL は不要です。

1. Ollama のモデルを追加する

  1. Ollama をインストールしてモデルを取得します(ollama pull にモデル名)。
  2. LangBot の モデル で LLM モデルを追加し、プロバイダーに Ollama、リクエスト URL に Ollama サーバー(既定ポート 11434)を指定します。
  3. LangBot が Docker で動いている場合、localhost はコンテナ自身を指すため、ホストのアドレス(例:host.docker.internal)を使います。

2. パイプラインを作成する

LangBot WebUI の パイプライン でパイプラインを作成(または既定のものを編集)し、AI を次のように設定します。

項目設定値
ランナーLocal Agent(内蔵エージェント)
モデル追加したモデル。予備モデルも指定できます。
プロンプトボットの役割、口調、してはいけないこと。
ナレッジベース任意。ナレッジベースを付けると資料に基づいて回答します。

3. Discord のボットを作成する

  1. Discord アダプターでボットを作成し、Client ID とトークンを入力します。
  2. OAuth2 → URL Generator で bot スコープと Guild Install を選び、チャンネル閲覧とメッセージ送信の権限を付けてサーバーに招待します。

4. 紐付けてテストする

ボットを開いて作成したパイプラインを選び、保存してボットが有効になっていることを確認します。

サーバーのチャンネルでトリガー条件に合うメッセージを送り、続いてボットのプロフィールから DM も試します。

トラブルシューティング

  • 小さなローカルモデルはツール呼び出しが苦手な場合があります。関数呼び出しに対応しないモデルでは ツール使用 をオフにします。
  • ゲートウェイへのログインに失敗する場合は、最新のトークンか、2 つの特権インテントが有効で保存済みかを確認します。
  • Discord は 1 メッセージの長さに上限があるため、長いストリーミング返信は複数メッセージに分かれます。
  • WebUI の モニタリング に、すべてのメッセージ、パイプラインの実行、エラーが記録されます。

よくある質問

Discord には公開 IP のあるサーバーが必要ですか?

いいえ。Discord ボットは Discord ゲートウェイへ外向きに接続するため、公開 Webhook URL は不要です。

Discord のボットはストリーミング返信に対応していますか?

はい。ボットでストリーミングを有効にし、AI 側もストリーミングに対応している必要があります。詳しくはプラットフォーム機能一覧をご覧ください。

同じ Ollama の設定を他のプラットフォームでも使えますか?

はい。1 つのパイプラインを複数のボットに紐付けられるので、同じ設定で複数のプラットフォームに同時に応答できます。

関連ガイド

On this page