cascade.consensus()
Determine consensus across multiple model responses.
Usage
cascade.consensus(
responses, *, strategy=ConsensusStrategy.MAJORITY, unanimous_threshold=0.7
)Compares the provided responses and selects a winner based on the chosen strategy. Also detects and reports disagreements.
Parameters
responses: list[ModelResponse]-
List of model responses to compare. Must contain at least one response.
strategy: ConsensusStrategy = ConsensusStrategy.MAJORITY-
The consensus strategy to use.
unanimous_threshold: float = 0.7-
For the
UNANIMOUSstrategy, the minimum pairwise similarity required for consensus to be reached (default 0.7).
Returns
ConsensusResult- The consensus outcome including winner, agreement score, and disagreements.
Raises
ValueError-
If
responsesis empty.
Examples
import talk_box as tb
responses = [
tb.ModelResponse(model="anthropic:claude-sonnet-4-6", text="Python is a programming language."),
tb.ModelResponse(model="openai:gpt-4o", text="Python is a high-level programming language."),
tb.ModelResponse(model="google:gemini-2.5-flash", text="Python is an interpreted programming language."),
]
result = tb.consensus(responses, strategy=tb.ConsensusStrategy.MAJORITY)
result.winner # "Python is a high-level programming language."
result.agreement_score # ~0.75
result.consensus_reached # True