langchain
Version:
Typescript bindings for langchain
45 lines (43 loc) • 1.52 kB
text/typescript
import { AgentMiddleware } from "./types.cjs";
import { LanguageModelLike } from "@langchain/core/language_models/base";
//#region src/agents/middleware/modelFallback.d.ts
/**
* Middleware that provides automatic model fallback on errors.
*
* This middleware attempts to retry failed model calls with alternative models
* in sequence. When a model call fails, it tries the next model in the fallback
* list until either a call succeeds or all models have been exhausted.
*
* @example
* ```ts
* import { createAgent, modelFallbackMiddleware } from "langchain";
*
* // Create middleware with fallback models (not including primary)
* const fallback = modelFallbackMiddleware(
* "openai:gpt-4o-mini", // First fallback
* "anthropic:claude-sonnet-4-5-20250929", // Second fallback
* );
*
* const agent = createAgent({
* model: "openai:gpt-4o", // Primary model
* middleware: [fallback],
* tools: [],
* });
*
* // If gpt-4o fails, automatically tries gpt-4o-mini, then claude
* const result = await agent.invoke({
* messages: [{ role: "user", content: "Hello" }]
* });
* ```
*
* @param fallbackModels - The fallback models to try, in order.
* @returns A middleware instance that handles model failures with fallbacks
*/
declare function modelFallbackMiddleware(
/**
* The fallback models to try, in order.
*/
...fallbackModels: (string | LanguageModelLike)[]): AgentMiddleware;
//#endregion
export { modelFallbackMiddleware };
//# sourceMappingURL=modelFallback.d.cts.map