Ollama
Ollama で DingTalk の AI ボットを作る
LangBot で Ollama を使った DingTalk の AI ボットを動かす手順:モデル設定、ボットの認証情報、ネットワーク、テスト、トラブルシューティング。
このレシピでは Ollama のモデルを DingTalk のボットにつなぎます。LangBot が DingTalk のメッセージを受け取り、パイプラインで処理して返信するので、プラットフォーム連携のコードは不要です。
Ollama でオープンモデルをローカル実行し、LangBot の内蔵エージェントから提供します。会話データは手元のマシンから出ません。
必要なもの
- 稼働中の LangBot:LangBot Cloud(サーバー不要)、または Docker や
uvx langbotによるセルフホスト。 - LangBot から呼び出せる Ollama のアカウントまたはサーバー。
- DingTalk アプリロボット(Client ID と Client Secret)。ワンクリック設定でスマートフォンから認可すると自動入力されます。
ネットワーク
Stream モードでは LangBot から DingTalk へ接続するため、公開コールバック URL は不要です。
1. Ollama のモデルを追加する
- Ollama をインストールしてモデルを取得します(
ollama pullにモデル名)。 - LangBot の モデル で LLM モデルを追加し、プロバイダーに Ollama、リクエスト URL に Ollama サーバー(既定ポート
11434)を指定します。 - LangBot が Docker で動いている場合、
localhostはコンテナ自身を指すため、ホストのアドレス(例:host.docker.internal)を使います。
2. パイプラインを作成する
LangBot WebUI の パイプライン でパイプラインを作成(または既定のものを編集)し、AI を次のように設定します。
| 項目 | 設定値 |
|---|---|
| ランナー | Local Agent(内蔵エージェント) |
| モデル | 追加したモデル。予備モデルも指定できます。 |
| プロンプト | ボットの役割、口調、してはいけないこと。 |
| ナレッジベース | 任意。ナレッジベースを付けると資料に基づいて回答します。 |
3. DingTalk のボットを作成する
- DingTalk アダプターでボットを作成して ワンクリック設定 を使うか、ロボットを手動で作成して認証情報を入力します。
- イベント配信は Stream モード を使います。ストリーミング返信には LangBot の
dingtalk_stream_card.jsonカードテンプレートをインポートし、カード返信を使用 を有効にしてテンプレート ID を入力します。
4. 紐付けてテストする
ボットを開いて作成したパイプラインを選び、保存してボットが有効になっていることを確認します。
まずロボットと個別チャットし、次にグループへ追加してメンションします。
トラブルシューティング
- 小さなローカルモデルはツール呼び出しが苦手な場合があります。関数呼び出しに対応しないモデルでは ツール使用 をオフにします。
- ストリーミングでなくプレーンテキストで返る場合は、カードテンプレート未インポートか カード返信を使用 が無効です。
- メッセージが届かない場合は、アプリのバージョンを公開し、イベント購読で Stream モードが選ばれているか確認します。
- WebUI の モニタリング に、すべてのメッセージ、パイプラインの実行、エラーが記録されます。
よくある質問
DingTalk には公開 IP のあるサーバーが必要ですか?
いいえ。Stream モードでは LangBot から DingTalk へ接続するため、公開コールバック URL は不要です。
DingTalk のボットはストリーミング返信に対応していますか?
はい。ボットでストリーミングを有効にし、AI 側もストリーミングに対応している必要があります。詳しくはプラットフォーム機能一覧をご覧ください。
同じ Ollama の設定を他のプラットフォームでも使えますか?
はい。1 つのパイプラインを複数のボットに紐付けられるので、同じ設定で複数のプラットフォームに同時に応答できます。
関連ガイド
- DingTalk の詳しい設定ガイド
- モデルの設定
- DingTalk で使える他の AI:Dify · n8n · Coze · Langflow · DeepSeek
- Ollama を他のプラットフォームで使う:Telegram · Discord · Slack · Lark(Feishu) · WeCom(社内アプリ) · WeCom インテリジェントボット
