用途:当 cognee 摄取变慢、成本升高或触发速率限制时,用于加速或限流。主要瓶颈是 LLM:每个分块构建图需两次调用(图抽取与摘要),其余调优多归结为调用数量、速度与模型选择,数据库与嵌入开销相对较小。
预估与摄取参数:可用 await cognee.remember("./docs", dry_run=True) 预估各阶段 token 与成本,不含 improve()、嵌入与矛盾检测,GLiNER 或远程实例不可用。remember()/cognify() 参数包括 data_per_batch(默认 20,并发上限)、chunks_per_batch(默认 2000,环境变量 CHUNKS_PER_BATCH)、chunk_size(默认约 8191 tokens)、run_in_background、self_improvement。最坏并发 LLM 调用约为 data_per_batch × min(每文档分块数, chunks_per_batch) × 2。
限流与模型:LLM_RATE_LIMIT_ENABLED 默认 false,LLM_RATE_LIMIT_REQUESTS/INTERVAL 默认 60/60 s(本地提供方为 10);AUTO_RATE_LIMIT 默认 true,遇 429/503/529 或超时启用 15 分钟。可用 LLM_EXTRACTION_MODEL、LLM_SUMMARIZATION_、LLM_QUERY_ 为各阶段指定模型。嵌入侧可用 EMBEDDING_BATCH_SIZE(36)、EMBEDDING_MAX_CONCURRENT_DATA_POINTS(150)与嵌入限流变量;无凭据时用本地 fastembed(BAAI/bge-small-en-v1.5)。
其它手段:extractor="gliner" 可跳过 LLM 抽取(仍跑嵌入);AUTO_FEEDBACK=false 可减少聊天场景额外调用;选择无 LLM 的检索类型;用 datasets=[...] 和更小 top_k 缩小搜索。生产扩展方面开源版为单进程纵向扩展,默认嵌入数据库在本地磁盘,应考虑 Postgres + PGVector 与图原生后端;横向扩展为企业版。注意 CHUNK_SIZE 等 .env 配置对摄取无效,需直接传 chunk_size。