Difyを使って社内のちょっとした「めんどくさい」作業をサクッと効率化する
株式会社ブルーイッシュ / Shota Totsuka
バックエンドエンジニア
利用プラン | ツールの利用規模 | ツールの利用開始時期 |
---|---|---|
サンドボックス(無料)プラン・プロフェッショナルプラン | 10名以下 | 2024年4月 |
利用プラン | サンドボックス(無料)プラン・プロフェッショナルプラン |
---|---|
ツールの利用規模 | 10名以下 |
ツールの利用開始時期 | 2024年4月 |
アーキテクチャ
アーキテクチャの意図・工夫
ArXivのURLをリクエストで受け取り、「コード」ブロックでIDの抽出処理を書いています。
import re
def main(arxiv_url: str) -> dict:
pattern = r"arxiv\.org/abs/(\d+\.\d+)"
match = re.search(pattern, arxiv_url)
if match:
arxiv_id = match.group(1)
return {"arxiv_id": arxiv_id}
else:
return {"arxiv_id": None}
フロー自体は単純ですが、「ARXIV SEARCH」ブロックなど個々のブロックが処理を簡略化してくれているため、この程度のブロックでフローが作成できています。
こちらはAPIで呼び出すことを想定しており、DifyのAPIを呼び出す処理はPython(with Slack bot)で書いています。
導入の背景・解決したかった問題
導入背景
ツール導入前の課題
生成AIで多くのタスクを簡略化できるようになった一方、ChatGPTやClaude(Web)を使うだけでは痒いところに手が届かないと感じており、社内でちょっとした処理を自動化したくても、デプロイする手間やコードを書く手間がネックでした。
できたら嬉しいけど、マストでもない。といった「ちょっととしためんどくさい」がたくさん転がっている状況です。
※今もまだたくさんありますが...
どのようなユースケースで使用しているか
主に使用しているユースケースの1つとして、「論文の翻訳」があります。
Huggingface Daily Papersの論文をRSSフィードでSlackに通知していましたが、基本的に英語のため一度翻訳する必要がありました。RSSを設定するだけならSlackのRSSアプリを使えば簡単にできますが、翻訳の一手間が煩わしく、Difyを使用してそこを解決しています。
プロダクトの本番運用は別のツールを使って開発した方が効率的なこともあり、現状は社内利用のみでDifyを使用しています。
比較検討したサービス
- Zapier
- Coze
比較した軸
- 導入に手間と時間がかからない
- なるべく安い金額 or 無料で使用できる
- 生成AIに付随した機能の豊富さ
選定理由
- 直感的なUI
- 無料プランがある
- すでにクラウド環境が用意されており、デプロイの手間がない
- 生成AIのモデルが豊富で、使用できるツールもAI関連で使いやすいものが多い
導入の成果
改善したかった課題はどれくらい解決されたか
現状は社内利用に留まっておりますが、論文翻訳のユースケースにおいてやりたいことはDifyで実現できています。
ただし、まだ解決すべき課題が多いこととコードを書かないとできないところもあるため、Dify以外の機能も使って解消できました。
どのような成果が得られたか
論文翻訳では、AI/ML関連の情報キャッチアップ速度が高まり、より広く・早く情報を取得することができるようになりました。 また、社内での共有の際もDifyが翻訳してくれたものを展開するだけで良いため、気軽に共有できるようになっています。
導入に向けた社内への説明
上長・チームへの説明
プロダクトの本番環境への導入ではないため、簡単な報告のみで進めました。
本番環境へ導入する場合は以下のような懸念点があり、検証が必要です。
- セルフホスト or Difyのクラウド環境のどちらを使うか
- どれだけの負荷まで耐えうるか
- プランの上限を超えた場合の対処
- ...etc
活用方法
よく使う機能
- ワークフロー
- APIで簡単に呼び出せるため、「ツール」で提供されている機能が使えそうな場合はこちらを使用します
- チャットフロー
- 新しいモデルの反映も早いため、精度検証やRAGのちょっとした精度を検証したい時はこちらを使用します
ツールの良い点
- 手間やコストをかけずに使い始めることができる
- 新しいモデルの反映が早い
- チャット(Text Generation)に関しては機能が豊富
- 基礎的なことは一通りできる
- クラウド環境が用意されているため、自分でホストせずにAPIを使用できる
ツールの課題点
- 本番環境で使用するには機能が少ない(ログ出力の汎用性・コード管理の難しさなど)
- develop, stagingなど環境ごとに分けることが難しいため、大規模なシステムには不向き
- 用意されたツール以上のことをやろうとした場合は実装・管理が大変
- 例えば、コードブロックを多用すると内部処理が複雑になり保守が大変になるなど
ツールを検討されている方へ
個人開発やPoCなど、なるべくコストをかけずにサクッと実装したい場合はとても有用なツールだと思います。
本記事では紹介していませんが、チャットボットを選択すれば少しの設定だけですぐに公開できる綺麗なチャットUIが作成できます。
一方、現状は本番環境で実装するには使いにくいポイントが多いと感じています(主に運用面)。Difyはコードブロックなどを使えば汎用的な機能が作れますが、管理が大変になりチーム開発・長期運用には向きません。
全てをDifyで実装するのではなく、Difyが使えるところだけ機能を切り出して使うことをオススメします。
※執筆時点では約2週間毎にアップデートされているため、使用する場合は必ず最新情報を参考にしてください!
株式会社ブルーイッシュ / Shota Totsuka
バックエンドエンジニア
よく見られているレビュー
株式会社ブルーイッシュ / Shota Totsuka
バックエンドエンジニア
レビューしているツール
目次
- アーキテクチャ
- 導入の背景・解決したかった問題
- 活用方法