目次
はじめに
こんにちは、ディーネットのよろず請負人、深見です。
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
ソースコードデプロイの場合
ソースコードデプロイの場合は、以下の手順が必要です。
- API サーバー、Worker、Web フロントエンドサーバーの停止
- 最新コードの取得
- Python 依存関係の更新
- マイグレーションスクリプトの実行
詳細については、公式のリリースノートをご確認ください。
おわりに
Dify v1.10.1 のリリースにより、プラットフォームはより堅牢で高性能になり、さらに多くのユーザーにとって使いやすいものへと進化しました。特に MySQL のサポートは、幅広い企業や開発者にとって朗報となるでしょう。
パフォーマンスの大幅な向上により、複雑なワークフローもストレスなく構築できるようになりました。ぜひ最新版をお試しいただき、その改善を体感してみてください。
補足情報
注意: Dify v1.10.1 のリリースは GitHub 上では公開されていますが、執筆時点では Dify 管理コンソールのメニュー通知では 1.9.2 や 1.10.0 と表示されたままになっている場合があります。アップデートの適用状況については、公式ドキュメントをご確認ください。
参考リンク
この記事は Dify v1.10.1 のリリースノートを基に作成されています。最新の情報については公式サイトをご確認ください。