Saltar al contenido principal
Beta sin calibrar
StrikeStrike

Probabilities and confidence

How to read strike-1 probabilities, confidence, confidence_band, and meta.

Every strike-1 answer includes a probability on every option, read directly from the model (prob_source is "native"). These are real probabilities (beta, not yet calibrated): use them to compare options and route work, not as forecasts.

Reading the distribution

Python
import strikeflow as strike

result = strike.decide(
    "Which team?",
    ["billing", "tech", "sales"],
    context="Please refund the duplicate charge on my card.",
)

for option, prob in result.probabilities.items():
    print(option, round(prob, 4))

assert abs(sum(result.probabilities.values()) - 1.0) < 1e-5

Use probabilities to:

  • Route only when the margin is clear.
  • Send ambiguous cases to a human or a general LLM fallback.
  • Log decision quality in traces.

Confidence

confidence is the probability mass on the chosen answer. If the API omits it, the SDK sets confidence = probabilities[answer].

Python
if result.confidence < 0.7:
    # your fallback: ask a human, call a general LLM, or re-prompt
    ...

confidence_band

On the raw /v1/systemone response, each answer may include confidence_band: "high", "leaning", "low", or null when the model cannot assign a band. Use it for coarse routing; use confidence for numeric thresholds.

The strikeflow SDK maps the HTTP response into DecisionResult; inspect result.raw if you need confidence_band or meta from the API.

meta

The top-level meta object on a systemone response includes latency, region, and related fields. Use it for observability, not as a user-facing accuracy score.

low_confidence flag

Pass min_confidence on decide or configure the engine once:

Python
import strikeflow as strike

strike.configure(min_confidence=0.7)
result = strike.decide("Escalate?", "yes_no", context="vague message: hmm")
if result.low_confidence:
    ...

The flag is computed client-side: (result.confidence or 0) < min_confidence.

Tool results

strike_decision_tool().handle(...) returns a JSON dict (via DecisionResult.to_dict()) with rounded probabilities, confidence, low_confidence, and trace_id when tracing is active.

Probabilities and confidence: Strike docs