【Dify入門】PythonとDifyで業務自動化フローを作る方法

AI・ツール活用

Difyを使えば、Pythonの知識がなくてもAIワークフローが作れる。Pythonと組み合わせれば、さらに柔軟な業務自動化が実現できる。

概要

Difyは、ノーコードでLLMアプリケーションを構築できるオープンソースプラットフォームです。2024年後半から急速に注目を集めており、特に業務自動化の文脈で導入事例が増えています。APIを通じてPythonから呼び出せるため、既存のスクリプトやシステムと連携しやすい点が個人開発者やエンジニアに支持されています。

基本的な使い方

1. Difyのセットアップ

Difyはクラウド版とセルフホスト版があります。まずはクラウド版で試してみてください。

ShellScript
# セルフホスト版を使う場合はDockerで起動
git clone https://github.com/langgenius/dify.git
cd dify/docker
docker compose up -d

2. ワークフローの作成

Difyの管理画面から「ワークフロー」を選択し、新規作成します。

  1. 入力ノードを配置(テキストやファイル)
  2. LLMノードを追加(ChatGPTやClaudeを選択)
  3. 出力ノードを設定

3. PythonからAPIを呼び出す

作成したワークフローはAPIとして公開できます。

Python
# Dify APIを呼び出す例
import requests

API_KEY = "your-dify-api-key"
WORKFLOW_URL = "https://api.dify.ai/v1/workflows/run"

def run_workflow(input_text: str) -> str:
    """Difyワークフローを実行する"""
    headers = {
        "Authorization": f"Bearer {API_KEY}",
        "Content-Type": "application/json"
    }
    payload = {
        "inputs": {"text": input_text},
        "response_mode": "blocking"
    }
    response = requests.post(WORKFLOW_URL, json=payload, headers=headers)
    return response.json()["data"]["outputs"]["result"]

# 実行例
result = run_workflow("この文章を要約してください:...")
print(result)

実践的なTips

ワークフローを部品化する

複雑な処理は小さなワークフローに分割しましょう。Pythonから複数のワークフローを順番に呼び出すことで、メンテナンス性が上がります。

エラーハンドリングを忘れずに

API呼び出しは失敗することがあります。リトライ処理を入れておくと安心です。

Python
# リトライ付きの呼び出し
import time

def run_workflow_with_retry(input_text: str, max_retries: int = 3) -> str:
    """リトライ機能付きワークフロー実行"""
    for i in range(max_retries):
        try:
            return run_workflow(input_text)
        except Exception as e:
            if i == max_retries - 1:
                raise
            time.sleep(2 ** i)  # 指数バックオフ

ローカル環境で開発、本番はクラウド

開発時はDockerでローカル起動し、本番環境ではDify Cloudを使う構成がおすすめです。APIキーを環境変数で切り替えれば、コードの変更なしに移行できます。

こんな場面で役立つ

日次レポートの自動生成 データベースからデータを取得し、Difyで要約・整形してSlackに投稿する流れを自動化できます。

問い合わせ対応の下書き作成 メールの内容をDifyに渡し、返信の下書きを生成させることで対応時間を短縮できます。

ドキュメントの一括変換 マニュアルや仕様書を別の形式(FAQ、チェックリストなど)に変換する作業を効率化できます。

⚠️ 向かない用途 リアルタイム性が求められる処理や、大量のデータを一度に処理する場合はAPI呼び出しのオーバーヘッドが気になることがあります。

まとめ

  • DifyはノーコードでChatGPTやClaudeを使ったワークフローを作れるプラットフォーム
  • PythonからAPI経由で呼び出せるため、既存システムとの連携が容易
  • 小さなワークフローに分割し、Python側で組み合わせるのがコツ
  • ローカル開発からクラウド本番への移行もスムーズ
  • 日次レポート生成や問い合わせ対応など、定型業務の自動化に最適

今回紹介したツール・サービス

  • Dify – ノーコードLLMアプリ構築プラットフォーム
  • ChatGPT / Claude – Dify上で利用できるLLMモデル
  • Python – Dify APIとの連携に使用
タイトルとURLをコピーしました