Files
curso-langchain/slides/changes.md
T

14 KiB

Cambios necesarios para actualizar el curso LangChain.js

Fecha de revision: 2026-05-22 Las slides fueron preparadas para Enero 2026 (v0.3.x). Desde entonces se ha lanzado LangChain v1 y LangGraph v1, que traen cambios significativos. Todos los cambios críticos e importantes han sido aplicados. El documento se conserva como referencia histórica.

Versiones actuales en npm (mayo 2026)

Paquete Slides Actual Cambio
langchain v0.3.x v1.2.35 MAJOR
@langchain/core v0.3.x v1.1.34 MAJOR
@langchain/openai - v1.3.0 MAJOR
@langchain/anthropic - v1.3.25 MAJOR
@langchain/google-genai en uso v2.1.26 (DEPRECATED) Ver punto 3
@langchain/google no mencionado v0.1.7 (NUEVO, reemplaza google-genai) NUEVO
@langchain/community en uso v1.1.24 MAJOR
@langchain/langgraph en uso v1.2.3 MAJOR
@langchain/classic no existe en slides v1.0.24 (NUEVO) NUEVO
@langchain/qdrant en uso v1.0.1 MAJOR
@langchain/pinecone - v1.0.1 MAJOR

1. CRITICO: Versiones en slides/setup/03.md

Fichero: pages/setup/03.md:52 Problema: Dice Versiones actuales (Enero 2026): langchain v0.3.x · @langchain/core v0.3.x Correccion: Cambiar a Versiones actuales (Marzo 2026): langchain v1.x · @langchain/core v1.x


2. CRITICO: Nuevo paquete @langchain/classic

Ficheros afectados: pages/setup/02.md Problema: La arquitectura de paquetes no menciona @langchain/classic, que es donde se ha movido la funcionalidad legacy en v1. Que se movio a @langchain/classic:

  • MemoryVectorStore (antes en langchain/vectorstores/memory)
  • DirectoryLoader (antes en langchain/document_loaders/fs/directory)
  • TextLoader (antes en langchain/document_loaders/fs/text)
  • Legacy chains (LLMChain, ConversationChain, etc.)
  • Retrievers legacy
  • Hub module
  • ChatPromptTemplate ahora se importa desde @langchain/classic/prompts en los ejemplos de proveedores (aunque sigue disponible en @langchain/core/prompts)

Accion: Anadir @langchain/classic al diagrama de arquitectura de paquetes en setup/02.md


3. CRITICO: @langchain/google-genai DEPRECATED

Ficheros afectados:

  • pages/setup/02.md:54 - lista de proveedores
  • pages/setup/03.md:31 - instalacion
  • pages/setup/13.md - ejemplo completo con Gemini
  • pages/models/08b.md - ChatGoogleGenerativeAI
  • pages/models/10.md:38 - providers disponibles
  • pages/rag/06.md:22 - GoogleGenerativeAIEmbeddings
  • pages/rag/07.md - no afectado directamente

Problema: La documentacion oficial dice textualmente:

"This library is based on a deprecated library from Google and will be replaced by the ChatGoogle library. New implementations should use the ChatGoogle library instead."

Correccion:

// ANTES (deprecated)
import { ChatGoogleGenerativeAI } from "@langchain/google-genai";
const model = new ChatGoogleGenerativeAI({ model: "gemini-2.0-flash-exp" });

// AHORA (recomendado)
import { ChatGoogle } from "@langchain/google";
const model = new ChatGoogle({ model: "gemini-2.5-flash" });

Instalacion: npm install @langchain/google en lugar de npm install @langchain/google-genai


4. CRITICO: createReactAgent -> createAgent

Ficheros afectados:

  • pages/models/15.md - ejemplo con Tavily usa createReactAgent de @langchain/langgraph/prebuilt
  • pages/models/16.md - comparacion bindTools vs createReactAgent

Problema: createReactAgent de @langchain/langgraph/prebuilt ha sido reemplazado por createAgent de langchain en v1.

