求助,如何在不损失查询结果准确性的情况下优化知识库的检索速率

:bullseye: What I Need Help With

[使用的dify版本是1.9.1,在chatflow中的知识库检索时,无论怎么优化,检索时间都在8s以上,目前尝试的优化有

  • 精简文档;
  • 将文档细化,根据大标题将一个文档拆分为多个,并在知识库中添加了元数据,在知识库检索时使用元数据过滤来缩小查询的范围;
  • .env 中添加 WORKER_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 重排序;
  • 关闭混合检索,改为纯向量检索]