Bird
Raised Fist0
Prompt Engineering / GenAIml~10 mins

Token counting and cost estimation in Prompt Engineering / GenAI - Interactive Code Practice

Choose your learning style10 modes available

Start learning this pattern below

Jump into concepts and practice - no test required

or
Recommended
Test this pattern10 questions across easy, medium, and hard to know if this pattern is strong
Practice - 5 Tasks
Answer the questions below
1fill in blank
easy

Complete the code to count tokens in a text using the tokenizer.

Prompt Engineering / GenAI
tokens = tokenizer.encode(text)
num_tokens = len([1])
Drag options to blanks, or click blank then click option'
Atokenizer
Btext
Ctokens
Dencode
Attempts:
3 left
💡 Hint
Common Mistakes
Counting length of the original text string instead of tokens.
2fill in blank
medium

Complete the code to calculate the cost given tokens and price per 1000 tokens.

Prompt Engineering / GenAI
cost = (num_tokens / 1000) * [1]
Drag options to blanks, or click blank then click option'
Aprice_per_token
Btoken_price
Cnum_tokens
Dprice_per_1000_tokens
Attempts:
3 left
💡 Hint
Common Mistakes
Using price per token instead of price per 1000 tokens.
3fill in blank
hard

Fix the error in the code to correctly estimate total cost for prompt and completion tokens.

Prompt Engineering / GenAI
total_tokens = prompt_tokens + [1]
cost = (total_tokens / 1000) * price_per_1000_tokens
Drag options to blanks, or click blank then click option'
Acompletion_tokens
Bprompt_tokens
Ctoken_count
Dnum_tokens
Attempts:
3 left
💡 Hint
Common Mistakes
Adding prompt tokens twice instead of adding completion tokens.
4fill in blank
hard

Fill both blanks to create a dictionary with token counts and cost per token type.

Prompt Engineering / GenAI
costs = {
    'prompt': prompt_tokens * [1],
    'completion': completion_tokens * [2]
}
Drag options to blanks, or click blank then click option'
Aprompt_token_price
Bcompletion_token_price
Cprice_per_token
Dtoken_price
Attempts:
3 left
💡 Hint
Common Mistakes
Using the same price for both token types.
5fill in blank
hard

Fill all three blanks to calculate total cost and print a formatted summary.

Prompt Engineering / GenAI
total_cost = costs['prompt'] + costs[[1]]
summary = f"Prompt tokens cost: ${{costs['prompt']:.4f}}, Completion tokens cost: ${{costs[[2]]:.4f}}, Total cost: $[3]:.4f}}"
print(summary)
Drag options to blanks, or click blank then click option'
A'completion'
Ctotal_cost
D'prompt'
Attempts:
3 left
💡 Hint
Common Mistakes
Using wrong dictionary keys or variable names in the formatted string.

Practice

(1/5)
1. What is a token in the context of AI language models?
easy
A. A hardware component
B. A small piece of text like a word or part of a word
C. A programming language
D. A type of AI model

Solution

  1. Step 1: Understand token meaning

    Tokens are the smallest pieces of text that AI models read, such as words or parts of words.
  2. Step 2: Identify correct definition

    Among the options, only A small piece of text like a word or part of a word correctly describes tokens as small text pieces.
  3. Final Answer:

    A small piece of text like a word or part of a word -> Option B
  4. Quick Check:

    Token = small text piece [OK]
Hint: Tokens are text chunks, not models or hardware [OK]
Common Mistakes:
  • Confusing tokens with AI models
  • Thinking tokens are programming languages
  • Assuming tokens are hardware parts
2. Which of the following Python code snippets correctly counts tokens using a simple split by spaces?
easy
A. tokens = text.split(' ') count = len(tokens)
B. tokens = text.count(' ') count = tokens + 1
C. tokens = len(text) count = tokens
D. tokens = text.split() count = tokens

Solution

  1. Step 1: Understand token counting by splitting

    Splitting text by spaces returns a list of tokens; counting tokens is length of that list.
  2. Step 2: Check each option

    tokens = text.split(' ') count = len(tokens) splits by space and counts tokens correctly. tokens = text.count(' ') count = tokens + 1 counts spaces but needs +1 for tokens. tokens = len(text) count = tokens counts characters, not tokens. tokens = text.split() count = tokens assigns list to count, which is incorrect.
  3. Final Answer:

    tokens = text.split(' ') count = len(tokens) -> Option A
  4. Quick Check:

    Split by space + len() = token count [OK]
Hint: Use split(' ') and len() to count tokens simply [OK]
Common Mistakes:
  • Counting characters instead of tokens
  • Forgetting to add 1 when counting spaces
  • Assigning list directly to count variable
3. Given the text: "Hello world! This is AI." and a token counting method that splits by spaces, what is the token count?
medium
A. 7
B. 6
C. 4
D. 5

Solution

  1. Step 1: Split the text by spaces

    Splitting "Hello world! This is AI." by spaces gives: ['Hello', 'world!', 'This', 'is', 'AI.']
  2. Step 2: Count the tokens

    There are 5 tokens in the list.
  3. Final Answer:

    5 -> Option D
  4. Quick Check:

    5 tokens from splitting by space [OK]
Hint: Count words separated by spaces for quick token count [OK]
Common Mistakes:
  • Counting punctuation as separate tokens
  • Adding extra tokens incorrectly
  • Miscounting spaces
4. You wrote this code to count tokens but it gives an error:
text = "AI is fun"
tokens = text.split
count = len(tokens)

What is the error and how to fix it?
medium
A. Missing parentheses in split method call; fix with text.split()
B. len() cannot be used on list; use count() instead
C. text should be a list, not string
D. split method does not exist for strings

Solution

  1. Step 1: Identify the error in method call

    text.split is a method reference, not a call. It needs parentheses to execute.
  2. Step 2: Fix the code

    Change text.split to text.split() to get the list of tokens, then len() works correctly.
  3. Final Answer:

    Missing parentheses in split method call; fix with text.split() -> Option A
  4. Quick Check:

    Use split() with parentheses to call method [OK]
Hint: Always add () to call string methods like split() [OK]
Common Mistakes:
  • Forgetting parentheses on method calls
  • Using len() on method instead of list
  • Thinking split is not a string method
5. You want to estimate the cost of an AI request. The model charges $0.0001 per token. If your input has 120 tokens and output is expected to be 80 tokens, what is the total estimated cost?
hard
A. $0.012
B. $0.01
C. $0.02
D. $0.008

Solution

  1. Step 1: Calculate total tokens used

    Total tokens = input tokens + output tokens = 120 + 80 = 200 tokens.
  2. Step 2: Multiply total tokens by cost per token

    Cost = 200 tokens * $0.0001 = $0.02.
  3. Step 3: Check options carefully

    $0.02 shows $0.02, but $0.012 shows $0.012 which is incorrect. Recalculate carefully: 200 * 0.0001 = 0.02, so $0.02 is correct.
  4. Final Answer:

    $0.02 -> Option C
  5. Quick Check:

    200 tokens * $0.0001 = $0.02 [OK]
Hint: Add input and output tokens, multiply by cost per token [OK]
Common Mistakes:
  • Multiplying only input tokens by cost
  • Multiplying only output tokens by cost
  • Misreading decimal places in cost