Correccion para models/15.md:

// ANTES
import { ChatOpenAI } from "@langchain/openai";
import { TavilySearchResults } from "@langchain/community/tools/tavily_search";
import { createReactAgent } from "@langchain/langgraph/prebuilt";

const model = new ChatOpenAI({ model: "gpt-4o-mini" });
const agent = createReactAgent({ llm: model, tools: [searchTool] });

// AHORA
import { createAgent } from "langchain";
import { TavilySearchResults } from "@langchain/community/tools/tavily_search";

const searchTool = new TavilySearchResults({ apiKey: process.env.TAVILY_API_KEY, maxResults: 5 });
const agent = createAgent({
  model: "openai:gpt-4.1-mini",
  tools: [searchTool],
});

Correccion para models/16.md: Cambiar el titulo y contenido del panel derecho de createReactAgent() a createAgent(). La comparacion sigue siendo valida conceptualmente (bindTools para control manual vs createAgent para loop automatico).

NOTA: La seccion de agentes (pages/agents/) ya usa createAgent correctamente. Solo models/15.md y models/16.md estan desactualizados.


5. IMPORTANTE: Nombres de modelos desactualizados

OpenAI

Ficheros: Multiples (models/, messages/, rag/, setup/, agents/)

  • gpt-4o-mini -> gpt-4.1-mini (segun docs actuales de LangChain)
  • gpt-4o -> gpt-4.1 (segun docs actuales de LangChain)
  • gpt-4-turbo en models/10.md:18 -> gpt-4.1 o posterior

Nota: Los modelos gpt-4o y gpt-4o-mini siguen funcionando pero ya no son los mas recientes. La documentacion oficial de LangChain ahora muestra gpt-4.1-mini y gpt-5.2 como ejemplos.

Anthropic

  • claude-sonnet-4-20250514 en models/08.md:41 -> claude-sonnet-4-6 (ultimo segun docs)
  • claude-sonnet-4-5-20250929 en agents/05.md:17 -> mantener o actualizar a claude-sonnet-4-6

Google Gemini

  • gemini-2.0-flash-exp en models/08b.md:19 -> gemini-2.5-flash (segun docs actuales)
  • gemini-pro en models/10.md:38 -> gemini-2.5-flash-lite (modelo recomendado actual)
  • gemini-2.5-flash en setup/13.md:16 -> OK, este esta correcto

Embeddings

  • embedding-001 en rag/06.md:25 -> verificar nombre actual del modelo de embeddings de Google
  • llama2 en rag/07.md:32 (OllamaEmbeddings) -> llama3.2 o modelo mas reciente

6. IMPORTANTE: MemoryVectorStore - import path cambiado

Fichero: pages/rag/11.md:12 Problema:

// ANTES (v0.3.x)
import { MemoryVectorStore } from "langchain/vectorstores/memory";

// AHORA (v1.x)
import { MemoryVectorStore } from "@langchain/classic/vectorstores/memory";

Nota: En v1, MemoryVectorStore se ha movido a @langchain/classic. Requiere instalar: npm install @langchain/classic


7. IMPORTANTE: initChatModel - import path cambiado

Fichero: pages/models/09.md:22 Problema:

// ANTES (v0.3.x)
import { initChatModel } from "@langchain/core/chat_models/universal";

// AHORA (v1.x)
import { initChatModel } from "langchain";

8. IMPORTANTE: Document Loaders - import paths cambiados

Fichero: pages/pending/06c.md Problema: Los loaders que estaban en langchain/ se han movido a @langchain/classic/:

// ANTES
import { DirectoryLoader } from "langchain/document_loaders/fs/directory";
import { TextLoader } from "langchain/document_loaders/fs/text";

// AHORA
import { DirectoryLoader } from "@langchain/classic/document_loaders/fs/directory";
import { TextLoader } from "@langchain/classic/document_loaders/fs/text";

Los loaders de community (PDFLoader, CSVLoader) mantienen su path en @langchain/community/....


