llm_invocation_stage¶
llm_invocation_stage ¶
LLM invocation stage with concurrency and retry logic.
LLMInvocationStage ¶
LLMInvocationStage(llm_client: LLMClient, concurrency: int = 5, rate_limiter: RateLimiter | None = None, retry_handler: RetryHandler | None = None, error_policy: ErrorPolicy = ErrorPolicy.SKIP, max_retries: int = 3)
Bases: PipelineStage[list[PromptBatch], list[ResponseBatch]]
Invoke LLM with prompts using concurrency and retries.
Responsibilities: - Execute LLM calls with rate limiting - Handle retries for transient failures - Track tokens and costs - Support concurrent processing
Initialize LLM invocation stage.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
llm_client
|
LLMClient
|
LLM client instance |
required |
concurrency
|
int
|
Max concurrent requests |
5
|
rate_limiter
|
RateLimiter | None
|
Optional rate limiter |
None
|
retry_handler
|
RetryHandler | None
|
Optional retry handler |
None
|
error_policy
|
ErrorPolicy
|
Policy for handling errors |
SKIP
|
max_retries
|
int
|
Maximum retry attempts |
3
|
Source code in ondine/stages/llm_invocation_stage.py
process ¶
Execute LLM calls for all prompt batches.
Source code in ondine/stages/llm_invocation_stage.py
validate_input ¶
Validate prompt batches.
Source code in ondine/stages/llm_invocation_stage.py
estimate_cost ¶
Estimate LLM invocation cost.