ヘルプ、クエリ結果の正確性を損なわずに知識ベースの検索速度を最適化する方法は?

:bullseye: お手伝いが必要なこと

使用しているdifyのバージョンは1.9.1で、chatflow内の知識ベースの検索時に、どのように最適化しても検索時間は8秒以上になります。現在試行している最適化方法は以下の通りです:

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