合议模型
合议模型让调用方只使用一个模型别名,由 AISIX 请求多个合议成员生成候选响应,再请求评审模型合成最终答案。调用方发送一个请求,并在所请求的别名下收到一个答案。分发与合 成都在网关内部完成。
在 AISIX 中,合议模型是一种模型别名,AISIX 通过调用多个直连模型来解析它,与路由组和语义路由器类似。它不直接指向某个上游模型,而是通过 ensemble 配置告诉 AISIX:调用哪些直连模型作为合议成员,以及用哪个直连模型作为评审模型。
合议模型包含两部分:
- 合议成员并发调用,各自生成独立的候选响应。
- 评审模型接收成功的合议成员响应,合成返回给调用方的单一响应。
合议成员和评审模型都必须引用已存在的直连模型别名。服务提供方凭证、服务提供方模型名称、健康行为、冷却行为以及模型级限流,都在这些直连模型上配置。
适用场景与取舍
合议模型用额外的模型调用换取更强的答案合成能力。当答案质量或一致性比极致的延迟、成本更重要时,它最为有用。
当单个模型的答案本身不够可靠时,可以使用合议模型:
- 降低单模型的波动和盲区。相互印证的独立答案更可能正确,评审模型会化解矛盾、舍弃缺乏依据的说法。
- 对高难度的推理或研究类提示词做交叉验证。不同模型可能沿不同路径得出答案,另一个候选响应往往能暴露其中的错误。
- 单一服务提供方下的自合议。合议成员可以是同一个直连模型的多次重复,各次使用不同的
temperature和seed,这样只有一个服务提供方密钥的团队,无需引入新厂商也能获得答案多样性。
合议模型会向每个合议成员各发一 个请求,再调用评审模型,因此并不适合所有场景。以下情况请改用其他模型类型:
- 对延迟敏感、以流式优先的链路。首个 Token 到达时间天然偏高,原因见流式与调用方响应一节。
- 使用工具或函数调用的请求。这类请求不受支持,受支持的请求形态见安全护栏与请求约束。
- 高流量、对成本敏感的流量,此时质量提升不足以抵消额外开销。
- chat completions 以外的端点。合议模型仅支持聊天。
这些情况请改用直连模型或多目标模型。多目标模型每次请求只选一个目标,而合议模型会调用全部合议成员,并综合它们的输出。
请求流程
合议请求从一个模型别名进入。AISIX 把请求并发分发给配置的合议成员,将成功的成员响应交给评审模型,最终只返回评审模型合成的答案。
对于每个聊天请求,AISIX 会执行以下阶段:
- 分发给合议成员。AISIX 把提示词并发分发给每个合议成员,并套用各成员各自的
temperature和seed覆盖值。 - 收集成功响应。AISIX 保留成功的答案;一旦成功的成员数量满足
min_responses,即进入下一步,否则请求按失败处理中的行为处理。 - 合成最终答案。AISIX 用原始请求和已收集的答案构造合成提示词,再以固定的低 temperature 调用评审模型。评审模型的输出在合议模型别名下返回给调用方。