Skip to content

Commit

Permalink
langchain[patch]: replace deprecated imports with imports from langch…
Browse files Browse the repository at this point in the history
…ain_core (#21033)

* Output of running the migration script.
* Ran only against langchain code itself and not the unit tests.
  • Loading branch information
eyurtsev committed Apr 29, 2024
1 parent 82d4afc commit f479a33
Show file tree
Hide file tree
Showing 19 changed files with 42 additions and 39 deletions.
2 changes: 1 addition & 1 deletion libs/langchain/langchain/agents/__init__.py
Original file line number Diff line number Diff line change
Expand Up @@ -40,6 +40,7 @@
create_sql_agent,
)
from langchain_core._api.path import as_import_path
from langchain_core.tools import Tool, tool

from langchain.agents.agent import (
Agent,
Expand Down Expand Up @@ -83,7 +84,6 @@
create_structured_chat_agent,
)
from langchain.agents.tool_calling_agent.base import create_tool_calling_agent
from langchain.agents.tools import Tool, tool
from langchain.agents.xml.base import XMLAgent, create_xml_agent

DEPRECATED_CODE = [
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -4,14 +4,14 @@
from langchain_core.memory import BaseMemory
from langchain_core.messages import SystemMessage
from langchain_core.prompts.chat import MessagesPlaceholder
from langchain_core.tools import BaseTool

from langchain.agents.agent import AgentExecutor
from langchain.agents.openai_functions_agent.agent_token_buffer_memory import (
AgentTokenBufferMemory,
)
from langchain.agents.openai_functions_agent.base import OpenAIFunctionsAgent
from langchain.memory.token_buffer import ConversationTokenBufferMemory
from langchain.tools.base import BaseTool


def _get_default_system_message() -> SystemMessage:
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -4,10 +4,10 @@

from langchain_core.agents import AgentAction, AgentFinish
from langchain_core.exceptions import OutputParserException
from langchain_core.utils.json import parse_json_markdown

from langchain.agents import AgentOutputParser
from langchain.agents.conversational_chat.prompt import FORMAT_INSTRUCTIONS
from langchain.output_parsers.json import parse_json_markdown


# Define a class that parses output for conversational agents
Expand Down
3 changes: 1 addition & 2 deletions libs/langchain/langchain/agents/mrkl/base.py
Original file line number Diff line number Diff line change
Expand Up @@ -8,13 +8,12 @@
from langchain_core.language_models import BaseLanguageModel
from langchain_core.prompts import PromptTemplate
from langchain_core.pydantic_v1 import Field
from langchain_core.tools import BaseTool
from langchain_core.tools import BaseTool, Tool

from langchain.agents.agent import Agent, AgentExecutor, AgentOutputParser
from langchain.agents.agent_types import AgentType
from langchain.agents.mrkl.output_parser import MRKLOutputParser
from langchain.agents.mrkl.prompt import FORMAT_INSTRUCTIONS, PREFIX, SUFFIX
from langchain.agents.tools import Tool
from langchain.agents.utils import validate_tools_single_input
from langchain.chains import LLMChain
from langchain.tools.render import render_text_description
Expand Down
3 changes: 2 additions & 1 deletion libs/langchain/langchain/chains/openai_functions/__init__.py
Original file line number Diff line number Diff line change
@@ -1,5 +1,6 @@
from langchain_core.utils.function_calling import convert_to_openai_function

from langchain.chains.openai_functions.base import (
convert_to_openai_function,
create_openai_fn_chain,
create_structured_output_chain,
)
Expand Down
3 changes: 1 addition & 2 deletions libs/langchain/langchain/chains/openai_tools/extraction.py
Original file line number Diff line number Diff line change
Expand Up @@ -2,13 +2,12 @@

from langchain_core._api import deprecated
from langchain_core.language_models import BaseLanguageModel
from langchain_core.output_parsers.openai_tools import PydanticToolsParser
from langchain_core.prompts import ChatPromptTemplate
from langchain_core.pydantic_v1 import BaseModel
from langchain_core.runnables import Runnable
from langchain_core.utils.function_calling import convert_pydantic_to_openai_function

from langchain.output_parsers import PydanticToolsParser

_EXTRACTION_TEMPLATE = """Extract and save the relevant entities mentioned \
in the following passage together with their properties.
Expand Down
2 changes: 1 addition & 1 deletion libs/langchain/langchain/chains/router/llm_router.py
Original file line number Diff line number Diff line change
Expand Up @@ -12,10 +12,10 @@
from langchain_core.output_parsers import BaseOutputParser
from langchain_core.prompts import BasePromptTemplate
from langchain_core.pydantic_v1 import root_validator
from langchain_core.utils.json import parse_and_check_json_markdown

from langchain.chains import LLMChain
from langchain.chains.router.base import RouterChain
from langchain.output_parsers.json import parse_and_check_json_markdown


class LLMRouterChain(RouterChain):
Expand Down
11 changes: 5 additions & 6 deletions libs/langchain/langchain/chains/structured_output/base.py
Original file line number Diff line number Diff line change
Expand Up @@ -6,12 +6,17 @@
BaseGenerationOutputParser,
BaseOutputParser,
JsonOutputParser,
PydanticOutputParser,
)
from langchain_core.output_parsers.openai_functions import (
JsonOutputFunctionsParser,
PydanticAttrOutputFunctionsParser,
PydanticOutputFunctionsParser,
)
from langchain_core.output_parsers.openai_tools import (
JsonOutputKeyToolsParser,
PydanticToolsParser,
)
from langchain_core.prompts import BasePromptTemplate
from langchain_core.pydantic_v1 import BaseModel
from langchain_core.runnables import Runnable
Expand All @@ -20,12 +25,6 @@
convert_to_openai_tool,
)

from langchain.output_parsers import (
JsonOutputKeyToolsParser,
PydanticOutputParser,
PydanticToolsParser,
)


@deprecated(
since="0.1.14",
Expand Down
2 changes: 1 addition & 1 deletion libs/langchain/langchain/document_loaders/base.py
Original file line number Diff line number Diff line change
@@ -1,3 +1,3 @@
from langchain_community.document_loaders.base import BaseBlobParser, BaseLoader
from langchain_core.document_loaders import BaseBlobParser, BaseLoader

__all__ = ["BaseLoader", "BaseBlobParser"]
Original file line number Diff line number Diff line change
@@ -1,9 +1,9 @@
from langchain_community.document_loaders.blob_loaders.file_system import (
FileSystemBlobLoader,
)
from langchain_community.document_loaders.blob_loaders.schema import Blob, BlobLoader
from langchain_community.document_loaders.blob_loaders.youtube_audio import (
YoutubeAudioLoader,
)
from langchain_core.document_loaders import Blob, BlobLoader

__all__ = ["BlobLoader", "Blob", "FileSystemBlobLoader", "YoutubeAudioLoader"]
Original file line number Diff line number Diff line change
@@ -1,7 +1,3 @@
from langchain_community.document_loaders.blob_loaders.schema import (
Blob,
BlobLoader,
PathLike,
)
from langchain_core.document_loaders import Blob, BlobLoader, PathLike

__all__ = ["PathLike", "Blob", "BlobLoader"]
3 changes: 2 additions & 1 deletion libs/langchain/langchain/evaluation/parsing/base.py
Original file line number Diff line number Diff line change
Expand Up @@ -3,8 +3,9 @@
from operator import eq
from typing import Any, Callable, Optional, Union, cast

from langchain_core.utils.json import parse_json_markdown

from langchain.evaluation.schema import StringEvaluator
from langchain.output_parsers.json import parse_json_markdown


class JsonValidityEvaluator(StringEvaluator):
Expand Down
3 changes: 2 additions & 1 deletion libs/langchain/langchain/evaluation/parsing/json_distance.py
Original file line number Diff line number Diff line change
@@ -1,8 +1,9 @@
import json
from typing import Any, Callable, Optional, Union

from langchain_core.utils.json import parse_json_markdown

from langchain.evaluation.schema import StringEvaluator
from langchain.output_parsers.json import parse_json_markdown


class JsonEditDistanceEvaluator(StringEvaluator):
Expand Down
3 changes: 2 additions & 1 deletion libs/langchain/langchain/evaluation/parsing/json_schema.py
Original file line number Diff line number Diff line change
@@ -1,7 +1,8 @@
from typing import Any, Union

from langchain_core.utils.json import parse_json_markdown

from langchain.evaluation.schema import StringEvaluator
from langchain.output_parsers.json import parse_json_markdown


class JsonSchemaEvaluator(StringEvaluator):
Expand Down
2 changes: 1 addition & 1 deletion libs/langchain/langchain/indexes/vectorstore.py
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
from typing import Any, Dict, List, Optional, Type

from langchain_community.document_loaders.base import BaseLoader
from langchain_community.vectorstores.inmemory import InMemoryVectorStore
from langchain_core.document_loaders import BaseLoader
from langchain_core.documents import Document
from langchain_core.embeddings import Embeddings
from langchain_core.language_models import BaseLanguageModel
Expand Down
19 changes: 10 additions & 9 deletions libs/langchain/langchain/output_parsers/__init__.py
Original file line number Diff line number Diff line change
Expand Up @@ -12,30 +12,31 @@
Serializable, Generation, PromptValue
""" # noqa: E501
from langchain.output_parsers.boolean import BooleanOutputParser
from langchain.output_parsers.combining import CombiningOutputParser
from langchain.output_parsers.datetime import DatetimeOutputParser
from langchain.output_parsers.enum import EnumOutputParser
from langchain.output_parsers.fix import OutputFixingParser
from langchain.output_parsers.list import (
from langchain_core.output_parsers import (
CommaSeparatedListOutputParser,
ListOutputParser,
MarkdownListOutputParser,
NumberedListOutputParser,
PydanticOutputParser,
XMLOutputParser,
)
from langchain.output_parsers.openai_tools import (
from langchain_core.output_parsers.openai_tools import (
JsonOutputKeyToolsParser,
JsonOutputToolsParser,
PydanticToolsParser,
)

from langchain.output_parsers.boolean import BooleanOutputParser
from langchain.output_parsers.combining import CombiningOutputParser
from langchain.output_parsers.datetime import DatetimeOutputParser
from langchain.output_parsers.enum import EnumOutputParser
from langchain.output_parsers.fix import OutputFixingParser
from langchain.output_parsers.pandas_dataframe import PandasDataFrameOutputParser
from langchain.output_parsers.pydantic import PydanticOutputParser
from langchain.output_parsers.rail_parser import GuardrailsOutputParser
from langchain.output_parsers.regex import RegexParser
from langchain.output_parsers.regex_dict import RegexDictParser
from langchain.output_parsers.retry import RetryOutputParser, RetryWithErrorOutputParser
from langchain.output_parsers.structured import ResponseSchema, StructuredOutputParser
from langchain.output_parsers.xml import XMLOutputParser
from langchain.output_parsers.yaml import YamlOutputParser

__all__ = [
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -7,9 +7,9 @@
from langchain_core.callbacks.manager import Callbacks
from langchain_core.documents import Document
from langchain_core.pydantic_v1 import Extra, root_validator
from langchain_core.utils import get_from_dict_or_env

from langchain.retrievers.document_compressors.base import BaseDocumentCompressor
from langchain.utils import get_from_dict_or_env


@deprecated(
Expand Down
9 changes: 7 additions & 2 deletions libs/langchain/langchain/utils/__init__.py
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,13 @@
These functions do not depend on any other LangChain module.
"""

from langchain_core.utils import (
comma_list,
get_from_dict_or_env,
get_from_env,
stringify_dict,
stringify_value,
)
from langchain_core.utils.formatting import StrictFormatter, formatter
from langchain_core.utils.input import (
get_bolded_text,
Expand All @@ -21,9 +28,7 @@
xor_args,
)

from langchain.utils.env import get_from_dict_or_env, get_from_env
from langchain.utils.math import cosine_similarity, cosine_similarity_top_k
from langchain.utils.strings import comma_list, stringify_dict, stringify_value

__all__ = [
"StrictFormatter",
Expand Down
2 changes: 1 addition & 1 deletion libs/langchain/langchain/utils/openai_functions.py
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
from langchain_community.utils.openai_functions import (
from langchain_core.utils.function_calling import (
FunctionDescription,
ToolDescription,
convert_pydantic_to_openai_function,
Expand Down

0 comments on commit f479a33

Please sign in to comment.