Dify 三昧:【速報】Dify v1.10.1 リリース – MySQL対応と大幅なパフォーマンス向上

はじめに

こんにちは、ディーネットのよろず請負人、深見です。

Dify v1.10.1 がリリースされました!今回のリリースでは、待望のMySQLサポートが追加され、ワークフローエディタのパフォーマンスが大幅に向上するなど、多くの新機能と改善が盛り込まれています。本記事では、主要なアップデート内容とバージョンアップ時の注意点について解説します。


🚀 主な新機能と変更点

1. マルチデータベース対応(MySQLサポート)

DifyがPostgreSQL、OceanBaseに加えて、新たに MySQL を正式にサポートしました。これにより、より多くのデータベース環境でDifyを利用できるようになり、柔軟なシステム構築が可能になります。

技術的な変更点

  • DB_TYPE 設定オプションの追加
  • MySQLのJSON、LONGTEXT、UUID、インデックスの違いに対応
  • マルチデータベース互換性のため Alembic マイグレーションを更新
  • 統計処理や日付処理のためのクロスDB SQLヘルパーを導入
  • データセットメタデータフィルタを SQLAlchemy JSON 演算子で再実装
  • MySQL マイグレーションテスト用の CI ワークフローを追加

ポイント: これは Dify の歴史において重要なマイルストーンであり、バックエンドの大規模なアップグレードによって、マルチデータベースサポートが第一級の機能として確立されました。

2. ワークフローエディタのパフォーマンス最適化

ワークフローエディタのパフォーマンスが大幅に向上しました。ノード数が多い複雑なワークフローでも、ストレスなく操作できるようになります。

改善内容

  • コストのかかるノードごとの検証スキャンを排除し、不要な再レンダリングを削減
  • 約50ノードで発生していた動作の遅延を解消
  • 約200ノードでもスムーズな動作を維持

3. パイプラインとワークフローエンジンの改善

ワークフローエディタのUI改善、安定性の向上、変数検査、メディアコンポーネント、ノードインタラクションに関する品質改善が実施されました。


🛠 修正と改善点

Dify v1.10.1 では、上記の主要な変更点に加えて、以下のカテゴリーで多数の修正と改善が行われています。

ランタイムの安定性とワークフロー実行

アドバンスドチャットワークフローが停止しない問題、ドラフトモードでの500エラー、トークンの過剰カウントなどの問題が修正されました。

ナレッジベース

weightedScore 検索オプション使用時の500エラーが修正され、安定性が向上しました。

開発者体験とSDK

Node.js SDK のルーティングとマルチパートアップロードの処理、OpenAPI/Swagger の読み込み失敗の問題が修正され、開発者向けの機能が強化されました。

Web UI と UX

以下のような多くのUI/UX問題が修正され、全体的なユーザー体験が向上しました。

  • ダークモードの表示
  • マーケットプレイスの検索動作
  • チャットフローログの詳細ナビゲーション
  • README 表示パネルのレイアウト

プラグインと統合

プラグインの検証ロジックが更新され、正確性が向上しました。

システムの堅牢性

TriggerProviderIdentity の nullable タグの防止、無効な Webhook リクエストに対するエラーメッセージの改善など、システムの堅牢性が強化されました。

フィードバックとロギング

いいね/嫌いのフィードバックがログに表示されない問題が修正されました。

国際化 (i18n)

トリガーと課金イベントの用語標準化、実行関連の翻訳の修正、UI全体の翻訳の追加など、多言語対応が改善されました。

メンテナンスと開発者ツール

フロントエンドの自動テストルールの追加、システムライブラリとPython依存関係のアップグレード、開発スクリプトの簡素化など、開発とメンテナンスの効率が向上しました。


バージョンアップ時の注意点

Docker Compose を使用して Dify をデプロイしている場合、今回のバージョンアップには 重要な対応が必要 です。

アップグレード前に必要なアクション

1. 非rootユーザーへの変更

v1.10.1 から、Dify API イメージがセキュリティ向上のため非 root ユーザー(UID 1001)として実行されるようになります。

2. ストレージディレクトリの所有権更新

コミュニティデプロイのデフォルトであるローカルファイルシステムストレージを使用している場合、ホストマシン上のマウントされたストレージディレクトリの所有権を更新する必要があります。この対応を怠ると、コンテナがファイルの読み書きに失敗します。

具体的な手順

# 既存のコンテナを停止
docker compose down

# ホスト上でディレクトリの所有権を更新
sudo chown -R 1001:1001 ./volumes/app/storage

# 新しいバージョンを起動
docker compose up -d

この一度のマイグレーション作業を行えば、Dify は新しい非 root ユーザーモデルで正常に動作します。

データベース接続エラーへの対応

Docker Compose デプロイにおいて、以下のようなデータベース接続エラーが発生する場合があります。

failed to connect to `host=db_postgres user=postgres database=dify_plugin`: hostname resolving error (lookup db_postgres on 127.0.0.11:53: server misbehaving)

このエラーが発生した場合は、以下のコマンドを使用してください。

docker compose --profile postgresql up -d

ソースコードデプロイの場合

ソースコードデプロイの場合は、以下の手順が必要です。

  1. API サーバー、Worker、Web フロントエンドサーバーの停止
  2. 最新コードの取得
  3. Python 依存関係の更新
  4. マイグレーションスクリプトの実行

詳細については、公式のリリースノートをご確認ください。


おわりに

Dify v1.10.1 のリリースにより、プラットフォームはより堅牢で高性能になり、さらに多くのユーザーにとって使いやすいものへと進化しました。特に MySQL のサポートは、幅広い企業や開発者にとって朗報となるでしょう。

パフォーマンスの大幅な向上により、複雑なワークフローもストレスなく構築できるようになりました。ぜひ最新版をお試しいただき、その改善を体感してみてください。


補足情報

注意: Dify v1.10.1 のリリースは GitHub 上では公開されていますが、執筆時点では Dify 管理コンソールのメニュー通知では 1.9.2 や 1.10.0 と表示されたままになっている場合があります。アップデートの適用状況については、公式ドキュメントをご確認ください。


参考リンク


この記事は Dify v1.10.1 のリリースノートを基に作成されています。最新の情報については公式サイトをご確認ください。

返信を残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

CAPTCHA