F104新增共享内存接纳:问答、分类、后台扫描和分析合计默认4个名额,RSS和可用内存检查可能进一步拒绝;下表16路不再是默认可同时执行的问答数。各阶段原并发配置保留。生产硬隔离须安装systemd unit,见内存保护。
生产API/CLI的问答并发通过环境变量配置;本轮新增两项,本地均为8:
KNOWLEDGE_ANALYSIS_CONCURRENCY=8
RETRIEVAL_CONTENT_CONCURRENCY=8
两项范围1–32、默认8,系统环境变量优先于项目.env,非法值启动失败,重启后生效。直接构造Recommender的测试/开发调用仍可显式传workers;API/CLI均注入环境配置。全文分析的候选协调池和共享证据块执行池使用同一上限,真正模型调用在共享证据块池,不会变成8×8调用;卡片短文案阶段复用这一配置。不同知识库完整原文回读各自存储结果,按库顺序合并后仍按原候选顺序恢复和校验;同库首段读取完成后才查询剩余分段。只有六库时配置8实际最多6路;某库没有入选候选则不创建读取任务。
下表是代码默认值,不代表未核对的部署环境实际值;本轮仅修改上述两项本地配置。
| 环境变量 | 默认 | 作用域 |
|---|---|---|
| API_MAX_CONCURRENT_REQUESTS | 16 | chat接纳上限;公司分类有独立接纳池但复用此数值 |
| API_LLM_CONCURRENCY | 8 | API进程内共享模型名额,覆盖问答、rerank、图片识别、公司分类及后台分析 |
| API_RETRIEVAL_CONCURRENCY | 4 | API进程内同时检索的请求数 |
| RETRIEVAL_QUERY_CONCURRENCY | 4 | 单请求查询并发 |
| RETRIEVAL_BANK_CONCURRENCY | 6 | 单查询跨库向量检索并发 |
| RETRIEVAL_CONTENT_CONCURRENCY | 8 | 单请求跨库完整原文回读并发 |
| RERANK_CONCURRENCY | 4 | 单请求相关性初筛并发 |
| KNOWLEDGE_ANALYSIS_CONCURRENCY | 8 | 单请求全文分析、候选协调和随后卡片短文案并发 |
| SESSION_ANALYSIS_CONCURRENCY | 4 | 后台同时分析的会话数 |
离线知识摘要的SUMMARY_CONCURRENCY已有独立环境配置,不属于在线请求。API进程数仍固定1,这是会话排他安全边界,不将其开放成可随意提高的并发配置。CLI单独运行时不使用API进程的共享模型信号量。
重启后优先比较同类请求的total_ms、analysis、model_wait.analysis、retrieval_call.retrieve、content_read及错误率。content_read现在可能并行,其total_ms是各调用累计,不是阶段墙钟;检索整体耗时看retrieve。先测单请求,再测多请求并观察P95,不能把单请求改善当成总容量验收。