# 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**: ```typescript // 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**: ```typescript // 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**: ```typescript // 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**: ```typescript // 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/`: ```typescript // 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**: ```typescript // 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: ```typescript 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`: ```typescript 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) 7. Actualizar nombres de modelos (gpt-4o-mini -> gpt-4.1-mini, etc.) 8. Actualizar imports de document loaders en pending/06c.md 9. Actualizar OllamaEmbeddings import path en rag/07.md ### Menores / Mejoras 10. Actualizar favicon URL en slides.md 11. Considerar anadir slide sobre Standard Content Blocks 12. Actualizar lista de modelos en models/10.md 13. Mencionar @langchain/classic en el modulo de estructura 14. Documentar responseFormat en createAgent 15. Actualizar URLs de documentacion (js.langchain.com -> docs.langchain.com) 16. Actualizar tabla de precios/modelos en setup/04.md 17. Actualizar modelos recomendados en setup/07.mdhttps://docs.langchain.com/oss/javascript/langchain/messages 18. Actualizar modelos Ollama en setup/09.md