1,000人を超える規模の組織で、全社生成AI推進プラットフォームとしてDifyを導入し始めた話
はじめに
メリークリスマス!!
みなさん、こんにちは。メドレーの倉林です。この記事は「Medley(メドレー) Advent Calendar 2024」の25日目(最終日)の記事となります。
今回、メドレーで初のAdvent Calendarの実施でした。様々な記事がアウトプットされ、大変うれしく思います。社内の皆さん、完走お疲れ様でした!!
そして、読んでくださっている皆さん、ありがとうございます!
入社後やったこと
今年やったことは今年のうちにすこしアウトプットしてスッキリしたい!ということで、4月入社からの8ヶ月間を振り返ってみたいと思います。
2024年4月にジョインし、現在はCTO室の室長としてエンジニア採用含むプロダクト開発組織作り及び人材プラットフォーム本部の横断的な役割を少しづつ担っています。
以下が主な取り組みです:
- プロジェクトにおけるEM業務、開発プロセス改善
- 全社ディベロッパー支援施策検討・実行
- CTO室の立ち上げ
- エンジニア採用の前進 / DevRel立ち上げ
- 本部内でのQAの立ち上げ
- データ基盤の前進/Pipeline整備、As-Is/To-Be整理、組織検討
- 全社横断AI推進
この中から、最近のトピックスとして全社Dify環境を導入したことを少し共有できればと思います。
1,000人規模という少し大きな組織で利用し始められたこと、具体的な活用もでてきているので、構成やどんなことをやったかのポイントを共有できればと思っています。
最近だとGovTech東京が東京都のAI活用の基盤にDifyを活用する話などもでてきており、コミュニティが盛り上がってきていると感じています。メドレーもコミュニティの中で認知を広げていければと思っているので界隈の方ぜひよろしくおねがいします!
メドレーの生成AI推進について
メドレーでは生成AI横断プロジェクトを2024年度から本格的に行なっています。
全社でのノウハウの共有、ガイドライン策定、プロダクトでの活用、生成AIを安心して活用できる仕組みづくりなど創造性と生産性が飛躍的に向上する企業文化の実現を目標に推進しています。
この活動の中で、色々なモデル(GPT、Claude、Gemini)などを試せる環境、プロンプトをチューニングしながら生成AIの活用アイデアを具体化・共有できる環境、全社が生成AIに触れ合うことにより生成AIの活用を活発化していく環境が求められています。
上記のような背景で、「Dify(ディファイ)」という生成AIプラットフォームを導入し、全社的な生成AI活用を推進することにしました。
Difyは、生成AIアプリケーションを開発できるオープンソースのプラットフォームで、多様なLLMとの連携ができたり、RAGエンジンが標準搭載されています。Difyは使いやすさと拡張性が絶妙なバランスで設計された良いツールだと感じています。
詳細が知りたい方は、公式ドキュメントを参照してみてください。
Dify以外にも様々なツールも続々とでてきているので、最適なものを柔軟に活用・検証していければと考えています。
Dify環境構成
メドレーではコミュニティ版をAWS上に構築して使っています。
それぞれの細かい手順などは各種参考記事にもあるので、本記事では大枠の導入ポイント、構成を記載していければと思っています。
今後利用状況を見ながらスケールしやすい環境へ移行させていく予定ですが、スピード感をもって進めるために以下の構成を選択しました。
- EC2上にDocker ComposeでDifyを立ち上げ: シンプルで迅速な導入を実現
- マネージドサービスの活用: RDS(DB)、S3(ストレージ)、SES(メール)などマネージド・サービスを活用できる箇所は最低限利用する
- CognitoとSAML認証によるセキュアなアクセス: 社内Google認証と連携し、セキュリティを確保。Difyにログインせずに扱える公開アプリについてもCognito認証でしっかりカバー
- 会話履歴がエディター権限以上をもっていると見れてしまう課題への対応: ALBにてアクセス制限
- 複数LLMの活用: Azure OpenAI、AWS Bedrock、Google Vertex AIにて、セキュリティを確保しながら、幅広いモデルを活用・検証できるように対応
- 公開アプリはリンク集を用意して社内推進: リンク集から活用したいAIアプリを利用いただく。Difyでアプリ開発を希望する社員へは開発ガイドを提供し、DifyのEditorアカウントを発行。
- Lightsail上でのQA環境構築: Difyの頻繁なバージョンアップに柔軟に対応するため、検証環境を用意
- Terraformによるインフラ管理: 環境構築をTerraformで自動化し、効率的な運用を実現
Dify の全体像・docker-compose yamlを可視化した図は、公式リポジトリにある以下の図で表現されています。
引用: https://github.com/langgenius/dify/blob/main/docker/docker-compose.png
今回活用にあたってアーキテクチャの理解と一部コードリーディングしました。Difyアーキテクチャの考え方の理解が進むほか、個人的に勉強したかった TypeScript,Next.js,Tailwind CSS,Python,Flask の学習にもなりました。構成的にもきれいだったので興味がある方はぜひコードも読んでみてください。
来年はなんらかの対応でコントリビュートもできたらよいなと考えています。(そんな時間がとれたらよいなと、、、)
すべてECSやマネージド構成にしてみたりもしたのですが、このあたりは必要としている非機能要件によるかと思っています。今後は利用状況をみてEC2からECSへの移換などスケールしやすい環境についても検討していければと考えています。
参考記事
- Dify と Amazon Bedrock を使って、簡単にセキュリティオペレーション自動化
- LLMアプリ開発プラットフォームOSS Difyのスケーラブル・高可用な運用
- 絶対に失敗しないDifyデプロイの手順、AWS Lightsail編
推進状況の可視化
その他のポイントとして、活用推進する上で利用状況を把握するのは大切ですよね。そこはDifyのデータベースのデータをデータ基盤(BigQuery)へ送り可視化させています。
(今年のCTO室活動でデータ基盤を前進させたことで、データの転送から可視化までの一連の流れが簡単に実現できるようになりました。データ活用推進の取り組みや、メドレーのデータ基盤についてはまた別の機会でテックブログ等でも発信していければと思っています。)
- どのmodel/アプリが利用されているか
- 利用token数の把握
- uniqueユーザー、生成AIの推進KPIに活用
おわりに
直近の12day連続のOpenAI発表など、去年もすごかったが今年も生成AI界隈は目まぐるしかったですね。
自分自身もそうですが、環境をしっかりアップデートしないとすぐに適切なバリューが出せなくなってしまうのでそこは組織として意識していければと考えています。
来年度、新たなチャレンジに向けて「1年でなにを前進させたか」をシンプルに自信をもって宣言できるようにしたいと考えています。
スモールスタートからのクイックWin、事業や組織へ変容/インパクトを作るを意識しながら、来年度もやっていきたいと思います。
それでは皆さんよいクリスマス・年末年始をお過ごしください!
We are hiring!
来年度もメドレーは積極的にプロダクト開発に関わるメンバーを探しています。
ぜひ興味があればカジュアル面談も可能ですのでぜひ連絡ください。
Discussion