目次
はじめに
こんにちは、ディーネットのよろず請負人、深見です。
8月も終わりに近づいていますが、皆さまいかがお過ごしでしょうか。
この度、生成AI開発プラットフォーム「Dify」の最新版 v1.8.0 が公開されました。今回のアップデートでは、待望の新機能が複数追加されたほか、多数の品質改善とバグ修正が実施されています。
本記事では、v1.8.0の主な変更点について速報としてお届けします。
🎉 Dify v1.8.0 リリース情報概要 🎉
Dify v1.8.0では、セキュリティ強化、パフォーマンス最適化、UI刷新、そして強力な新しいワークフロー機能など、全体的に大幅な改善が施されています。
🚀 新機能(New Features)
ワークフロー & エージェント機能
- マルチモデル クレデンシャル システム:柔軟なモデル管理を可能にする包括的なマルチモデル クレデンシャル システムを実装
- MCPサポートにおけるOAuth認証対応:OAuth認証によるリソースディスカバリのためのModel Context Protocol(MCP)のサポートを追加し、統合の可能性を拡大
- ワークフロー変数へのデフォルト値設定:すべてのワークフロースタートノード変数タイプがデフォルト値をサポート
- エージェントノードのトークン使用量公開:エージェントノードの使用状況メトリクスを公開し、監視と最適化を改善
UI/UXの強化
- ナレッジベースでのドキュメントソート:ナレッジベースのドキュメントステータスにソート機能を追加
- アバター削除機能:ユーザーがアバターを削除できるようになり、安全のための確認モーダルも追加
- 拡張可能なGoto-Anythingコマンド:ナビゲーションを改善するために、Goto-Anythingコマンドを拡張可能なアーキテクチャに改良
- ドキュメント名ツールチップ:リスト内のドキュメント名に役立つツールチップを追加
- セットアップ後の自動ログイン:管理者アカウント設定後に安全な自動ログインを実装
API & バックエンド
- Redis SSL/TLS認証:セキュリティ強化のため、Redis SSL/TLS証明書認証のサポートを追加
- Flask-RESTXへの移行:APIドキュメントと構造を改善するため、Flask-RESTfulからFlask-RESTXへの移行を完了
- Swagger認証:Swaggerドキュメントへの認証設定サポートを追加
🐛 バグ修正(Bug Fixes)
重要な修正
- データベースパフォーマンス:メッセージ作成ごとのプロバイダーテーブル更新を削除することで、主要なパフォーマンス問題を修正
- 認証エラーハンドリング:ログインエラーハンドリングを修正し、例外を適切に発生させるように変更
- OAuth Redis互換性:OAuth Redisの互換性問題を解決
- HTTPリクエストノードのファイルアクセス:HTTPリクエストノードでリモートURLを使用する場合のスタートノードからのファイルアクセスを修正
ワークフローの改善
- ループ終了条件:ループ内のノードからの変数を受け入れるようにループ終了条件を修正
- エージェントノードのトークンカウント:エージェントノードのトークンカウントでプロンプトと完了トークンを適切に分離
- ツール設定の数値入力:エージェントノードのツール設定における数値入力の動作を修正
- API経由での会話削除:API経由での会話削除がデータベースから適切に削除されるように修正
UI/UXの修正
- ダークモードの改善:プラグインドロップダウンのbackdrop-blur、ホバーボタンのコントラスト、埋め込みモーダルアイコンなど、複数のダークモード関連の修正
- React警告:Next.jsのReact警告を修正
- ボーダーラジウスの一貫性:コンポーネント間のUIボーダーラジウスの不整合を修正
🔒 セキュリティ強化(Security Enhancements)
- ユーザー列挙の防止:ユーザー列挙攻撃を防ぐために、認証エラーメッセージを標準化
- カスタムヘッダーの修正:BearerまたはBasic認証を使用する際にカスタムヘッダーが無視される問題を修正
- Oracle VDBにおけるSQLインジェクションの修正
⚡ パフォーマンス & インフラストラクチャ(Performance & Infrastructure)
ワークフローパフォーマンスの飛躍的向上
非同期 WorkflowRun/WorkflowNodeRun リポジトリ:ワークフロー実行に非同期リポジトリを実装し、劇的なパフォーマンス向上を実現しました。このアーキテクチャ変更により、ワークフロー実行中のノンブロッキング操作が可能になり、初期のテストでは、一般的なワークフローの実行時間がほぼ半減しています。この最適化は、複数のノードと並列処理を伴う複雑なワークフローに特に有効です。
データベース最適化
- セマンティックバージョン比較:ベクトルデータベースのバージョンチェックにセマンティックバージョン比較を実装
- AnalyticDBの改善:AnalyticDBがzhparserの作成に失敗した際のロールバック問題を修正
- データセットのクリーンアップ:データセットのクリーンアップタスクを最適化し、パフォーマンスを向上
テストインフラストラクチャ
- 包括的なテストカバレッジ:ワークフローアプリ、ウェブサイト、認証、会話など、複数のサービスに対してtestcontainersベースの統合テストを追加
- レート制限テスト:レート制限モジュールに対する包括的なテストスイートを追加
Docker & デプロイメント
- Dockerビルド最適化:Jest作業ファイル用のクリーンアップスクリプトを追加し、Dockerビルドプロセスを最適化
- Amazon ECSデプロイメント:Amazon ECSとCDKを使用したデプロイメントパターンに関するドキュメントを追加
- プラグインのバッファサイズ設定:composeファイルでプラグインのstdioバッファサイズを設定可能に
📚 ドキュメンテーション(Documentation)
- CLAUDE.md for LLM開発:LLM支援開発ガイダンスのための包括的なCLAUDE.mdファイルを追加
- APIドキュメンテーション:ファイルエンドポイント、MCP、サービスAPIのAPIドキュメントを強化
- ローカライズされたドキュメンテーション:ローカライズされたREADMEファイルを対応するCONTRIBUTING.mdファイルにリンクするように更新
- Markdown自動フォーマット:mdformatツールを使用してMarkdownファイルの自動フォーマットを実装
🧹 コード品質 & リファクタリング(Code Quality & Refactoring)
- 型安全性の改善:コードベース全体で型アノテーションと静的型チェックを大幅に改善
- AST-Grep統合:コードベースの一貫性を維持するためにast-grepツールを追加
- 不要なコードの削除:プロジェクト全体で空のファイルや未使用のコードをクリーンアップ
- インポートの最適化:非推奨の関数を置き換え、コードベース全体のインポートを最適化
🌐 国際化(Internationalization)
- 自動翻訳更新:i18n翻訳ファイルの継続的な更新と精度の向上
- 日本語翻訳の修正:日本語翻訳の問題を修正
- 翻訳同期:サポートされているすべての言語間での翻訳の同期を改善
おわりに
Dify v1.8.0は、特にワークフローパフォーマンスの大幅な向上が注目ポイントです。非同期リポジトリの実装により実行時間が半減するなど、実用性が大きく改善されています。また、MCPサポートやマルチモデル クレデンシャル システムなどの新機能により、より柔軟で強力なAIアプリケーション開発が可能になりました。
セキュリティ面でも多数の強化が行われており、企業での本格運用により適したプラットフォームに進化しています。
今回、バージョンアップ前の v1.7.2 で「Dify について」を確認したところ、v1.7.2 が最新版となっており、リリースノートを見て、v1.8.0 がリリースされたことに気づきました。(昨日の夕方近くに偶然に気付きました)
念のため、手持ちの環境 (v1.7.2) をバージョンアップしたところ、正常に v1.8.0 となり動作も問題ないようなので、リリース情報の速報へ踏み切りました。
次回以降では、ちょっと横道に反れますが、DifyとローカルLLMの組み合わせについてのご紹介もできればと検討中です。
リリース元:https://github.com/langgenius/dify/releases/tag/1.8.0