code: import tiktoken
  from llama_index.core import MockEmbedding, VectorStoreIndex, SimpleDirectoryReader, Settings
  from llama_index.core.callbacks import CallbackManager, TokenCountingHandler
  from llama_index.core.llms.mock import MockLLM
  
  embed_model = MockEmbedding(embed_dim=1536)
  llm = MockLLM(max_tokens=256)
  token_counter = TokenCountingHandler(
      tokenizer=tiktoken.encoding_for_model("gpt-3.5-turbo").encode
  )
  callback_manager = CallbackManager([token_counter])
  
  Settings.embed_model=embed_model
  Settings.llm=llm
  Settings.callback_manager=callback_manager
  
  documents = SimpleDirectoryReader("cost_prediction_samples").load_data()
  index = VectorStoreIndex.from_documents(
      documents=documents,
      show_progress=True)
  print("Embedding Token Count:", token_counter.total_embedding_token_count)
  
  query_engine = index.as_query_engine()  
  response = query_engine.query("What's the cat's name?")   
  print("Query LLM Token Count:", token_counter.total_llm_token_count)
  print("Query Embedding Token Count:",token_counter.total_embedding_token_count)
  
  
apis: llama_index.core.callbacks.CallbackManager llama_index.core.MockEmbedding llama_index.core.llms.mock.MockLLM llama_index.core.VectorStoreIndex.from_documents llama_index.core.SimpleDirectoryReader
extract_api: [((249, 278), 'llama_index.core.MockEmbedding', 'MockEmbedding', ([], {'embed_dim': '(1536)'}), '(embed_dim=1536)\n', (262, 278), False, 'from llama_index.core import MockEmbedding, VectorStoreIndex, SimpleDirectoryReader, Settings\n'), ((285, 308), 'llama_index.core.llms.mock.MockLLM', 'MockLLM', ([], {'max_tokens': '(256)'}), '(max_tokens=256)\n', (292, 308), False, 'from llama_index.core.llms.mock import MockLLM\n'), ((434, 466), 'llama_index.core.callbacks.CallbackManager', 'CallbackManager', (['[token_counter]'], {}), '([token_counter])\n', (449, 466), False, 'from llama_index.core.callbacks import CallbackManager, TokenCountingHandler\n'), ((643, 715), 'llama_index.core.VectorStoreIndex.from_documents', 'VectorStoreIndex.from_documents', ([], {'documents': 'documents', 'show_progress': '(True)'}), '(documents=documents, show_progress=True)\n', (674, 715), False, 'from llama_index.core import MockEmbedding, VectorStoreIndex, SimpleDirectoryReader, Settings\n'), ((574, 622), 'llama_index.core.SimpleDirectoryReader', 'SimpleDirectoryReader', (['"""cost_prediction_samples"""'], {}), "('cost_prediction_samples')\n", (595, 622), False, 'from llama_index.core import MockEmbedding, VectorStoreIndex, SimpleDirectoryReader, Settings\n'), ((361, 405), 'tiktoken.encoding_for_model', 'tiktoken.encoding_for_model', (['"""gpt-3.5-turbo"""'], {}), "('gpt-3.5-turbo')\n", (388, 405), False, 'import tiktoken\n')]