Bird
Raised Fist0
Prompt Engineering / GenAIml~8 mins

Token counting and cost estimation in Prompt Engineering / GenAI - Model Metrics & Evaluation

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
Metrics & Evaluation - Token counting and cost estimation
Which metric matters for Token counting and cost estimation and WHY

When working with generative AI models, the key metric is the number of tokens processed. Tokens are pieces of words or characters that the model reads or writes. Counting tokens helps us estimate the cost because many AI services charge based on how many tokens you use.

Knowing token counts helps control expenses and optimize usage. For example, shorter prompts or responses use fewer tokens and cost less. So, token count is the main metric to watch for budgeting and efficiency.

Token counting example (like a confusion matrix for classification)
Input text: "Hello, how are you?"
Tokenized as: ["Hello", ",", " how", " are", " you", "?"]
Number of tokens: 6

Output text: "I am fine, thanks!"
Tokenized as: ["I", " am", " fine", ",", " thanks", "!"]
Number of tokens: 6

Total tokens used = Input tokens + Output tokens = 6 + 6 = 12

Cost estimation example:
If cost per 1000 tokens = $0.02,
Then cost = (12 / 1000) * 0.02 = $0.00024
    
Tradeoff: More tokens vs Cost and Quality

Using more tokens means the model can understand or generate longer, richer text. This often improves quality.

But more tokens also mean higher cost. So, you must balance:

  • Quality: Longer inputs and outputs can give better answers.
  • Cost: More tokens cost more money.

For example, a short prompt might cost less but give a vague answer. A longer prompt costs more but gives a detailed answer.

What good vs bad token counting and cost estimation looks like

Good: You track tokens carefully, keep prompts concise, and estimate costs before running models. You avoid surprises in bills.

Bad: You ignore token counts, use very long prompts or outputs without control, and get unexpectedly high costs.

Good practice means knowing your token limits and costs, and adjusting your usage to fit your budget.

Common pitfalls in token counting and cost estimation
  • Not counting tokens correctly because tokenization splits words differently than expected.
  • Ignoring output tokens in cost estimation, only counting input tokens.
  • Using very long prompts or asking for very long outputs without limits, causing high costs.
  • Not considering that some tokens are partial words, so token count can be higher than word count.
  • Assuming cost is fixed per request instead of per token.
Self-check question

Your model usage shows 98% accuracy but you notice the token count per request is very high, causing high costs. Is this good?

Answer: Not necessarily. High accuracy is good, but if token usage is very high, costs may be too expensive to sustain. You should try to reduce tokens by shortening prompts or limiting output length while keeping accuracy acceptable.

Key Result
Token count directly controls cost; balancing token usage and quality is key for efficient AI use.

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