Class RetryMiddleware

java.lang.Object
com.google.genkit.ai.middleware.BaseGenerationMiddleware
com.google.genkit.plugins.middleware.RetryMiddleware
All Implemented Interfaces:
GenerationMiddleware

public class RetryMiddleware extends BaseGenerationMiddleware
Retries a failed model call with exponential backoff.

Wraps the wrapModel hook: if the underlying model call throws, it is retried up to RetryMiddleware.Options.maxRetries times, sleeping initialDelayMs before the first retry and multiplying the delay by backoffFactor (capped at maxDelayMs) after each attempt.

Mirrors the JS retry middleware in @genkit-ai/middleware and the Go Retry middleware.