Module: Legion::LLM::Pipeline::Steps::TokenBudget

Includes:
Legion::Logging::Helper
Included in:
Executor
Defined in:
lib/legion/llm/pipeline/steps/token_budget.rb

Instance Method Summary collapse

Instance Method Details

#step_token_budgetObject



11
12
13
14
15
16
17
18
19
20
# File 'lib/legion/llm/pipeline/steps/token_budget.rb', line 11

def step_token_budget
  max_input = @request.extra&.dig(:max_input_tokens)
  check_input_cap(max_input) if max_input&.positive?
  check_session_budget
rescue Legion::LLM::TokenBudgetExceeded
  raise
rescue StandardError => e
  @warnings << { type: :token_budget_check_failed, message: e.message }
  handle_exception(e, level: :debug, operation: 'llm.pipeline.steps.token_budget')
end