Skip to content

Commit

Permalink
format token viz
Browse files Browse the repository at this point in the history
  • Loading branch information
lakshith-403 committed Oct 17, 2024
1 parent 8f78873 commit e40beba
Showing 1 changed file with 26 additions and 19 deletions.
45 changes: 26 additions & 19 deletions python/inspectus/token_viz.py
Original file line number Diff line number Diff line change
Expand Up @@ -2,30 +2,37 @@
from inspectus.utils import init_inline_viz
import numpy as np

def visualize_tokens(tokens: List[str], values: Dict[str, List[float]],
token_info: Optional[List[str]],
remove_padding: bool, color: str, theme: str):
if token_info is None:
token_info = [{} for _ in range(len(tokens))]

value_names = list(values.keys())
value_names.sort()
def visualize_tokens(
tokens: List[str],
values: Dict[str, List[float]],
token_info: Optional[List[str]],
remove_padding: bool,
color: str,
theme: str,
):
if token_info is None:
token_info = [{} for _ in range(len(tokens))]

values = np.stack([values[name] for name in value_names])

normalized_values = (values - np.min(values, axis=1, keepdims=True)) / (np.max(values, axis=1, keepdims=True) - np.min(values, axis=1, keepdims=True))
value_names = list(values.keys())
value_names.sort()

from uuid import uuid1
import json
values = np.stack([values[name] for name in value_names])

elem_id = 'id_' + uuid1().hex
normalized_values = (values - np.min(values, axis=1, keepdims=True)) / (
np.max(values, axis=1, keepdims=True) - np.min(values, axis=1, keepdims=True)
)

html = f'<div id="{elem_id}"></div>'
from uuid import uuid1
import json

script = f'<script>window.tokenViz(\'{elem_id}\',{json.dumps(tokens)}, {json.dumps(values.tolist())}, {json.dumps(normalized_values.tolist())}, {json.dumps(value_names)}, {json.dumps(remove_padding)}, {json.dumps(color)}, {json.dumps(token_info)}, {json.dumps(theme)})</script>'
elem_id = "id_" + uuid1().hex

from IPython.display import display, HTML
init_inline_viz()
display(HTML(html + script))
html = f'<div id="{elem_id}"></div>'


script = f"<script>window.tokenViz('{elem_id}',{json.dumps(tokens)}, {json.dumps(values.tolist())}, {json.dumps(normalized_values.tolist())}, {json.dumps(value_names)}, {json.dumps(remove_padding)}, {json.dumps(color)}, {json.dumps(token_info)}, {json.dumps(theme)})</script>"

from IPython.display import display, HTML

init_inline_viz()
display(HTML(html + script))

0 comments on commit e40beba

Please sign in to comment.