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 enlangchain/vectorstores/memory)DirectoryLoader(antes enlangchain/document_loaders/fs/directory)TextLoader(antes enlangchain/document_loaders/fs/text)- Legacy chains (
LLMChain,ConversationChain, etc.) - Retrievers legacy
- Hub module
ChatPromptTemplateahora se importa desde@langchain/classic/promptsen 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 proveedorespages/setup/03.md:31- instalacionpages/setup/13.md- ejemplo completo con Geminipages/models/08b.md- ChatGoogleGenerativeAIpages/models/10.md:38- providers disponiblespages/rag/06.md:22- GoogleGenerativeAIEmbeddingspages/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 usacreateReactAgentde@langchain/langgraph/prebuiltpages/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
createAgentcorrectamente. 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-turboenmodels/10.md:18->gpt-4.1o 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-20250514enmodels/08.md:41->claude-sonnet-4-6(ultimo segun docs)claude-sonnet-4-5-20250929enagents/05.md:17-> mantener o actualizar aclaude-sonnet-4-6
Google Gemini
gemini-2.0-flash-expenmodels/08b.md:19->gemini-2.5-flash(segun docs actuales)gemini-proenmodels/10.md:38->gemini-2.5-flash-lite(modelo recomendado actual)gemini-2.5-flashensetup/13.md:16-> OK, este esta correcto
Embeddings
embedding-001enrag/06.md:25-> verificar nombre actual del modelo de embeddings de Googlellama2enrag/07.md:32(OllamaEmbeddings) ->llama3.2o 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:7bo 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- enlacejs.langchain.com/docs/integrations/chatpages/models/13.md- enlacejs.langchain.com/docs/integrations/toolspages/rag/29.md- enlacejs.langchain.com/docs/tutorials/ragpages/pending/09.md- enlacejs.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/chatjs.langchain.com/docs/integrations/tools->docs.langchain.com/oss/javascript/integrations/toolsjs.langchain.com/docs/tutorials/rag->docs.langchain.com/oss/javascript/langchain/ragjs.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:17ypages/agents/06.md:31- usanclaude-sonnet-4-5-20250929pages/alternatives/06.md:40- usaclaude-sonnet-4-20250514en ejemplo de Anthropic SDK nativopages/alternatives/06.md:22- usagpt-4oen ejemplo de OpenAI SDK nativopages/alternatives/07.md:15- usagpt-4oen Assistants APIpages/alternatives/07.md:32- usagemini-2.0-flashen 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,SystemMessagesiguen siendo validos - introduction/06.md: Ya menciona "LangChain (v1)"
- langsmith/05.md: Ya usa
createAgentde"langchain"
Resumen de prioridades
Criticos (el curso no funciona correctamente sin estos cambios)
- Actualizar version numbers en setup/03.md (v0.3.x -> v1.x)
- Actualizar
@langchain/google-genaia@langchain/googleen multiples ficheros - Reemplazar
createReactAgentporcreateAgenten models/15.md y models/16.md - Actualizar import de
MemoryVectorStoreen rag/11.md - Actualizar import de
initChatModelen models/09.md - Anadir
@langchain/classica la arquitectura de paquetes
Importantes (el codigo funciona pero con warnings/deprecaciones)
- Actualizar nombres de modelos (gpt-4o-mini -> gpt-4.1-mini, etc.)
- Actualizar imports de document loaders en pending/06c.md
- Actualizar OllamaEmbeddings import path en rag/07.md
Menores / Mejoras
- Actualizar favicon URL en slides.md
- Considerar anadir slide sobre Standard Content Blocks
- Actualizar lista de modelos en models/10.md
- Mencionar @langchain/classic en el modulo de estructura
- Documentar responseFormat en createAgent
- Actualizar URLs de documentacion (js.langchain.com -> docs.langchain.com)
- Actualizar tabla de precios/modelos en setup/04.md
- Actualizar modelos recomendados en setup/07.mdhttps://docs.langchain.com/oss/javascript/langchain/messages
- Actualizar modelos Ollama en setup/09.md