from typing import Optional from pydantic import BaseModel class ProcessGrcInput(BaseModel): garbled: str gt: str def __hash__(self) -> int: return hash(self.garbled + self.gt) class TokenConfidence(BaseModel): token: str confidence: float rank: Optional[int] = None class GrcResult(BaseModel): prediction_map: list[TokenConfidence] gt_map: list[TokenConfidence] topk: list[list[TokenConfidence]]