Difyで構築する社内で汎用的に使えるAIチャットボット
株式会社SmartHR / yoyogi
メンバー / 情報システム / 従業員規模: 1,001〜5,000名
利用プラン | ツールの利用規模 | ツールの利用開始時期 |
---|---|---|
コミュニティ版 | 11名〜50名 | 2024年9月 |
利用プラン | コミュニティ版 |
---|---|
ツールの利用規模 | 11名〜50名 |
ツールの利用開始時期 | 2024年9月 |
アーキテクチャ
アーキテクチャの意図・工夫
前提として、社内のユーザーはSlack上で本機能を利用します。
Slackbotでインタフェースを提供し、バックエンドのDifyがLLMのAPIとの通信を行う構成になっています。 DifyのAPIを直接扱えるSlackbotは提供されていなさそう(見つけられなかった)だったので、Rails AppにSlackbotの機能をもたせることにしました。SlackbotにメンションされたテキストをDifyのAPIを介してLLMに送っています。
Difyの環境は、扱うデータの性質上、ログインが必要なシステムとはいえ、誰でもがアクセス可能な状態にはしたくなかったので、GoogleCloudPlatform の Identity-Aware Proxy(IAP) を利用し、アクセス制限を行っています。
Dify内にもRAGを構築する機能が備わっていますが、思ったような精度には至らなかったので、Azure のAI Searchに基盤を構築し、Dify内からAPI経由で呼び出す形を取っています。
導入の背景・解決したかった問題
導入背景
ツール導入前の課題
導入当時、社内でのAIサービスの活用は進んでいるものの、以下のような課題がありました。
- Webサービスとして提供されているChatGPT/Gemini/Claudeなどは精度や速度などパフォーマンスの変化が激しく一つに絞りにくい
- ガイドラインを周知しているものの、オプトアウトなどセキュリティが担保されているかをコントロールしづらい
- 個人、部門単位で契約を行う場合、その度に申請承認や経費精算などが発生し、社内のユーザー、管理者双方に負担がある
- 複数人で利用できる企業向けのプランはライセンス費用が高額な傾向がある
どのような状態を目指していたか
社内のAI活用をさらに促進するために、全従業員がより安全かつ簡易にAIを使える状態を目指しました。
- 従業員が安全かつ容易に複数のLLMモデルを利用できる環境の構築
- 社内情報の活用を通して事業におけるAI活用を推進し、情報収集やキャッチアップの工数削減による生産性向上
- 問い合わせ対応部門の負担軽減と全社的な情報セキュリティ、監査リスクの低減
- Webサービス契約よりも安価/安全にLLMを業務利用できる状態
比較検討したサービス
- Dify クラウド版
- フルスクラッチでの開発
比較した軸
- 管理、運用の工数
- リリース速度
- セキュリティが担保された環境であるかどうか
- 利用者側の利便性
導入の成果
改善したかった課題はどれくらい解決されたか
Slackインターフェースのチャットボットとして、社内メンバーが気軽にLLMを利用できる環境を提供できました。しかし、Dify自体の活用については、Dify上の権限設定が詳細にできないため、一部メンバーへの開放にとどまっています。
どのような成果が得られたか
上記と重複しますが、API経由でのLLM利用により、セキュリティとコストの課題をクリアした安価かつ安全な環境を提供できました。また、環境構築を通じて、RAG活用に関する周辺知識も得られ、その結果、社内ドキュメントを活用した回答生成も可能になりました。
導入時の苦労・悩み
セキュリティの担保 Dify のクラウドサービス版を利用すればインフラコストを削減できますが、業務情報を外部サービスに保持する懸念がありました。 社内のセキュリティエンジニアと相談し、社内メンバーのみがアクセス可能な制御を加えることでセキュリティを担保しました。
セルフホスティング版の社内環境構築 Dify のセルフホスティングに関するドキュメントが構築当時(2024年8月頃)は乏しく、どのような設定が必要かわからず、公式で提供されている docker-compose.yaml に書かれている内容を読み解くなどして、必要な設定を把握する必要がありました。
※ 現在は以前と比べ、セルフホスティング版に関しての参考ドキュメントが増えてきているかとは思います。 AWSであれば、AWS Marketplaceに公式が用意したDify Premiumと呼ばれる AWS AMI製品があるので、検討しても良いかもしれません。
導入に向けた社内への説明
上長・チームへの説明
Dify導入にあたっては、まずセキュリティ上の課題と、Dify自体の運用コスト、そしてDify内で利用するLLMの利用コストを算出し、セルフホスティング版を選択する理由を説明しました。
コストやセキュリティの確保はもちろんですが、ボトムアップで現場が裁量を持って意思決定するカルチャーも強く、これらの点を明確に示すことでスムーズに理解を得ることができました。その結果、社内AI活用の基盤を早期にリリースすることを優先し、導入を決定しました。
活用方法
よく使う機能
チャットフロー
- AIチャットボットのフローをチャットフローにて作成しています。 LLMアプリ構築時のPoCにも活用しています。
チャットボット
- ちょっとしたモデルの性能検証や比較で利用しています。
ツールの良い点
- 導入コストが低い
- 機能アップデートが頻繁に行われる
- GUIで簡単にフローを組むことができる
- 機能を組み合わせれば、ある程度複雑な処理を組むことも可能
ツールの課題点
- 権限管理が弱い
- 新たな外部のLLMモデルを利用したい場合にすぐに利用できない(Difyのアップデートを待たないといけない)
今後の展望
一部すでに対応済みの課題もありますが、以下のような課題を解消していければと思っています。
- LLMが学習している内容が回答のメインで、最新の情報をキャッチアップして回答することができない
- 回答に反映させている社内ドキュメントが限定的で、情報システム領域に関しても網羅できていない
上記のような課題を解消し、情報システム部門へのお問い合わせの一次窓口として機能し、マニュアルやドキュメントを見ればわかるような定型的な回答については、一次窓口で完結するというような状態を目指しています。
また、その先の対応として、
- LLMアプリケーションを介してのAPI連携等による、アカウント発行や申請などの定型業務の自動化
- 24時間365日対応、いつでもどこでも情シスを頼れる環境の提供
といった、AIシステムの強みを活かした情報システムのAIエージェントを構築しようと思っています。
関連
Difyのセルフホスティング版の環境構築や、課題に対する解決策についてのテックブログも公開しているので、合わせてご覧ください。
株式会社SmartHR / yoyogi
メンバー / 情報システム / 従業員規模: 1,001〜5,000名
よく見られているレビュー
株式会社SmartHR / yoyogi
メンバー / 情報システム / 従業員規模: 1,001〜5,000名
レビューしているツール
目次
- アーキテクチャ
- 導入の背景・解決したかった問題
- 活用方法