Files
curso-langchain/slides/pages/agents/21.md
T
2026-05-29 11:50:55 +02:00

988 B

layout
layout
default

Combinando Middleware

import {
  createAgent,
  summarizationMiddleware,
  humanInTheLoopMiddleware,
  toolCallLimitMiddleware,
  modelRetryMiddleware,
} from "langchain";
import { MemorySaver } from "@langchain/langgraph";

const agent = createAgent({
  model: "mistral:mistral-large-latest",
  tools: [searchTool, sendEmailTool, databaseTool],
  checkpointer: new MemorySaver(),
  middleware: [
    modelRetryMiddleware({ maxRetries: 3, backoffFactor: 2 }),
    summarizationMiddleware({ model: "mistral:mistral-small-latest", trigger: { tokens: 4000 } }),
    toolCallLimitMiddleware({ toolName: "search", runLimit: 5 }),
    humanInTheLoopMiddleware({
      interruptOn: { send_email: { allowedDecisions: ["approve", "reject"] } },
    }),
  ],
});
El orden de los middleware importa: se ejecutan en secuencia