code: def visualise_tokens(token_values: list[bytes]) -> None:
      background = [
          f"\u001b[48;5;{i}m" for i in [167, 179, 185, 77, 80, 68, 134]
      ]
      # If token boundaries do not occur at unicode character boundaries, it's unclear how best to
      # visualise the token. Here, we'll just use the unicode replacement character to represent some
      # fraction of a character.
      unicode_token_values = [
          x.decode("utf-8", errors="replace") for x in token_values
      ]
  
      running_length = 0
      last_color = None
      for token in unicode_token_values:
          color = background[running_length % len(background)]
          if color == last_color:
              color = background[(running_length + 1) % len(background)]
              assert color != last_color
          last_color = color
          running_length += len(token)
          print(color + token, end="")
      print("\u001b[0m")
  
file_path: tiktoken/tiktoken/_educational.py
imports: import collections
  from typing import Optional
  import regex
  import tiktoken
label_desc: Use image node_id 3 for calling a global function with example usage: visualise_tokens(token_values) without return types