Echo Deployment
Deploy authenticated Echo provenance detector
8012660
Raw
History Blame Contribute Delete
963 Bytes
from __future__ import annotations
import math
from dataclasses import dataclass
def sigmoid(value: float) -> float:
if value >= 0:
z = math.exp(-value)
return 1.0 / (1.0 + z)
z = math.exp(value)
return z / (1.0 + z)
def clamp_probability(value: float) -> float:
if not math.isfinite(value):
raise ValueError("probability must be finite")
return max(0.0, min(1.0, value))
@dataclass(frozen=True)
class ModelResult:
detector_key: str
model_version: str
ai_probability: float
raw_score: float
latency_ms: int
input_size: int
def as_dict(self) -> dict[str, object]:
return {
"detector_key": self.detector_key,
"model_version": self.model_version,
"ai_probability": clamp_probability(self.ai_probability),
"raw_score": self.raw_score,
"latency_ms": self.latency_ms,
"input_size": self.input_size,
}