1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

Difyでのワークフロー作成とAPI化及びハマりポイント

Last updated at Posted at 2025-02-09

複数のLLMを活用したワークフローの作成手順

Difyを利用して複数のLLMを組み合わせたワークフローを作成する手順について解説する。本記事では、基本的な設定からAPIとしての利用方法、運用時の注意点までを網羅する。

1. Difyのインストール(Dockerを使用)

DifyはDockerコンテナとして導入するのが手っ取り早い。
参考文献

2. モデルプロバイダーへのローカルLLMの登録

ワークフローを作成する前に、モデルプロバイダーとしてローカルで動作するOpenAI互換APIサーバー(Open WebUI)を登録する。

  1. Difyにログインする
    Difyのダッシュボードにアクセスし、アカウントにログインする。

  2. モデルプロバイダーの設定を開く
    画面右上のアカウントアイコンをクリックし、「設定」を選択する。次に「モデルプロバイダー」タブを開く。

  3. OpenAI-API-Compatibleモデルを追加する
    「OpenAI-API-Compatible」の項目で「モデルを追加」をクリックする。

  4. モデル情報を入力する
    以下の情報を入力する。

    • モデル名: Open Webui側でpull済みのモデル名を選択(例: gemma2:latest)
    • エンドポイント: http://host.docker.internal:3000/v1
    • APIキー: Open WebUI側で設定したAPIキーを登録
  5. モデルを保存する
    入力内容を確認し、「保存」をクリックする。

これで、DifyからローカルのOpenAI互換APIサーバーにアクセスできるようになる。
※疎通やAPIキーの認証に失敗すると登録できない

3. 複数のLLMを活用したワークフローの作成手順

ステップ1: 新しいワークフローを作成する

  1. ダッシュボードから「ワークフロー」を選択し、「新しいワークフローを作成」をクリックする。
  2. ワークフロー名と説明を入力する。

ステップ2: ブロックを配置する

  1. 必要なLLMブロックをドラッグアンドドロップで配置する。
  2. 各ブロックに使用するモデルとパラメータを設定する。

ステップ3: ブロック間を接続する

  1. 各ブロックを線でつなぎ、データフローを定義する。
  2. 条件分岐やループ処理が必要な場合は、対応するブロックを使用する。

4. 作成したワークフローの動作確認手順

ステップ1: 入力値を確認する

  1. ワークフローに適切な入力値を設定する。
  2. 必要に応じてダミーデータを利用する。

ステップ2: 実行する

  1. ワークフローを実行し、ログを確認する。
  2. 各ステップの出力内容を検証する。

ステップ3: デバッグする

  1. 出力結果に誤りがある場合、問題のあるブロックを特定する。
  2. パラメータや条件を修正して再実行する。

5. Difyで作成したワークフローをAPIとして利用可能な状態にする

ステップ1: API公開設定を行う

  1. ワークフロー設定画面で「APIを有効化」にチェックを入れる。
  2. 必要に応じて認証トークンを設定する。

ステップ2: エンドポイントを確認する

  1. APIエンドポイントURLをコピーする。
  2. 入力パラメータと出力形式を確認する。

6. APIを公開する(有効化する)

  1. ワークフローの「公開設定」を開く。
  2. 「APIを有効化」にチェックを入れる。
  3. 保存後、エンドポイントURLが生成される。

7. ワークフローの更新を反映する

  1. ワークフローの編集を完了したら「保存」をクリックする。
  2. APIとして利用している場合、更新内容が即時反映される。

8. ワークフローの「終了」ブロックで出力変数を指定していないため結果が返ってこない

  • 出力が得られない場合、「終了」ブロックの設定を確認する。
  • 出力変数が指定されているか確認し、必要なデータを明示的に設定する。

9. Difyワークフローの利点

  • メトリクス情報の閲覧
    ワークフローの実行状況や性能をリアルタイムで確認できる。
  • 各ステップの処理内容を詳細に確認可能
    特にLLM系ブロックでは応答の全文が確認できるため、デバッグが容易である。
  • API利用時の詳細なログ追跡が可能
    ワークフローのログには各ステップの処理内容が記録されており、外部からAPIを利用している場合でもトラブルシューティングが簡単に行える。
1
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?