Files
2026-05-29 11:50:55 +02:00

918 B

layout
layout
default

Middleware: wrapModelCall

Permite interceptar y modificar la llamada al modelo:

import { ChatMistralAI } from "@langchain/mistralai";
import { createAgent, createMiddleware } from "langchain";

const basicModel = new ChatMistralAI({ model: "mistral-small-latest" });
const advancedModel = new ChatMistralAI({ model: "mistral-large-latest" });

const dynamicModelSelection = createMiddleware({
  name: "DynamicModelSelection",
  wrapModelCall: (request, handler) => {
    // Elegir modelo según complejidad de la conversación
    const messageCount = request.messages.length;
    const model = messageCount > 10 ? advancedModel : basicModel;

    return handler({ ...request, model });
  },
});

const agent = createAgent({
  model: basicModel,
  tools: [searchTool],
  middleware: [dynamicModelSelection],
});