From 1db21bcb9a1afc7d9e6293589609911c06dbd802 Mon Sep 17 00:00:00 2001 From: Mason Daugherty Date: Sat, 15 Nov 2025 16:56:56 -0500 Subject: [PATCH] oss(ps): import from `langchain` instead of `langchain_core` where possible --- src/oss/deepagents/human-in-the-loop.mdx | 2 +- src/oss/deepagents/middleware.mdx | 2 +- src/oss/langchain/agents.mdx | 2 +- src/oss/langchain/guardrails.mdx | 4 ++-- src/oss/langchain/middleware/built-in.mdx | 6 +++--- src/oss/langchain/middleware/custom.mdx | 4 ++-- src/oss/langchain/models.mdx | 2 +- src/oss/langchain/supervisor.mdx | 4 ++-- src/oss/langgraph/thinking-in-langgraph.mdx | 2 +- src/oss/python/migrate/langchain-v1.mdx | 2 +- 10 files changed, 15 insertions(+), 15 deletions(-) diff --git a/src/oss/deepagents/human-in-the-loop.mdx b/src/oss/deepagents/human-in-the-loop.mdx index c1b68270f2..822b1b8e42 100644 --- a/src/oss/deepagents/human-in-the-loop.mdx +++ b/src/oss/deepagents/human-in-the-loop.mdx @@ -15,7 +15,7 @@ The `interrupt_on` parameter accepts a dictionary mapping tool names to interrup :::python ```python -from langchain_core.tools import tool +from langchain.tools import tool from deepagents import create_deep_agent from langgraph.checkpoint.memory import MemorySaver diff --git a/src/oss/deepagents/middleware.mdx b/src/oss/deepagents/middleware.mdx index 759b35d3cf..c931062548 100644 --- a/src/oss/deepagents/middleware.mdx +++ b/src/oss/deepagents/middleware.mdx @@ -186,7 +186,7 @@ The subagents middleware allows you to supply subagents through a `task` tool. :::python ```python -from langchain_core.tools import tool +from langchain.tools import tool from langchain.agents import create_agent from deepagents.middleware.subagents import SubAgentMiddleware diff --git a/src/oss/langchain/agents.mdx b/src/oss/langchain/agents.mdx index 3f37243bca..c3d2820496 100644 --- a/src/oss/langchain/agents.mdx +++ b/src/oss/langchain/agents.mdx @@ -303,7 +303,7 @@ To customize how tool errors are handled, use the @[`@wrap_tool_call`] decorator ```python wrap from langchain.agents import create_agent from langchain.agents.middleware import wrap_tool_call -from langchain_core.messages import ToolMessage +from langchain.messages import ToolMessage @wrap_tool_call diff --git a/src/oss/langchain/guardrails.mdx b/src/oss/langchain/guardrails.mdx index 484afd448c..34fef04a72 100644 --- a/src/oss/langchain/guardrails.mdx +++ b/src/oss/langchain/guardrails.mdx @@ -454,7 +454,7 @@ Use "after agent" hooks to validate final outputs once before returning to the u ```python title="Class syntax" from langchain.agents.middleware import AgentMiddleware, AgentState, hook_config from langgraph.runtime import Runtime -from langchain_core.messages import AIMessage +from langchain.messages import AIMessage from langchain.chat_models import init_chat_model from typing import Any @@ -511,7 +511,7 @@ result = agent.invoke({ ```python title="Decorator syntax" from langchain.agents.middleware import after_agent, AgentState, hook_config from langgraph.runtime import Runtime -from langchain_core.messages import AIMessage +from langchain.messages import AIMessage from langchain.chat_models import init_chat_model from typing import Any diff --git a/src/oss/langchain/middleware/built-in.mdx b/src/oss/langchain/middleware/built-in.mdx index 0c438f3a55..a3697eec16 100644 --- a/src/oss/langchain/middleware/built-in.mdx +++ b/src/oss/langchain/middleware/built-in.mdx @@ -1473,7 +1473,7 @@ The middleware uses an LLM to generate plausible responses for tool calls instea ```python from langchain.agents import create_agent from langchain.agents.middleware import LLMToolEmulator -from langchain_core.tools import tool +from langchain.tools import tool @tool @@ -1974,7 +1974,7 @@ The middleware adds two search tools to agents: ```python from langchain.agents import create_agent from langchain.agents.middleware import FilesystemFileSearchMiddleware -from langchain_core.messages import HumanMessage +from langchain.messages import HumanMessage agent = create_agent( @@ -2113,7 +2113,7 @@ The middleware caches content up to and including the latest message in each req from langchain_anthropic import ChatAnthropic from langchain_anthropic.middleware import AnthropicPromptCachingMiddleware from langchain.agents import create_agent -from langchain_core.messages import HumanMessage +from langchain.messages import HumanMessage LONG_PROMPT = """ diff --git a/src/oss/langchain/middleware/custom.mdx b/src/oss/langchain/middleware/custom.mdx index c48e86ffc4..f32d2ca628 100644 --- a/src/oss/langchain/middleware/custom.mdx +++ b/src/oss/langchain/middleware/custom.mdx @@ -736,7 +736,7 @@ const dynamicModelMiddleware = createMiddleware({ ```python from langchain.agents.middleware import wrap_tool_call from langchain.tools.tool_node import ToolCallRequest -from langchain_core.messages import ToolMessage +from langchain.messages import ToolMessage from langgraph.types import Command from typing import Callable @@ -764,7 +764,7 @@ def monitor_tool( ```python from langchain.tools.tool_node import ToolCallRequest from langchain.agents.middleware import AgentMiddleware -from langchain_core.messages import ToolMessage +from langchain.messages import ToolMessage from langgraph.types import Command from typing import Callable diff --git a/src/oss/langchain/models.mdx b/src/oss/langchain/models.mdx index 206c6a2c12..98fc86e6e5 100644 --- a/src/oss/langchain/models.mdx +++ b/src/oss/langchain/models.mdx @@ -187,7 +187,7 @@ response = model.invoke(conversation) print(response) # AIMessage("J'adore créer des applications.") ``` ```python Message objects -from langchain_core.messages import HumanMessage, AIMessage, SystemMessage +from langchain.messages import HumanMessage, AIMessage, SystemMessage conversation = [ SystemMessage("You are a helpful assistant that translates English to French."), diff --git a/src/oss/langchain/supervisor.mdx b/src/oss/langchain/supervisor.mdx index 3e9b562ae9..4e38156330 100644 --- a/src/oss/langchain/supervisor.mdx +++ b/src/oss/langchain/supervisor.mdx @@ -112,7 +112,7 @@ Start by defining the tools that require structured inputs. In real applications :::python ```python -from langchain_core.tools import tool +from langchain.tools import tool @tool def create_calendar_event( @@ -708,7 +708,7 @@ A supervisor agent coordinates specialized sub-agents (calendar and email) that are wrapped as tools. """ -from langchain_core.tools import tool +from langchain.tools import tool from langchain.agents import create_agent from langchain.chat_models import init_chat_model diff --git a/src/oss/langgraph/thinking-in-langgraph.mdx b/src/oss/langgraph/thinking-in-langgraph.mdx index 4f0ae7f3de..994932e0c0 100644 --- a/src/oss/langgraph/thinking-in-langgraph.mdx +++ b/src/oss/langgraph/thinking-in-langgraph.mdx @@ -478,7 +478,7 @@ We'll implement each node as a simple function. Remember: nodes take state, do w from langgraph.graph import StateGraph, START, END from langgraph.types import interrupt, Command, RetryPolicy from langchain_openai import ChatOpenAI - from langchain_core.messages import HumanMessage + from langchain.messages import HumanMessage llm = ChatOpenAI(model="gpt-4") diff --git a/src/oss/python/migrate/langchain-v1.mdx b/src/oss/python/migrate/langchain-v1.mdx index 60a4ac431d..430f624f2e 100644 --- a/src/oss/python/migrate/langchain-v1.mdx +++ b/src/oss/python/migrate/langchain-v1.mdx @@ -458,7 +458,7 @@ from typing_extensions import Annotated from pydantic import BaseModel from langgraph.graph import StateGraph from langgraph.graph.messages import add_messages -from langchain_core.messages import AnyMessage +from langchain.messages import AnyMessage class AgentState(BaseModel): # [!code highlight]