お手伝いが必要なこと
使用しているdifyのバージョンは1.9.1で、chatflow内の知識ベースの検索時に、どのように最適化しても検索時間は8秒以上になります。現在試行している最適化方法は以下の通りです:
- ドキュメントの簡素化;
- ドキュメントを細分化し、大見出しに基づいて1つのドキュメントを複数に分割し、知識ベースにメタデータを追加し、知識ベースの検索時にメタデータフィルタリングを使用して検索範囲を狭めている;
.envにWORKER_CONCURRENCY=10などのWorker設定を追加し、再起動しても並行数が有効にならない;docker-compose.yamlのworkerサービスのcommandパラメータを変更し、--concurrency=10--queues=knowledge_base,documentを追加しても並行数が変わらない(最終的に.envのCELERY_WORKER_AMOUNTで10に設定できたが、単一の検索タスクの所要時間は減少しない);docker-compose.yamlのWeaviateの環境変数(LIMIT_RESOURCES_MEMORY=2G/4GHNSW_EF=50/100HNSW_EF_CONSTRUCTION=200/300)を調整;- Weaviateサービスを複数回再起動し、コマンドラインからすべての知識ベースインデックスを強制的に再構築;
- Weaviateのリソース使用状況(CPU / メモリともに90%未満)を確認したが、検索速度に改善なし;
- Chatflowの検索ノードでTop-Kを2に調整(1に下げていない)、Rerank重排序を無効化;
- 混合検索を無効化し、純粋なベクトル検索に変更。