目次
はじめに
ディーネットのよろず請負人、深見です。
今回は、Dify の最新パッチリリースである v1.13.2 の情報をお届けします。このバージョンは、v1.13.1 で導入されたいくつかの重要な問題(リグレッション)と安定性の問題を修正するためにリリースされました。Dify の運用をより安定させるための重要なアップデートですので、ぜひ内容をご確認ください。
🚀 Dify v1.13.2 とは?
Dify v1.13.2 は、2024年3月18日に QuantumGhost 氏によってリリースされたパッチバージョンです。主な目的は、以前のバージョンで発生していた複数の深刻な不具合を修正し、システムの安定性と信頼性を向上させることです。
v1.13.2 で修正された主な変更点 (What’s Changed)
このパッチリリースでは、以下の重要な修正が行われました。
-
プロンプトメッセージ変換の重大なリグレッション修正
- 内容: LLM (大規模言語モデル) ノードや Question Classifier (質問分類器) など、LLM 関連のノード全体で複数の LLM-plugin 呼び出しが失敗する原因となっていた、プロンプトメッセージ変換の深刻な不具合が修正されました。
- 解説: これは、Dify アプリケーションが LLM と連携する際の根幹に関わる問題で、チャットやワークフローの実行において LLM が正常に機能しない可能性がありました。この修正により、LLM 連携の安定性が大きく向上します。
-
ナレッジ検索ノード実行の失敗修正
- 内容: 互換性のない Enum 値が原因で発生していた Knowledge Retrieval (ナレッジ検索) ノードの実行失敗が修正されました。
- 解説: データベースや外部サービスから情報を取得して回答を生成する「ナレッジ検索」機能において、特定の条件下でエラーが発生し、期待通りに動作しない問題がありました。この修正により、ナレッジ検索ノードの信頼性が向上し、より正確な情報に基づいた応答が可能になります。
-
不適切な Weaviate クライアントのクリーンアップ修正
- 内容: Weaviate (ベクトルデータベースの一つ) クライアントの不適切なクリーンアップに関する問題が修正されました。
- 解説: Weaviate を利用している環境で、リソースの解放が適切に行われないことで、メモリリークやパフォーマンス低下、さらには予期せぬエラーにつながる可能性がありました。この修正により、Weaviate 連携における安定性が向上します。
その他にも、以下のような修正が含まれています。
max_retriesのハードコードに関する修正(#33619)fetch_prompt_messagesにおけるコンテンツ変換ロジックの保持に関する修正(#33666)CreatorUserRoleがend-userとend_userの両方を受け入れるように修正(#33638)- Weaviate クライアントの
delメソッドの削除(#33593)
バージョンアップ時の注意点
Dify v1.13.2 へのアップグレードを計画している方は、以下の点に特に注意してください。
- CELERY_QUEUES の設定:
カスタムのCELERY_QUEUESを使用している場合は、workflow_based_app_executionが含まれていることを確認してください。
さらに、ENABLE_API_TOKEN_LAST_USED_UPDATE_TASK=trueを設定している場合は、api_tokenも含める必要があります。
これは、ワークフローベースのアプリケーション実行や API トークンの最終利用時刻更新タスクを正しく処理するために必要です。
アップデート手順
Dify のデプロイ方法に応じて、以下の手順でアップデートを行ってください。
Docker Compose を利用したデプロイの場合
- 既存の
docker-compose.yamlのバックアップ (任意):
カスタマイズしたdocker-compose.yamlファイルを使用している場合は、念のためバックアップを取っておくことをお勧めします。cd docker cp docker-compose.yaml docker-compose.yaml.$(date +%s).bak - 最新のコードの取得:
mainブランチから最新のコードを取得します。git checkout main git pull origin main - サービスの停止:
dockerディレクトリ内で、現在のサービスを停止します。docker compose down - データボリュームのバックアップ:
万が一のために、データボリュームをバックアップしておきましょう。tar -cvf volumes-$(date +%s).tgz volumes - サービスのアップグレードと起動:
最新の Docker イメージでサービスを起動します。docker compose up -d - データベース接続エラーが発生した場合の対応:
もし、以下のようなデータベース接続エラーが発生した場合は、2025/11/26 11:37:57 /app/internal/db/pg/pg.go:30 [error] failed to initialize database, got error failed to connect tohost=db_postgres user=postgres database=dify_plugin: hostname resolving error (lookup db_postgres on 127.0.0.11:53: server misbehaving)代わりに以下のコマンドを使用してください。詳細については、#28706 を参照してください。
docker compose --profile postgresql up -d
ソースコードからデプロイしている場合
- API サーバー、Worker、Web フロントエンドサーバーの停止:
Dify の各コンポーネントをすべて停止します。 - リリースブランチからの最新コード取得:
1.13.2リリースブランチから最新のコードを取得します。git checkout 1.13.2 - Python 依存関係の更新:
apiディレクトリに移動し、Python の依存関係を更新します。cd api uv sync - マイグレーションスクリプトの実行:
データベースのスキーマ変更を適用するため、マイグレーションを実行します。uv run flask db upgrade - API サーバー、Worker、Web フロントエンドサーバーの再起動:
すべてのコンポーネントを再度起動します。
おわりに
Dify v1.13.2 は、LLM との連携やナレッジ検索機能など、Dify の核となる部分の安定性を大きく向上させる重要なパッチリリースです。特に LLM を活用したアプリケーションを運用している方にとっては、このアップデートによって信頼性の高い動作が期待できます。
アップグレード時には、ご紹介した注意点と手順を参考に、安全にバージョンアップを実施してください。
Dify を活用して、さらに素晴らしいアプリケーションを開発していきましょう!
次回のアップデートにもご期待ください!
参考リンク
本記事は Dify v1.13.2 のリリースノートを基に作成されています。最新情報は公式サイトおよび GitHub リポジトリをご確認ください。