多模型api响应需统一为含text、model_name、token_usage字段的json;串行调用按长度加权合并,取最长文本为主干并补全独有实体;并行调用适用投票合并(硬投票多数决/软投票置信加权);级联过滤式合并分三步:a提事实、b校逻辑、c控语气。
☞☞☞AI 智能聊天, 问答助手, AI 智能搜索, 多模态理解力帮你轻松跨越从0到1的创作门槛☜☜☜

准备多模型API响应数据结构
先确保每个模型返回的JSON结构统一,至少包含text、model_name、token_usage三个字段,否则后续合并逻辑会因键缺失而报错。
若调用OpenAI返回的是choices[0].message.content,Hugging Face返回的是generated_text,必须在call_model()函数内做标准化封装——不统一字段名,后面所有融合策略都会失效。
串行调用后按文本长度加权合并
方法一:直接取最长输出作为主干,其余结果补全细节
① 收集全部响应,过滤掉text为空或长度<10的脏数据;
② 找出text字符数最多的响应,设为primary;
③ 对其余响应,提取其中不在primary中出现的实体、数字、专业术语(用正则r'\b[A-Z][a-z]+(?:\s+[A-Z][a-z]+)*\b|\d+\.*\d*'匹配),去重后追加到primary末尾;
【注意:必须先清洗再提取,否则“Model A: Yes.”和“Model B: Yes”会被视为两个不同实体】
并行调用后启用投票机制合并
适用于分类、是非判断、选项选择类任务,例如“该合同条款是否构成违约?”
方法1:硬投票(多数决)
将每个模型输出映射为预定义标签,如{"是": 1, "否": 0, "无法判断": -1},统计三票中出现次数最多的标签值,直接返回对应中文。
方法2:软投票(置信分加权)
若某模型返回带confidence_score字段(如{"answer": "是", "confidence_score": 0.92}),则按分数加权计票,最终归一化为0~1区间输出。
这一步操作起来很简单,直接把各模型的confidence_score乘以对应标签编码后求和再除以总分即可。
级联过滤式合并:逐层精炼输出
适合高容错场景,如法律审查、医疗建议、金融风控。第一层筛事实,第二层校逻辑,第三层控语气。
第一步:用模型A(强事实提取型,如DeepSeek-R1)提取原始主张、金额、日期、责任方四类关键字段,丢弃所有修饰性语句;
第二步:将第一步结果喂给模型B(强逻辑校验型,如Qwen2.5-72B),检查“金额是否大于零”“日期是否早于当前日”等硬约束,标记违规项;
第三步:把前两步输出拼成新prompt,交给模型C(强合规表达型,如GLM-4-Flash),要求其仅用中性、无歧义、可审计的句式重写结论——【不可跳过第三步,否则模型B的校验结果会以口语化方式混入最终输出】。











