in sae-viewer/src/components/tokenHeatmap.tsx [21:49]
export default function TokenHeatmap({ info, colors = DEFAULT_COLORS, boundaries = DEFAULT_BOUNDARIES, renderNewlines }: Props) {
// <div className="block" style={{width:'100%', whiteSpace: 'pre', overflowX: 'scroll' }}>
const zipped = zip_sequence(info)
return (
<div className="block" style={{width:'100%', whiteSpace: 'pre-wrap'}}>
{zipped.map(({ token, activation, normalized_activation, highlight }, i) => {
const color = getInterpolatedColor(colors, boundaries, normalized_activation || activation);
if (!renderNewlines) {
token = token.replace(/\n/g, '↵')
}
return <Tooltip
content={
<span
style={{
background: `rgba(${color.r}, ${color.g}, ${color.b}, 0.5)`,
border: highlight ? '2px solid gray' : 'none',
borderRadius: '2px',
}}
>
{token}
</span>
}
tooltip={<div>Activation: {activation.toFixed(2)}</div>}
key={i}
/>
})}
</div>
)
}