9. IMPORTANTE: OllamaEmbeddings - import path

Fichero: pages/rag/07.md:29 Problema:

// ANTES
import { OllamaEmbeddings } from "@langchain/community/embeddings/ollama";

// AHORA (paquete dedicado)
import { OllamaEmbeddings } from "@langchain/ollama";

Requiere: npm install @langchain/ollama


10. MENOR: favicon en slides.md

Fichero: slides.md:10 Problema: favicon: https://js.langchain.com/v0.2/img/favicon.ico - URL con referencia a v0.2 Correccion: Actualizar a la URL actual de la documentacion: https://docs.langchain.com/... o usar favicon local


11. NUEVO CONCEPTO: Standard Content Blocks (v1)

No existe en las slides actualmente. Relevancia: Es una de las 3 mejoras principales de LangChain v1.

contentBlocks es una nueva propiedad en los mensajes que proporciona acceso unificado a features modernos de LLMs (reasoning tokens, imagenes, etc.) de forma estandarizada entre proveedores:

import { AIMessage } from "@langchain/core/messages";

// Los mensajes ahora tienen .contentBlocks para acceso tipado
const reasoning = message.contentBlocks
  .filter((b) => b.type === "reasoning")
  .map((b) => b.reasoning);

Sugerencia: Considerar anadir una slide en la seccion de mensajes (messages/) o en la seccion de agentes explicando este nuevo concepto.


12. NUEVO CONCEPTO: @langchain/classic

No explicado en las slides. En v1, la funcionalidad legacy se ha movido a @langchain/classic:

  • Legacy chains (LLMChain, ConversationChain)
  • Retrievers legacy
  • Hub module
  • MemoryVectorStore
  • Algunos document loaders

Sugerencia: Mencionar en la seccion de estructura/setup que en v1 existe este paquete para compatibilidad hacia atras.


13. MENOR: Modelos disponibles en providers (models/10.md)

Fichero: pages/models/10.md Los comentarios de modelos disponibles estan desactualizados:

  • OpenAI: gpt-4o, gpt-4o-mini, gpt-4-turbo -> gpt-4.1, gpt-4.1-mini, gpt-5.2
  • Google: gemini-2.0-flash-exp, gemini-pro -> gemini-2.5-flash, gemini-2.5-flash-lite
  • Anthropic: claude-sonnet-4, claude-opus-4 -> claude-sonnet-4-6, claude-opus-4-6
  • Groq: llama-3.1-70b, mixtral-8x7b -> verificar disponibilidad actual
  • Ollama: llama3.1:7b -> llama3.2:7b o posterior

14. MENOR: Structured Output con createAgent (v1 mejora)

Ficheros: Los slides de structured output ya cubren withStructuredOutput() correctamente. Novedad v1: En createAgent, structured output ahora se genera en el loop principal (sin llamada LLM adicional) via responseFormat:

import { createAgent } from "langchain";
import * as z from "zod";

const agent = createAgent({
  model: "gpt-4.1-mini",
  tools: [getWeather],
  responseFormat: z.object({
    temperature: z.number(),
    condition: z.string(),
  }),
});
const result = await agent.invoke({ messages: [...] });
console.log(result.structuredResponse);

Sugerencia: Verificar si esto ya esta cubierto en las slides de agents/structured output.


15. MENOR: URLs de documentacion desactualizadas

Ficheros afectados:

  • pages/models/11.md - enlace js.langchain.com/docs/integrations/chat
  • pages/models/13.md - enlace js.langchain.com/docs/integrations/tools
  • pages/rag/29.md - enlace js.langchain.com/docs/tutorials/rag
  • pages/pending/09.md - enlace js.langchain.com/docs

Problema: Las URLs antiguas js.langchain.com/docs/... han cambiado a docs.langchain.com/oss/javascript/... Correccion:

  • js.langchain.com/docs/integrations/chat -> docs.langchain.com/oss/javascript/integrations/chat
  • js.langchain.com/docs/integrations/tools -> docs.langchain.com/oss/javascript/integrations/tools
  • js.langchain.com/docs/tutorials/rag -> docs.langchain.com/oss/javascript/langchain/rag
  • js.langchain.com/docs -> docs.langchain.com/oss/javascript

