为Ngram推测解码添加多SAM动态HTTP API支持,允许运行时管理外部语料库。
建议技术管理者和工程师精读此PR,重点关注: 1. 多SAM存储的设计决策,如何通过`std::unordered_map`管理语料库生命周期和并发限制(见FIXME)。 2. 异步加载模式,使用`ExternalCorpusManager`和后台线程实现非阻塞操作,避免影响调度器事件循环。 3. 预算分配逻辑在`batchMatch`中的实现,确保草案生成质量不受多SAM影响,注意整数除法可能导致的余数分配问题。 4. 向后兼容处理,保持启动参数`--speculative-ngram-external-corpus-path`工作,并将其整合到新API中。
参与讨论