genai_input_cost
You can use this function to analyze prompt costs, optimize prompt engineering for cost efficiency, track input spending separately, or create detailed cost breakdowns.
Usage#
Syntax#
genai_input_cost(model, input_tokens)Parameters#
| Name | Type | Required | Description |
|---|---|---|---|
| model | string | Yes | The name of the AI model (for example, 'gpt-4', 'claude-3-opus', 'gpt-3.5-turbo'). |
| input_tokens | long | Yes | The number of input tokens (prompt tokens) used in the API call. |
Returns#
Returns a real number representing the cost in dollars (USD) for the input tokens based on the model's pricing.
Example#
Calculate the cost of input tokens for a GenAI chat operation.
Query
['otel-demo-genai']
| extend model = ['attributes.gen_ai.request.model']
| extend input_tokens = tolong(['attributes.gen_ai.usage.input_tokens'])
| extend input_cost = genai_input_cost(model, input_tokens)
| summarize total_input_cost = sum(input_cost), avg_input_cost = avg(input_cost)Output
| total_input_cost | avg_input_cost |
|---|---|
| 45.67 | 0.0187 |
This query calculates the total and average cost of input tokens, helping you understand prompt spending patterns.
List of related functions#
- genai_output_cost: Calculates output token cost. Use this alongside input costs to understand the full cost breakdown.
- genai_cost: Calculates total cost (input + output). Use this when you need combined costs.
- genai_get_pricing: Gets pricing information. Use this to understand the pricing structure behind cost calculations.
- genai_estimate_tokens: Estimates token count from text. Combine with input cost to predict prompt costs before API calls.
Other query languages#
Splunk SPL users
In Splunk SPL, you would need to lookup pricing and calculate costs manually.
Splunk example
| lookup model_pricing model OUTPUT input_price
| eval input_cost=(input_tokens * input_price / 1000000)APL equivalent
['ai-logs']
| extend input_cost = genai_input_cost(model, input_tokens)ANSI SQL users
In ANSI SQL, you would join with a pricing table and calculate input costs.
SQL example
SELECT
l.*,
(l.input_tokens * p.input_price / 1000000) as input_cost
FROM ai_logs l
JOIN model_pricing p ON l.model = p.model_nameAPL equivalent
['ai-logs']
| extend input_cost = genai_input_cost(model, input_tokens)