ReqLLM.Step.Usage (ReqLLM v1.0.0-rc.8)
View SourceCentralized Req step that extracts token usage from provider responses, normalizes usage values across providers, computes costs, and emits telemetry.
This step:
- Extracts token usage numbers from provider responses
- Normalizes usage data across different provider formats
- Calculates costs using ReqLLM.Model cost metadata
- Stores usage data in response.private[:req_llm][:usage]
- Emits telemetry events for monitoring
Usage
request
|> ReqLLM.Step.Usage.attach(model)Telemetry Events
Emits [:req_llm, :token_usage] events with:
- Measurements: %{tokens: %{input: 123, output: 456, reasoning: 64}, cost: 0.0123}
- Metadata: %{model: %ReqLLM.Model{}}
Summary
Functions
Attaches the Usage step to a Req request.
Functions
@spec attach(Req.Request.t(), ReqLLM.Model.t() | nil) :: Req.Request.t()
Attaches the Usage step to a Req request.
Parameters
- req- The Req.Request struct
- model- Optional ReqLLM.Model struct for cost calculation
Examples
request
|> ReqLLM.Step.Usage.attach(model)