三个通道返回30条结果,最终只给模型5条
开篇引言
上一篇拆解了多通道并行检索的内部实现——SearchChannel 接口抽象、两级线程池隔离、AbstractParallelRetriever 模板方法模式、CompletableFuture 并行调度与容错。读者已经知道怎么把一个用户问题同时丢给多个通道、怎么让通道之间互不阻塞、怎么在某个通道挂掉时返回空结果而不拖垮全局。
文章最后留了一个问题:定向检索从两个 Collection 搜回了 14 条,全局检索从 5 个 Collection 搜回了 15 条,加起来 29 条 Chunk——能直接塞进 LLM 的 Prompt 吗?
V1 版本 Ragent AI 代码未接入关键词检索,但是文章预留了关键词检索通道进行讲解。
答案是不能。把场景拉回电商客服。用户问了一句“AirPods Pro 怎么退货?”,经过意图识别和多通道并行检索后,三个通道各自返回了结果:
- 意图定向通道(
INTENT_DIRECTED