16. MENOR: Precios y modelos en setup/04.md

Fichero: pages/setup/04.md Problema: La tabla de comparativa dice "Enero 2025" y lista modelos desactualizados:

  • "GPT-4o" -> "GPT-4.1" (o posterior)
  • "Gemini 2.0 Flash" -> "Gemini 2.5 Flash"
  • "Claude 4 Sonnet" -> modelo actual
  • Precios probablemente han cambiado

Accion: Actualizar la tabla con modelos y precios actuales (marzo 2026)


17. MENOR: setup/07.md modelos recomendados para produccion

Fichero: pages/setup/07.md Problema: Recomienda "Claude 4 Sonnet o GPT-4o" para produccion. Los nombres de modelo deberian reflejar los ultimos disponibles.


18. MENOR: Modelos Ollama en setup/09.md

Fichero: pages/setup/09.md Problema: Referencia a "Llama 3.1 7B/13B/70B" en la tabla de hardware. Llama 3.2 ya esta disponible y setup/14.md ya lo usa correctamente.


19. MENOR: Modelos en agents/ y alternatives/ desactualizados

Ficheros afectados:

  • pages/agents/05.md:17 y pages/agents/06.md:31 - usan claude-sonnet-4-5-20250929
  • pages/alternatives/06.md:40 - usa claude-sonnet-4-20250514 en ejemplo de Anthropic SDK nativo
  • pages/alternatives/06.md:22 - usa gpt-4o en ejemplo de OpenAI SDK nativo
  • pages/alternatives/07.md:15 - usa gpt-4o en Assistants API
  • pages/alternatives/07.md:32 - usa gemini-2.0-flash en Google GenAI SDK

Correccion: Actualizar nombres de modelos a los ultimos disponibles (ver punto 5)


NOTA POSITIVA: Secciones ya actualizadas a v1

Las siguientes secciones ya estan correctamente actualizadas para LangChain v1:

  • agents/ (01-23): Usa createAgent, middleware, humanInTheLoopMiddleware, etc.
  • messages/ (01-11): ChatPromptTemplate, MessagesPlaceholder, SystemMessage siguen siendo validos
  • introduction/06.md: Ya menciona "LangChain (v1)"
  • langsmith/05.md: Ya usa createAgent de "langchain"

Resumen de prioridades

Criticos (el curso no funciona correctamente sin estos cambios)

  1. Actualizar version numbers en setup/03.md (v0.3.x -> v1.x)
  2. Actualizar @langchain/google-genai a @langchain/google en multiples ficheros
  3. Reemplazar createReactAgent por createAgent en models/15.md y models/16.md
  4. Actualizar import de MemoryVectorStore en rag/11.md
  5. Actualizar import de initChatModel en models/09.md
  6. Anadir @langchain/classic a la arquitectura de paquetes

Importantes (el codigo funciona pero con warnings/deprecaciones)

  1. Actualizar nombres de modelos (gpt-4o-mini -> gpt-4.1-mini, etc.)
  2. Actualizar imports de document loaders en pending/06c.md
  3. Actualizar OllamaEmbeddings import path en rag/07.md

Menores / Mejoras

  1. Actualizar favicon URL en slides.md
  2. Considerar anadir slide sobre Standard Content Blocks
  3. Actualizar lista de modelos en models/10.md
  4. Mencionar @langchain/classic en el modulo de estructura
  5. Documentar responseFormat en createAgent
  6. Actualizar URLs de documentacion (js.langchain.com -> docs.langchain.com)
  7. Actualizar tabla de precios/modelos en setup/04.md
  8. Actualizar modelos recomendados en setup/07.mdhttps://docs.langchain.com/oss/javascript/langchain/messages
  9. Actualizar modelos Ollama en setup/09.md