GitHub Repo
Dify 社群回報日期格式不一致,知識庫時間篩選可能整筆查詢失敗
10 月 16 日的 Dify 社群回報指出,內建中繼資料的寫入格式不一致,可能造成時間篩選失敗或來源篩選漏掉文件。修補提案已提出,但尚未合併,也未包含既有資料遷移。

Dify 社群於 10 月 16 日提交問題回報與修補提案,指出知識庫內建中繼資料存在格式分歧:啟用欄位時回填的日期是數值時間戳,之後新增文件卻寫入日期字串。回報涵蓋自架版 1.17.1,並指出當時主分支仍有相同程式路徑;驗證範圍是 PostgreSQL 15 的 SQL 測試,尚非完整部署重現。問題回報
依回報,啟用內建欄位與批次編輯流程,會將 upload_date、last_update_date 寫成 epoch 秒數;一般文件建立與知識流水線則使用年月日時分秒字串。時間條件會把欄位轉成 FLOAT,因此混入一筆日期字串,就可能讓整個檢索查詢轉型失敗。來源欄位也有 file_upload 與 upload_file 的差異,可能使等值篩選靜默漏掉文件。技術細節
這會影響依日期限定資料範圍的 RAG 應用。Dify 官方原有設計允許在知識檢索節點使用手動或自動中繼資料條件,並以時間欄位區分文件版本。從工程角度推論,若格式問題發生在此層,調整嵌入模型或重排模型也無法修復查詢失敗;應先檢查資料型別與篩選條件。官方功能說明
修補提案將三條寫入路徑集中到共用函式,統一時間戳與來源標籤,並處理時間轉換對程序時區的依賴。作者回報相關單元測試共 2,318 項通過,但這仍是提交者提供的結果。截至查核,PR 尚待審查,也未遷移既有紀錄。工程師接下來應關注合併與發布版本,以及舊資料的正式修復方式;部署驗證則應同時涵蓋新舊文件、日期比較與來源等值篩選。修補提案