diff --git a/libs/langchain/langchain/__init__.py b/libs/langchain/langchain/__init__.py index 00935e028..fe82bc343 100644 --- a/libs/langchain/langchain/__init__.py +++ b/libs/langchain/langchain/__init__.py @@ -1,8 +1,28 @@ +# ruff: noqa: E402 """Main entrypoint into package.""" - +import importlib +import sys from importlib import metadata from typing import Optional +## Create namespaces for pydantic v1 and v2. +# This code must stay at the top of the file before other modules may +# attempt to import pydantic since it adds pydantic_v1 and pydantic_v2 to sys.modules. +# +# This hack is done for the following reasons: +# * Langchain will attempt to remain compatible with both pydantic v1 and v2 since +# both dependencies and dependents may be stuck on either version of v1 or v2. +# * Creating namespaces for pydantic v1 and v2 should allow us to write code that +# unambiguously uses either v1 or v2 API. +# * This change is easier to roll out and roll back. + +try: + pydantic_v1 = importlib.import_module("pydantic.v1") +except ImportError: + pydantic_v1 = importlib.import_module("pydantic") + +sys.modules["pydantic_v1"] = pydantic_v1 + from langchain.agents import MRKLChain, ReActChain, SelfAskWithSearchChain from langchain.cache import BaseCache from langchain.chains import ( @@ -67,6 +87,7 @@ llm_cache: Optional[BaseCache] = None # For backwards compatibility SerpAPIChain = SerpAPIWrapper + __all__ = [ "LLMChain", "LLMBashChain", diff --git a/libs/langchain/langchain/agents/agent.py b/libs/langchain/langchain/agents/agent.py index 9ac57726f..3935d0525 100644 --- a/libs/langchain/langchain/agents/agent.py +++ b/libs/langchain/langchain/agents/agent.py @@ -10,7 +10,7 @@ from pathlib import Path from typing import Any, Callable, Dict, List, Optional, Sequence, Tuple, Union import yaml -from pydantic import BaseModel, root_validator +from pydantic_v1 import BaseModel, root_validator from langchain.agents.agent_iterator import AgentExecutorIterator from langchain.agents.agent_types import AgentType diff --git a/libs/langchain/langchain/agents/agent_toolkits/amadeus/toolkit.py b/libs/langchain/langchain/agents/agent_toolkits/amadeus/toolkit.py index 28db53bdc..652d71211 100644 --- a/libs/langchain/langchain/agents/agent_toolkits/amadeus/toolkit.py +++ b/libs/langchain/langchain/agents/agent_toolkits/amadeus/toolkit.py @@ -2,7 +2,7 @@ from __future__ import annotations from typing import TYPE_CHECKING, List -from pydantic import Field +from pydantic_v1 import Field from langchain.agents.agent_toolkits.base import BaseToolkit from langchain.tools import BaseTool diff --git a/libs/langchain/langchain/agents/agent_toolkits/azure_cognitive_services.py b/libs/langchain/langchain/agents/agent_toolkits/azure_cognitive_services.py index 366444707..c733927cd 100644 --- a/libs/langchain/langchain/agents/agent_toolkits/azure_cognitive_services.py +++ b/libs/langchain/langchain/agents/agent_toolkits/azure_cognitive_services.py @@ -19,7 +19,7 @@ class AzureCognitiveServicesToolkit(BaseToolkit): def get_tools(self) -> List[BaseTool]: """Get the tools in the toolkit.""" - tools = [ + tools: List[BaseTool] = [ AzureCogsFormRecognizerTool(), AzureCogsSpeech2TextTool(), AzureCogsText2SpeechTool(), diff --git a/libs/langchain/langchain/agents/agent_toolkits/base.py b/libs/langchain/langchain/agents/agent_toolkits/base.py index f8624cf7e..580354d6e 100644 --- a/libs/langchain/langchain/agents/agent_toolkits/base.py +++ b/libs/langchain/langchain/agents/agent_toolkits/base.py @@ -2,7 +2,7 @@ from abc import ABC, abstractmethod from typing import List -from pydantic import BaseModel +from pydantic_v1 import BaseModel from langchain.tools import BaseTool diff --git a/libs/langchain/langchain/agents/agent_toolkits/file_management/toolkit.py b/libs/langchain/langchain/agents/agent_toolkits/file_management/toolkit.py index c78a37c18..25232d37e 100644 --- a/libs/langchain/langchain/agents/agent_toolkits/file_management/toolkit.py +++ b/libs/langchain/langchain/agents/agent_toolkits/file_management/toolkit.py @@ -2,7 +2,7 @@ from __future__ import annotations from typing import List, Optional -from pydantic import root_validator +from pydantic_v1 import root_validator from langchain.agents.agent_toolkits.base import BaseToolkit from langchain.tools import BaseTool @@ -15,7 +15,8 @@ from langchain.tools.file_management.read import ReadFileTool from langchain.tools.file_management.write import WriteFileTool _FILE_TOOLS = { - tool_cls.__fields__["name"].default: tool_cls + # "Type[Runnable[Any, Any]]" has no attribute "__fields__" [attr-defined] + tool_cls.__fields__["name"].default: tool_cls # type: ignore[attr-defined] for tool_cls in [ CopyFileTool, DeleteFileTool, diff --git a/libs/langchain/langchain/agents/agent_toolkits/gmail/toolkit.py b/libs/langchain/langchain/agents/agent_toolkits/gmail/toolkit.py index e95f2e686..096d32c0d 100644 --- a/libs/langchain/langchain/agents/agent_toolkits/gmail/toolkit.py +++ b/libs/langchain/langchain/agents/agent_toolkits/gmail/toolkit.py @@ -2,7 +2,7 @@ from __future__ import annotations from typing import TYPE_CHECKING, List -from pydantic import Field +from pydantic_v1 import Field from langchain.agents.agent_toolkits.base import BaseToolkit from langchain.tools import BaseTool diff --git a/libs/langchain/langchain/agents/agent_toolkits/nla/toolkit.py b/libs/langchain/langchain/agents/agent_toolkits/nla/toolkit.py index 523b39295..314e04193 100644 --- a/libs/langchain/langchain/agents/agent_toolkits/nla/toolkit.py +++ b/libs/langchain/langchain/agents/agent_toolkits/nla/toolkit.py @@ -2,7 +2,7 @@ from __future__ import annotations from typing import Any, List, Optional, Sequence -from pydantic import Field +from pydantic_v1 import Field from langchain.agents.agent_toolkits.base import BaseToolkit from langchain.agents.agent_toolkits.nla.tool import NLATool diff --git a/libs/langchain/langchain/agents/agent_toolkits/office365/toolkit.py b/libs/langchain/langchain/agents/agent_toolkits/office365/toolkit.py index 3e3151e78..536ce7307 100644 --- a/libs/langchain/langchain/agents/agent_toolkits/office365/toolkit.py +++ b/libs/langchain/langchain/agents/agent_toolkits/office365/toolkit.py @@ -2,7 +2,7 @@ from __future__ import annotations from typing import TYPE_CHECKING, List -from pydantic import Field +from pydantic_v1 import Field from langchain.agents.agent_toolkits.base import BaseToolkit from langchain.tools import BaseTool diff --git a/libs/langchain/langchain/agents/agent_toolkits/openapi/planner.py b/libs/langchain/langchain/agents/agent_toolkits/openapi/planner.py index 5a5e920e2..3dcecc2fe 100644 --- a/libs/langchain/langchain/agents/agent_toolkits/openapi/planner.py +++ b/libs/langchain/langchain/agents/agent_toolkits/openapi/planner.py @@ -5,7 +5,7 @@ from functools import partial from typing import Any, Callable, Dict, List, Optional import yaml -from pydantic import Field +from pydantic_v1 import Field from langchain.agents.agent import AgentExecutor from langchain.agents.agent_toolkits.openapi.planner_prompt import ( diff --git a/libs/langchain/langchain/agents/agent_toolkits/playwright/toolkit.py b/libs/langchain/langchain/agents/agent_toolkits/playwright/toolkit.py index af010e1e2..b8ef6407f 100644 --- a/libs/langchain/langchain/agents/agent_toolkits/playwright/toolkit.py +++ b/libs/langchain/langchain/agents/agent_toolkits/playwright/toolkit.py @@ -3,7 +3,7 @@ from __future__ import annotations from typing import TYPE_CHECKING, List, Optional, Type, cast -from pydantic import Extra, root_validator +from pydantic_v1 import Extra, root_validator from langchain.agents.agent_toolkits.base import BaseToolkit from langchain.tools.base import BaseTool diff --git a/libs/langchain/langchain/agents/agent_toolkits/powerbi/toolkit.py b/libs/langchain/langchain/agents/agent_toolkits/powerbi/toolkit.py index e7e66c6a4..0caa23773 100644 --- a/libs/langchain/langchain/agents/agent_toolkits/powerbi/toolkit.py +++ b/libs/langchain/langchain/agents/agent_toolkits/powerbi/toolkit.py @@ -1,7 +1,7 @@ """Toolkit for interacting with a Power BI dataset.""" from typing import List, Optional, Union -from pydantic import Field +from pydantic_v1 import Field from langchain.agents.agent_toolkits.base import BaseToolkit from langchain.callbacks.base import BaseCallbackManager diff --git a/libs/langchain/langchain/agents/agent_toolkits/spark_sql/toolkit.py b/libs/langchain/langchain/agents/agent_toolkits/spark_sql/toolkit.py index 7c89c7dc5..8b94dfb50 100644 --- a/libs/langchain/langchain/agents/agent_toolkits/spark_sql/toolkit.py +++ b/libs/langchain/langchain/agents/agent_toolkits/spark_sql/toolkit.py @@ -1,7 +1,7 @@ """Toolkit for interacting with Spark SQL.""" from typing import List -from pydantic import Field +from pydantic_v1 import Field from langchain.agents.agent_toolkits.base import BaseToolkit from langchain.schema.language_model import BaseLanguageModel diff --git a/libs/langchain/langchain/agents/agent_toolkits/sql/toolkit.py b/libs/langchain/langchain/agents/agent_toolkits/sql/toolkit.py index 5fe6e0786..2e851f625 100644 --- a/libs/langchain/langchain/agents/agent_toolkits/sql/toolkit.py +++ b/libs/langchain/langchain/agents/agent_toolkits/sql/toolkit.py @@ -1,7 +1,7 @@ """Toolkit for interacting with an SQL database.""" from typing import List -from pydantic import Field +from pydantic_v1 import Field from langchain.agents.agent_toolkits.base import BaseToolkit from langchain.schema.language_model import BaseLanguageModel diff --git a/libs/langchain/langchain/agents/agent_toolkits/vectorstore/toolkit.py b/libs/langchain/langchain/agents/agent_toolkits/vectorstore/toolkit.py index f706ed215..557c2619e 100644 --- a/libs/langchain/langchain/agents/agent_toolkits/vectorstore/toolkit.py +++ b/libs/langchain/langchain/agents/agent_toolkits/vectorstore/toolkit.py @@ -1,7 +1,7 @@ """Toolkit for interacting with a vector store.""" from typing import List -from pydantic import BaseModel, Field +from pydantic_v1 import BaseModel, Field from langchain.agents.agent_toolkits.base import BaseToolkit from langchain.llms.openai import OpenAI diff --git a/libs/langchain/langchain/agents/chat/base.py b/libs/langchain/langchain/agents/chat/base.py index 3217ff1fb..cf871ad94 100644 --- a/libs/langchain/langchain/agents/chat/base.py +++ b/libs/langchain/langchain/agents/chat/base.py @@ -1,6 +1,6 @@ from typing import Any, List, Optional, Sequence, Tuple -from pydantic import Field +from pydantic_v1 import Field from langchain.agents.agent import Agent, AgentOutputParser from langchain.agents.chat.output_parser import ChatOutputParser diff --git a/libs/langchain/langchain/agents/conversational/base.py b/libs/langchain/langchain/agents/conversational/base.py index 6b9b93941..324059f98 100644 --- a/libs/langchain/langchain/agents/conversational/base.py +++ b/libs/langchain/langchain/agents/conversational/base.py @@ -3,7 +3,7 @@ from __future__ import annotations from typing import Any, List, Optional, Sequence -from pydantic import Field +from pydantic_v1 import Field from langchain.agents.agent import Agent, AgentOutputParser from langchain.agents.agent_types import AgentType diff --git a/libs/langchain/langchain/agents/conversational_chat/base.py b/libs/langchain/langchain/agents/conversational_chat/base.py index 1ffb7ff12..521c67caf 100644 --- a/libs/langchain/langchain/agents/conversational_chat/base.py +++ b/libs/langchain/langchain/agents/conversational_chat/base.py @@ -3,7 +3,7 @@ from __future__ import annotations from typing import Any, List, Optional, Sequence, Tuple -from pydantic import Field +from pydantic_v1 import Field from langchain.agents.agent import Agent, AgentOutputParser from langchain.agents.conversational_chat.output_parser import ConvoOutputParser diff --git a/libs/langchain/langchain/agents/mrkl/base.py b/libs/langchain/langchain/agents/mrkl/base.py index a3939cbee..90b6d3516 100644 --- a/libs/langchain/langchain/agents/mrkl/base.py +++ b/libs/langchain/langchain/agents/mrkl/base.py @@ -3,7 +3,7 @@ from __future__ import annotations from typing import Any, Callable, List, NamedTuple, Optional, Sequence -from pydantic import Field +from pydantic_v1 import Field from langchain.agents.agent import Agent, AgentExecutor, AgentOutputParser from langchain.agents.agent_types import AgentType diff --git a/libs/langchain/langchain/agents/openai_functions_agent/base.py b/libs/langchain/langchain/agents/openai_functions_agent/base.py index f3e2fc095..52e74c96d 100644 --- a/libs/langchain/langchain/agents/openai_functions_agent/base.py +++ b/libs/langchain/langchain/agents/openai_functions_agent/base.py @@ -4,7 +4,7 @@ from dataclasses import dataclass from json import JSONDecodeError from typing import Any, List, Optional, Sequence, Tuple, Union -from pydantic import root_validator +from pydantic_v1 import root_validator from langchain.agents import BaseSingleActionAgent from langchain.callbacks.base import BaseCallbackManager diff --git a/libs/langchain/langchain/agents/openai_functions_multi_agent/base.py b/libs/langchain/langchain/agents/openai_functions_multi_agent/base.py index 8cf16d812..b80cfc019 100644 --- a/libs/langchain/langchain/agents/openai_functions_multi_agent/base.py +++ b/libs/langchain/langchain/agents/openai_functions_multi_agent/base.py @@ -4,7 +4,7 @@ from dataclasses import dataclass from json import JSONDecodeError from typing import Any, List, Optional, Sequence, Tuple, Union -from pydantic import root_validator +from pydantic_v1 import root_validator from langchain.agents import BaseMultiActionAgent from langchain.callbacks.base import BaseCallbackManager diff --git a/libs/langchain/langchain/agents/react/base.py b/libs/langchain/langchain/agents/react/base.py index db4d67370..f2d3687c9 100644 --- a/libs/langchain/langchain/agents/react/base.py +++ b/libs/langchain/langchain/agents/react/base.py @@ -1,7 +1,7 @@ """Chain that implements the ReAct paper from https://arxiv.org/pdf/2210.03629.pdf.""" from typing import Any, List, Optional, Sequence -from pydantic import Field +from pydantic_v1 import Field from langchain.agents.agent import Agent, AgentExecutor, AgentOutputParser from langchain.agents.agent_types import AgentType diff --git a/libs/langchain/langchain/agents/self_ask_with_search/base.py b/libs/langchain/langchain/agents/self_ask_with_search/base.py index 23071af8c..db4c09230 100644 --- a/libs/langchain/langchain/agents/self_ask_with_search/base.py +++ b/libs/langchain/langchain/agents/self_ask_with_search/base.py @@ -1,7 +1,7 @@ """Chain that does self-ask with search.""" from typing import Any, Sequence, Union -from pydantic import Field +from pydantic_v1 import Field from langchain.agents.agent import Agent, AgentExecutor, AgentOutputParser from langchain.agents.agent_types import AgentType diff --git a/libs/langchain/langchain/agents/structured_chat/base.py b/libs/langchain/langchain/agents/structured_chat/base.py index 8e0eb3725..3650fb89a 100644 --- a/libs/langchain/langchain/agents/structured_chat/base.py +++ b/libs/langchain/langchain/agents/structured_chat/base.py @@ -1,7 +1,7 @@ import re from typing import Any, List, Optional, Sequence, Tuple -from pydantic import Field +from pydantic_v1 import Field from langchain.agents.agent import Agent, AgentOutputParser from langchain.agents.structured_chat.output_parser import ( diff --git a/libs/langchain/langchain/agents/structured_chat/output_parser.py b/libs/langchain/langchain/agents/structured_chat/output_parser.py index 5b1b598ac..a73492204 100644 --- a/libs/langchain/langchain/agents/structured_chat/output_parser.py +++ b/libs/langchain/langchain/agents/structured_chat/output_parser.py @@ -5,7 +5,7 @@ import logging import re from typing import Optional, Union -from pydantic import Field +from pydantic_v1 import Field from langchain.agents.agent import AgentOutputParser from langchain.agents.structured_chat.prompt import FORMAT_INSTRUCTIONS diff --git a/libs/langchain/langchain/callbacks/tracers/schemas.py b/libs/langchain/langchain/callbacks/tracers/schemas.py index 41061e736..6e7de65b8 100644 --- a/libs/langchain/langchain/callbacks/tracers/schemas.py +++ b/libs/langchain/langchain/callbacks/tracers/schemas.py @@ -8,7 +8,7 @@ from uuid import UUID from langsmith.schemas import RunBase as BaseRunV2 from langsmith.schemas import RunTypeEnum as RunTypeEnumDep -from pydantic import BaseModel, Field, root_validator +from pydantic_v1 import BaseModel, Field, root_validator from langchain.schema import LLMResult diff --git a/libs/langchain/langchain/chains/api/base.py b/libs/langchain/langchain/chains/api/base.py index d3e548f39..b8c841b28 100644 --- a/libs/langchain/langchain/chains/api/base.py +++ b/libs/langchain/langchain/chains/api/base.py @@ -3,7 +3,7 @@ from __future__ import annotations from typing import Any, Dict, List, Optional -from pydantic import Field, root_validator +from pydantic_v1 import Field, root_validator from langchain.callbacks.manager import ( AsyncCallbackManagerForChainRun, diff --git a/libs/langchain/langchain/chains/api/openapi/chain.py b/libs/langchain/langchain/chains/api/openapi/chain.py index d3bf442d5..14ca4abc5 100644 --- a/libs/langchain/langchain/chains/api/openapi/chain.py +++ b/libs/langchain/langchain/chains/api/openapi/chain.py @@ -4,7 +4,7 @@ from __future__ import annotations import json from typing import Any, Dict, List, NamedTuple, Optional, cast -from pydantic import BaseModel, Field +from pydantic_v1 import BaseModel, Field from requests import Response from langchain.callbacks.manager import CallbackManagerForChainRun, Callbacks diff --git a/libs/langchain/langchain/chains/base.py b/libs/langchain/langchain/chains/base.py index bfdee8224..e4ea0d37f 100644 --- a/libs/langchain/langchain/chains/base.py +++ b/libs/langchain/langchain/chains/base.py @@ -10,7 +10,7 @@ from pathlib import Path from typing import Any, Dict, List, Optional, Union import yaml -from pydantic import Field, root_validator, validator +from pydantic_v1 import Field, root_validator, validator import langchain from langchain.callbacks.base import BaseCallbackManager diff --git a/libs/langchain/langchain/chains/combine_documents/base.py b/libs/langchain/langchain/chains/combine_documents/base.py index 0693aac44..43805382a 100644 --- a/libs/langchain/langchain/chains/combine_documents/base.py +++ b/libs/langchain/langchain/chains/combine_documents/base.py @@ -3,7 +3,7 @@ from abc import ABC, abstractmethod from typing import Any, Dict, List, Optional, Tuple -from pydantic import Field +from pydantic_v1 import Field from langchain.callbacks.manager import ( AsyncCallbackManagerForChainRun, diff --git a/libs/langchain/langchain/chains/combine_documents/map_reduce.py b/libs/langchain/langchain/chains/combine_documents/map_reduce.py index 9afed3e7e..9b38ceaa1 100644 --- a/libs/langchain/langchain/chains/combine_documents/map_reduce.py +++ b/libs/langchain/langchain/chains/combine_documents/map_reduce.py @@ -4,7 +4,7 @@ from __future__ import annotations from typing import Any, Dict, List, Optional, Tuple -from pydantic import Extra, root_validator +from pydantic_v1 import Extra, root_validator from langchain.callbacks.manager import Callbacks from langchain.chains.combine_documents.base import BaseCombineDocumentsChain diff --git a/libs/langchain/langchain/chains/combine_documents/map_rerank.py b/libs/langchain/langchain/chains/combine_documents/map_rerank.py index e2d656d07..afc12fe6b 100644 --- a/libs/langchain/langchain/chains/combine_documents/map_rerank.py +++ b/libs/langchain/langchain/chains/combine_documents/map_rerank.py @@ -4,7 +4,7 @@ from __future__ import annotations from typing import Any, Dict, List, Optional, Sequence, Tuple, Union, cast -from pydantic import Extra, root_validator +from pydantic_v1 import Extra, root_validator from langchain.callbacks.manager import Callbacks from langchain.chains.combine_documents.base import BaseCombineDocumentsChain diff --git a/libs/langchain/langchain/chains/combine_documents/reduce.py b/libs/langchain/langchain/chains/combine_documents/reduce.py index b70f301ed..3475d8c25 100644 --- a/libs/langchain/langchain/chains/combine_documents/reduce.py +++ b/libs/langchain/langchain/chains/combine_documents/reduce.py @@ -4,7 +4,7 @@ from __future__ import annotations from typing import Any, Callable, List, Optional, Protocol, Tuple -from pydantic import Extra +from pydantic_v1 import Extra from langchain.callbacks.manager import Callbacks from langchain.chains.combine_documents.base import BaseCombineDocumentsChain diff --git a/libs/langchain/langchain/chains/combine_documents/refine.py b/libs/langchain/langchain/chains/combine_documents/refine.py index 025e26416..628b0ceba 100644 --- a/libs/langchain/langchain/chains/combine_documents/refine.py +++ b/libs/langchain/langchain/chains/combine_documents/refine.py @@ -4,7 +4,7 @@ from __future__ import annotations from typing import Any, Dict, List, Tuple -from pydantic import Extra, Field, root_validator +from pydantic_v1 import Extra, Field, root_validator from langchain.callbacks.manager import Callbacks from langchain.chains.combine_documents.base import ( diff --git a/libs/langchain/langchain/chains/combine_documents/stuff.py b/libs/langchain/langchain/chains/combine_documents/stuff.py index 996a5ef71..0670fb63f 100644 --- a/libs/langchain/langchain/chains/combine_documents/stuff.py +++ b/libs/langchain/langchain/chains/combine_documents/stuff.py @@ -2,7 +2,7 @@ from typing import Any, Dict, List, Optional, Tuple -from pydantic import Extra, Field, root_validator +from pydantic_v1 import Extra, Field, root_validator from langchain.callbacks.manager import Callbacks from langchain.chains.combine_documents.base import ( diff --git a/libs/langchain/langchain/chains/constitutional_ai/models.py b/libs/langchain/langchain/chains/constitutional_ai/models.py index 912b23a6f..643182810 100644 --- a/libs/langchain/langchain/chains/constitutional_ai/models.py +++ b/libs/langchain/langchain/chains/constitutional_ai/models.py @@ -1,5 +1,5 @@ """Models for the Constitutional AI chain.""" -from pydantic import BaseModel +from pydantic_v1 import BaseModel class ConstitutionalPrinciple(BaseModel): diff --git a/libs/langchain/langchain/chains/conversation/base.py b/libs/langchain/langchain/chains/conversation/base.py index 43d72f91e..e55bbf3e5 100644 --- a/libs/langchain/langchain/chains/conversation/base.py +++ b/libs/langchain/langchain/chains/conversation/base.py @@ -1,7 +1,7 @@ """Chain that carries on a conversation and calls an LLM.""" from typing import Dict, List -from pydantic import Extra, Field, root_validator +from pydantic_v1 import Extra, Field, root_validator from langchain.chains.conversation.prompt import PROMPT from langchain.chains.llm import LLMChain diff --git a/libs/langchain/langchain/chains/conversational_retrieval/base.py b/libs/langchain/langchain/chains/conversational_retrieval/base.py index 7f6891ff2..eb1e396c6 100644 --- a/libs/langchain/langchain/chains/conversational_retrieval/base.py +++ b/libs/langchain/langchain/chains/conversational_retrieval/base.py @@ -7,7 +7,7 @@ from abc import abstractmethod from pathlib import Path from typing import Any, Callable, Dict, List, Optional, Tuple, Union -from pydantic import Extra, Field, root_validator +from pydantic_v1 import Extra, Field, root_validator from langchain.callbacks.manager import ( AsyncCallbackManagerForChainRun, diff --git a/libs/langchain/langchain/chains/elasticsearch_database/base.py b/libs/langchain/langchain/chains/elasticsearch_database/base.py index 17f8ddcdb..956aac781 100644 --- a/libs/langchain/langchain/chains/elasticsearch_database/base.py +++ b/libs/langchain/langchain/chains/elasticsearch_database/base.py @@ -3,7 +3,7 @@ from __future__ import annotations from typing import TYPE_CHECKING, Any, Dict, List, Optional -from pydantic import Extra, root_validator +from pydantic_v1 import Extra, root_validator from langchain.callbacks.manager import CallbackManagerForChainRun from langchain.chains.base import Chain diff --git a/libs/langchain/langchain/chains/flare/base.py b/libs/langchain/langchain/chains/flare/base.py index 11595dda4..e3008c333 100644 --- a/libs/langchain/langchain/chains/flare/base.py +++ b/libs/langchain/langchain/chains/flare/base.py @@ -5,7 +5,7 @@ from abc import abstractmethod from typing import Any, Dict, List, Optional, Sequence, Tuple import numpy as np -from pydantic import Field +from pydantic_v1 import Field from langchain.callbacks.manager import ( CallbackManagerForChainRun, diff --git a/libs/langchain/langchain/chains/graph_qa/arangodb.py b/libs/langchain/langchain/chains/graph_qa/arangodb.py index 42eba0b34..f9d4fb382 100644 --- a/libs/langchain/langchain/chains/graph_qa/arangodb.py +++ b/libs/langchain/langchain/chains/graph_qa/arangodb.py @@ -4,7 +4,7 @@ from __future__ import annotations import re from typing import Any, Dict, List, Optional -from pydantic import Field +from pydantic_v1 import Field from langchain.base_language import BaseLanguageModel from langchain.callbacks.manager import CallbackManagerForChainRun diff --git a/libs/langchain/langchain/chains/graph_qa/base.py b/libs/langchain/langchain/chains/graph_qa/base.py index 428104496..24e076a2a 100644 --- a/libs/langchain/langchain/chains/graph_qa/base.py +++ b/libs/langchain/langchain/chains/graph_qa/base.py @@ -3,7 +3,7 @@ from __future__ import annotations from typing import Any, Dict, List, Optional -from pydantic import Field +from pydantic_v1 import Field from langchain.callbacks.manager import CallbackManagerForChainRun from langchain.chains.base import Chain diff --git a/libs/langchain/langchain/chains/graph_qa/cypher.py b/libs/langchain/langchain/chains/graph_qa/cypher.py index a3852dc70..f6faffe63 100644 --- a/libs/langchain/langchain/chains/graph_qa/cypher.py +++ b/libs/langchain/langchain/chains/graph_qa/cypher.py @@ -4,7 +4,7 @@ from __future__ import annotations import re from typing import Any, Dict, List, Optional -from pydantic import Field +from pydantic_v1 import Field from langchain.callbacks.manager import CallbackManagerForChainRun from langchain.chains.base import Chain diff --git a/libs/langchain/langchain/chains/graph_qa/hugegraph.py b/libs/langchain/langchain/chains/graph_qa/hugegraph.py index a1f2f6b81..4c3577bd7 100644 --- a/libs/langchain/langchain/chains/graph_qa/hugegraph.py +++ b/libs/langchain/langchain/chains/graph_qa/hugegraph.py @@ -3,7 +3,7 @@ from __future__ import annotations from typing import Any, Dict, List, Optional -from pydantic import Field +from pydantic_v1 import Field from langchain.callbacks.manager import CallbackManagerForChainRun from langchain.chains.base import Chain diff --git a/libs/langchain/langchain/chains/graph_qa/kuzu.py b/libs/langchain/langchain/chains/graph_qa/kuzu.py index e532fa64c..f5750e4d0 100644 --- a/libs/langchain/langchain/chains/graph_qa/kuzu.py +++ b/libs/langchain/langchain/chains/graph_qa/kuzu.py @@ -3,7 +3,7 @@ from __future__ import annotations from typing import Any, Dict, List, Optional -from pydantic import Field +from pydantic_v1 import Field from langchain.callbacks.manager import CallbackManagerForChainRun from langchain.chains.base import Chain diff --git a/libs/langchain/langchain/chains/graph_qa/nebulagraph.py b/libs/langchain/langchain/chains/graph_qa/nebulagraph.py index 9cfcc960a..487efedd3 100644 --- a/libs/langchain/langchain/chains/graph_qa/nebulagraph.py +++ b/libs/langchain/langchain/chains/graph_qa/nebulagraph.py @@ -3,7 +3,7 @@ from __future__ import annotations from typing import Any, Dict, List, Optional -from pydantic import Field +from pydantic_v1 import Field from langchain.callbacks.manager import CallbackManagerForChainRun from langchain.chains.base import Chain diff --git a/libs/langchain/langchain/chains/graph_qa/neptune_cypher.py b/libs/langchain/langchain/chains/graph_qa/neptune_cypher.py index ae7baa9b2..e8d6ddf6f 100644 --- a/libs/langchain/langchain/chains/graph_qa/neptune_cypher.py +++ b/libs/langchain/langchain/chains/graph_qa/neptune_cypher.py @@ -3,7 +3,7 @@ from __future__ import annotations import re from typing import Any, Dict, List, Optional -from pydantic import Field +from pydantic_v1 import Field from langchain.base_language import BaseLanguageModel from langchain.callbacks.manager import CallbackManagerForChainRun diff --git a/libs/langchain/langchain/chains/graph_qa/sparql.py b/libs/langchain/langchain/chains/graph_qa/sparql.py index f1a8ff1f8..3efef4f25 100644 --- a/libs/langchain/langchain/chains/graph_qa/sparql.py +++ b/libs/langchain/langchain/chains/graph_qa/sparql.py @@ -5,7 +5,7 @@ from __future__ import annotations from typing import Any, Dict, List, Optional -from pydantic import Field +from pydantic_v1 import Field from langchain.callbacks.manager import CallbackManagerForChainRun from langchain.chains.base import Chain diff --git a/libs/langchain/langchain/chains/hyde/base.py b/libs/langchain/langchain/chains/hyde/base.py index 1fb2f3ac4..62d11cf72 100644 --- a/libs/langchain/langchain/chains/hyde/base.py +++ b/libs/langchain/langchain/chains/hyde/base.py @@ -7,7 +7,7 @@ from __future__ import annotations from typing import Any, Dict, List, Optional import numpy as np -from pydantic import Extra +from pydantic_v1 import Extra from langchain.callbacks.manager import CallbackManagerForChainRun from langchain.chains.base import Chain diff --git a/libs/langchain/langchain/chains/llm.py b/libs/langchain/langchain/chains/llm.py index 18029309b..6d6f67943 100644 --- a/libs/langchain/langchain/chains/llm.py +++ b/libs/langchain/langchain/chains/llm.py @@ -4,7 +4,7 @@ from __future__ import annotations import warnings from typing import Any, Dict, List, Optional, Sequence, Tuple, Union -from pydantic import Extra, Field +from pydantic_v1 import Extra, Field from langchain.callbacks.manager import ( AsyncCallbackManager, diff --git a/libs/langchain/langchain/chains/llm_bash/base.py b/libs/langchain/langchain/chains/llm_bash/base.py index 2c7cadf83..19c0b1356 100644 --- a/libs/langchain/langchain/chains/llm_bash/base.py +++ b/libs/langchain/langchain/chains/llm_bash/base.py @@ -5,7 +5,7 @@ import logging import warnings from typing import Any, Dict, List, Optional -from pydantic import Extra, Field, root_validator +from pydantic_v1 import Extra, Field, root_validator from langchain.callbacks.manager import CallbackManagerForChainRun from langchain.chains.base import Chain diff --git a/libs/langchain/langchain/chains/llm_checker/base.py b/libs/langchain/langchain/chains/llm_checker/base.py index e32a93fc4..f72df0e98 100644 --- a/libs/langchain/langchain/chains/llm_checker/base.py +++ b/libs/langchain/langchain/chains/llm_checker/base.py @@ -4,7 +4,7 @@ from __future__ import annotations import warnings from typing import Any, Dict, List, Optional -from pydantic import Extra, root_validator +from pydantic_v1 import Extra, root_validator from langchain.callbacks.manager import CallbackManagerForChainRun from langchain.chains.base import Chain diff --git a/libs/langchain/langchain/chains/llm_math/base.py b/libs/langchain/langchain/chains/llm_math/base.py index b5e92620d..39cb8cc6a 100644 --- a/libs/langchain/langchain/chains/llm_math/base.py +++ b/libs/langchain/langchain/chains/llm_math/base.py @@ -7,7 +7,7 @@ import warnings from typing import Any, Dict, List, Optional import numexpr -from pydantic import Extra, root_validator +from pydantic_v1 import Extra, root_validator from langchain.callbacks.manager import ( AsyncCallbackManagerForChainRun, diff --git a/libs/langchain/langchain/chains/llm_requests.py b/libs/langchain/langchain/chains/llm_requests.py index 2e1a6dd43..3920e397b 100644 --- a/libs/langchain/langchain/chains/llm_requests.py +++ b/libs/langchain/langchain/chains/llm_requests.py @@ -3,7 +3,7 @@ from __future__ import annotations from typing import Any, Dict, List, Optional -from pydantic import Extra, Field, root_validator +from pydantic_v1 import Extra, Field, root_validator from langchain.callbacks.manager import CallbackManagerForChainRun from langchain.chains import LLMChain diff --git a/libs/langchain/langchain/chains/llm_summarization_checker/base.py b/libs/langchain/langchain/chains/llm_summarization_checker/base.py index 30e7f8ea8..b3f9bdd4f 100644 --- a/libs/langchain/langchain/chains/llm_summarization_checker/base.py +++ b/libs/langchain/langchain/chains/llm_summarization_checker/base.py @@ -6,7 +6,7 @@ import warnings from pathlib import Path from typing import Any, Dict, List, Optional -from pydantic import Extra, root_validator +from pydantic_v1 import Extra, root_validator from langchain.callbacks.manager import CallbackManagerForChainRun from langchain.chains.base import Chain diff --git a/libs/langchain/langchain/chains/llm_symbolic_math/base.py b/libs/langchain/langchain/chains/llm_symbolic_math/base.py index 8193085b4..95fba3646 100644 --- a/libs/langchain/langchain/chains/llm_symbolic_math/base.py +++ b/libs/langchain/langchain/chains/llm_symbolic_math/base.py @@ -4,7 +4,7 @@ from __future__ import annotations import re from typing import Any, Dict, List, Optional -from pydantic import Extra +from pydantic_v1 import Extra from langchain.base_language import BaseLanguageModel from langchain.callbacks.manager import ( diff --git a/libs/langchain/langchain/chains/mapreduce.py b/libs/langchain/langchain/chains/mapreduce.py index e7ba46ba6..d404f6afc 100644 --- a/libs/langchain/langchain/chains/mapreduce.py +++ b/libs/langchain/langchain/chains/mapreduce.py @@ -7,7 +7,7 @@ from __future__ import annotations from typing import Any, Dict, List, Mapping, Optional -from pydantic import Extra +from pydantic_v1 import Extra from langchain.callbacks.manager import CallbackManagerForChainRun, Callbacks from langchain.chains import ReduceDocumentsChain diff --git a/libs/langchain/langchain/chains/moderation.py b/libs/langchain/langchain/chains/moderation.py index e59dfa0cf..c07eda147 100644 --- a/libs/langchain/langchain/chains/moderation.py +++ b/libs/langchain/langchain/chains/moderation.py @@ -1,7 +1,7 @@ """Pass input through a moderation endpoint.""" from typing import Any, Dict, List, Optional -from pydantic import root_validator +from pydantic_v1 import root_validator from langchain.callbacks.manager import CallbackManagerForChainRun from langchain.chains.base import Chain diff --git a/libs/langchain/langchain/chains/natbot/base.py b/libs/langchain/langchain/chains/natbot/base.py index 2adcea4fd..8eec84d0d 100644 --- a/libs/langchain/langchain/chains/natbot/base.py +++ b/libs/langchain/langchain/chains/natbot/base.py @@ -4,7 +4,7 @@ from __future__ import annotations import warnings from typing import Any, Dict, List, Optional -from pydantic import Extra, root_validator +from pydantic_v1 import Extra, root_validator from langchain.callbacks.manager import CallbackManagerForChainRun from langchain.chains.base import Chain diff --git a/libs/langchain/langchain/chains/openai_functions/base.py b/libs/langchain/langchain/chains/openai_functions/base.py index ad457d537..bbef94d4d 100644 --- a/libs/langchain/langchain/chains/openai_functions/base.py +++ b/libs/langchain/langchain/chains/openai_functions/base.py @@ -12,7 +12,7 @@ from typing import ( Union, ) -from pydantic import BaseModel +from pydantic_v1 import BaseModel from langchain.base_language import BaseLanguageModel from langchain.chains import LLMChain @@ -87,7 +87,9 @@ def _get_python_function_arguments(function: Callable, arg_descriptions: dict) - if arg == "return": continue if isinstance(arg_type, type) and issubclass(arg_type, BaseModel): - properties[arg] = arg_type.schema() + # Mypy error: + # "type" has no attribute "schema" + properties[arg] = arg_type.schema() # type: ignore[attr-defined] elif arg_type.__name__ in PYTHON_TO_JSON_TYPES: properties[arg] = {"type": PYTHON_TO_JSON_TYPES[arg_type.__name__]} if arg in arg_descriptions: @@ -147,7 +149,9 @@ def convert_to_openai_function( if isinstance(function, dict): return function elif isinstance(function, type) and issubclass(function, BaseModel): - schema = function.schema() + # Mypy error: + # "type" has no attribute "schema" + schema = function.schema() # type: ignore[attr-defined] return { "name": schema["title"], "description": schema["description"], @@ -224,7 +228,7 @@ def create_openai_fn_chain( from langchain.chat_models import ChatOpenAI from langchain.prompts import ChatPromptTemplate, HumanMessagePromptTemplate - from pydantic import BaseModel, Field + from pydantic_v1 import BaseModel, Field class RecordPerson(BaseModel): @@ -310,7 +314,7 @@ def create_structured_output_chain( from langchain.chat_models import ChatOpenAI from langchain.prompts import ChatPromptTemplate, HumanMessagePromptTemplate - from pydantic import BaseModel, Field + from pydantic_v1 import BaseModel, Field class Dog(BaseModel): \"\"\"Identifying information about a dog.\"\"\" diff --git a/libs/langchain/langchain/chains/openai_functions/citation_fuzzy_match.py b/libs/langchain/langchain/chains/openai_functions/citation_fuzzy_match.py index 2ea974d33..def8414a2 100644 --- a/libs/langchain/langchain/chains/openai_functions/citation_fuzzy_match.py +++ b/libs/langchain/langchain/chains/openai_functions/citation_fuzzy_match.py @@ -1,6 +1,6 @@ from typing import Iterator, List -from pydantic import BaseModel, Field +from pydantic_v1 import BaseModel, Field from langchain.chains.llm import LLMChain from langchain.chains.openai_functions.utils import get_llm_kwargs diff --git a/libs/langchain/langchain/chains/openai_functions/extraction.py b/libs/langchain/langchain/chains/openai_functions/extraction.py index ab4528ca8..f1eb13790 100644 --- a/libs/langchain/langchain/chains/openai_functions/extraction.py +++ b/libs/langchain/langchain/chains/openai_functions/extraction.py @@ -1,6 +1,6 @@ from typing import Any, List -from pydantic import BaseModel +from pydantic_v1 import BaseModel from langchain.chains.base import Chain from langchain.chains.llm import LLMChain diff --git a/libs/langchain/langchain/chains/openai_functions/qa_with_structure.py b/libs/langchain/langchain/chains/openai_functions/qa_with_structure.py index b65296436..21a6bfa33 100644 --- a/libs/langchain/langchain/chains/openai_functions/qa_with_structure.py +++ b/libs/langchain/langchain/chains/openai_functions/qa_with_structure.py @@ -1,6 +1,6 @@ from typing import Any, List, Optional, Type, Union -from pydantic import BaseModel, Field +from pydantic_v1 import BaseModel, Field from langchain.chains.llm import LLMChain from langchain.chains.openai_functions.utils import get_llm_kwargs diff --git a/libs/langchain/langchain/chains/prompt_selector.py b/libs/langchain/langchain/chains/prompt_selector.py index d2f6c0554..e39124c5e 100644 --- a/libs/langchain/langchain/chains/prompt_selector.py +++ b/libs/langchain/langchain/chains/prompt_selector.py @@ -1,7 +1,7 @@ from abc import ABC, abstractmethod from typing import Callable, List, Tuple -from pydantic import BaseModel, Field +from pydantic_v1 import BaseModel, Field from langchain.chat_models.base import BaseChatModel from langchain.llms.base import BaseLLM diff --git a/libs/langchain/langchain/chains/qa_generation/base.py b/libs/langchain/langchain/chains/qa_generation/base.py index e5efc3d73..142f6670c 100644 --- a/libs/langchain/langchain/chains/qa_generation/base.py +++ b/libs/langchain/langchain/chains/qa_generation/base.py @@ -3,7 +3,7 @@ from __future__ import annotations import json from typing import Any, Dict, List, Optional -from pydantic import Field +from pydantic_v1 import Field from langchain.callbacks.manager import CallbackManagerForChainRun from langchain.chains.base import Chain diff --git a/libs/langchain/langchain/chains/qa_with_sources/base.py b/libs/langchain/langchain/chains/qa_with_sources/base.py index d0f762afb..46eb14193 100644 --- a/libs/langchain/langchain/chains/qa_with_sources/base.py +++ b/libs/langchain/langchain/chains/qa_with_sources/base.py @@ -7,7 +7,7 @@ import re from abc import ABC, abstractmethod from typing import Any, Dict, List, Optional -from pydantic import Extra, root_validator +from pydantic_v1 import Extra, root_validator from langchain.callbacks.manager import ( AsyncCallbackManagerForChainRun, diff --git a/libs/langchain/langchain/chains/qa_with_sources/retrieval.py b/libs/langchain/langchain/chains/qa_with_sources/retrieval.py index beb36322c..da67bdc5d 100644 --- a/libs/langchain/langchain/chains/qa_with_sources/retrieval.py +++ b/libs/langchain/langchain/chains/qa_with_sources/retrieval.py @@ -2,7 +2,7 @@ from typing import Any, Dict, List -from pydantic import Field +from pydantic_v1 import Field from langchain.callbacks.manager import ( AsyncCallbackManagerForChainRun, diff --git a/libs/langchain/langchain/chains/qa_with_sources/vector_db.py b/libs/langchain/langchain/chains/qa_with_sources/vector_db.py index 5d1689a9b..8f92a2749 100644 --- a/libs/langchain/langchain/chains/qa_with_sources/vector_db.py +++ b/libs/langchain/langchain/chains/qa_with_sources/vector_db.py @@ -3,7 +3,7 @@ import warnings from typing import Any, Dict, List -from pydantic import Field, root_validator +from pydantic_v1 import Field, root_validator from langchain.callbacks.manager import ( AsyncCallbackManagerForChainRun, diff --git a/libs/langchain/langchain/chains/query_constructor/ir.py b/libs/langchain/langchain/chains/query_constructor/ir.py index 73707e589..7bf0aa9cb 100644 --- a/libs/langchain/langchain/chains/query_constructor/ir.py +++ b/libs/langchain/langchain/chains/query_constructor/ir.py @@ -5,7 +5,7 @@ from abc import ABC, abstractmethod from enum import Enum from typing import Any, List, Optional, Sequence, Union -from pydantic import BaseModel +from pydantic_v1 import BaseModel class Visitor(ABC): diff --git a/libs/langchain/langchain/chains/query_constructor/schema.py b/libs/langchain/langchain/chains/query_constructor/schema.py index 557ad5ea2..90447be48 100644 --- a/libs/langchain/langchain/chains/query_constructor/schema.py +++ b/libs/langchain/langchain/chains/query_constructor/schema.py @@ -1,4 +1,4 @@ -from pydantic import BaseModel +from pydantic_v1 import BaseModel class AttributeInfo(BaseModel): diff --git a/libs/langchain/langchain/chains/retrieval_qa/base.py b/libs/langchain/langchain/chains/retrieval_qa/base.py index e8385d6fe..cd6faa095 100644 --- a/libs/langchain/langchain/chains/retrieval_qa/base.py +++ b/libs/langchain/langchain/chains/retrieval_qa/base.py @@ -6,7 +6,7 @@ import warnings from abc import abstractmethod from typing import Any, Dict, List, Optional -from pydantic import Extra, Field, root_validator +from pydantic_v1 import Extra, Field, root_validator from langchain.callbacks.manager import ( AsyncCallbackManagerForChainRun, diff --git a/libs/langchain/langchain/chains/router/base.py b/libs/langchain/langchain/chains/router/base.py index 5ee6fb16a..f8c156c33 100644 --- a/libs/langchain/langchain/chains/router/base.py +++ b/libs/langchain/langchain/chains/router/base.py @@ -4,7 +4,7 @@ from __future__ import annotations from abc import ABC from typing import Any, Dict, List, Mapping, NamedTuple, Optional -from pydantic import Extra +from pydantic_v1 import Extra from langchain.callbacks.manager import ( AsyncCallbackManagerForChainRun, diff --git a/libs/langchain/langchain/chains/router/embedding_router.py b/libs/langchain/langchain/chains/router/embedding_router.py index 53704a987..b8d9d8d9f 100644 --- a/libs/langchain/langchain/chains/router/embedding_router.py +++ b/libs/langchain/langchain/chains/router/embedding_router.py @@ -2,7 +2,7 @@ from __future__ import annotations from typing import Any, Dict, List, Optional, Sequence, Tuple, Type -from pydantic import Extra +from pydantic_v1 import Extra from langchain.callbacks.manager import CallbackManagerForChainRun from langchain.chains.router.base import RouterChain diff --git a/libs/langchain/langchain/chains/router/llm_router.py b/libs/langchain/langchain/chains/router/llm_router.py index b09786461..e5f4c69c4 100644 --- a/libs/langchain/langchain/chains/router/llm_router.py +++ b/libs/langchain/langchain/chains/router/llm_router.py @@ -3,7 +3,7 @@ from __future__ import annotations from typing import Any, Dict, List, Optional, Type, cast -from pydantic import root_validator +from pydantic_v1 import root_validator from langchain.callbacks.manager import ( AsyncCallbackManagerForChainRun, diff --git a/libs/langchain/langchain/chains/sequential.py b/libs/langchain/langchain/chains/sequential.py index 26cbaf702..7a48577fe 100644 --- a/libs/langchain/langchain/chains/sequential.py +++ b/libs/langchain/langchain/chains/sequential.py @@ -1,7 +1,7 @@ """Chain pipeline where the outputs of one step feed directly into next.""" from typing import Any, Dict, List, Optional -from pydantic import Extra, root_validator +from pydantic_v1 import Extra, root_validator from langchain.callbacks.manager import ( AsyncCallbackManagerForChainRun, diff --git a/libs/langchain/langchain/chains/transform.py b/libs/langchain/langchain/chains/transform.py index b03bbe22c..fb1965f9e 100644 --- a/libs/langchain/langchain/chains/transform.py +++ b/libs/langchain/langchain/chains/transform.py @@ -3,7 +3,7 @@ import functools import logging from typing import Any, Awaitable, Callable, Dict, List, Optional -from pydantic import Field +from pydantic_v1 import Field from langchain.callbacks.manager import ( AsyncCallbackManagerForChainRun, diff --git a/libs/langchain/langchain/chat_models/anyscale.py b/libs/langchain/langchain/chat_models/anyscale.py index 4362d28e0..4426766f7 100644 --- a/libs/langchain/langchain/chat_models/anyscale.py +++ b/libs/langchain/langchain/chat_models/anyscale.py @@ -7,7 +7,7 @@ import sys from typing import TYPE_CHECKING, Optional, Set import requests -from pydantic import Field, root_validator +from pydantic_v1 import Field, root_validator from langchain.adapters.openai import convert_message_to_dict from langchain.chat_models.openai import ( diff --git a/libs/langchain/langchain/chat_models/azure_openai.py b/libs/langchain/langchain/chat_models/azure_openai.py index 71ca28748..7d70acc99 100644 --- a/libs/langchain/langchain/chat_models/azure_openai.py +++ b/libs/langchain/langchain/chat_models/azure_openai.py @@ -4,7 +4,7 @@ from __future__ import annotations import logging from typing import Any, Dict, Mapping -from pydantic import root_validator +from pydantic_v1 import root_validator from langchain.chat_models.openai import ChatOpenAI from langchain.schema import ChatResult diff --git a/libs/langchain/langchain/chat_models/azureml_endpoint.py b/libs/langchain/langchain/chat_models/azureml_endpoint.py index 78a1b3b17..bd01d39ac 100644 --- a/libs/langchain/langchain/chat_models/azureml_endpoint.py +++ b/libs/langchain/langchain/chat_models/azureml_endpoint.py @@ -1,7 +1,7 @@ import json from typing import Any, Dict, List, Optional -from pydantic import validator +from pydantic_v1 import validator from langchain.callbacks.manager import CallbackManagerForLLMRun from langchain.chat_models.base import SimpleChatModel diff --git a/libs/langchain/langchain/chat_models/base.py b/libs/langchain/langchain/chat_models/base.py index 8ef1479e1..ec2d8d342 100644 --- a/libs/langchain/langchain/chat_models/base.py +++ b/libs/langchain/langchain/chat_models/base.py @@ -14,7 +14,7 @@ from typing import ( cast, ) -from pydantic import Field, root_validator +from pydantic_v1 import Field, root_validator import langchain from langchain.callbacks.base import BaseCallbackManager diff --git a/libs/langchain/langchain/chat_models/google_palm.py b/libs/langchain/langchain/chat_models/google_palm.py index e180030e7..da450ea48 100644 --- a/libs/langchain/langchain/chat_models/google_palm.py +++ b/libs/langchain/langchain/chat_models/google_palm.py @@ -4,7 +4,7 @@ from __future__ import annotations import logging from typing import TYPE_CHECKING, Any, Callable, Dict, List, Optional -from pydantic import BaseModel, root_validator +from pydantic_v1 import BaseModel, root_validator from tenacity import ( before_sleep_log, retry, diff --git a/libs/langchain/langchain/chat_models/human.py b/libs/langchain/langchain/chat_models/human.py index 1f9bf6eaf..2c99ff8a1 100644 --- a/libs/langchain/langchain/chat_models/human.py +++ b/libs/langchain/langchain/chat_models/human.py @@ -5,7 +5,7 @@ from io import StringIO from typing import Any, Callable, Dict, List, Mapping, Optional import yaml -from pydantic import Field +from pydantic_v1 import Field from langchain.callbacks.manager import ( AsyncCallbackManagerForLLMRun, diff --git a/libs/langchain/langchain/chat_models/jinachat.py b/libs/langchain/langchain/chat_models/jinachat.py index fd1225a9f..23450c12c 100644 --- a/libs/langchain/langchain/chat_models/jinachat.py +++ b/libs/langchain/langchain/chat_models/jinachat.py @@ -15,7 +15,7 @@ from typing import ( Union, ) -from pydantic import Field, root_validator +from pydantic_v1 import Field, root_validator from tenacity import ( before_sleep_log, retry, diff --git a/libs/langchain/langchain/chat_models/mlflow_ai_gateway.py b/libs/langchain/langchain/chat_models/mlflow_ai_gateway.py index 188093463..42d4fa0d9 100644 --- a/libs/langchain/langchain/chat_models/mlflow_ai_gateway.py +++ b/libs/langchain/langchain/chat_models/mlflow_ai_gateway.py @@ -3,7 +3,7 @@ import logging from functools import partial from typing import Any, Dict, List, Mapping, Optional -from pydantic import BaseModel, Extra +from pydantic_v1 import BaseModel, Extra from langchain.callbacks.manager import ( AsyncCallbackManagerForLLMRun, @@ -26,7 +26,9 @@ from langchain.schema.messages import ( logger = logging.getLogger(__name__) -class ChatParams(BaseModel, extra=Extra.allow): +# Ignoring type because below is valid pydantic code +# Unexpected keyword argument "extra" for "__init_subclass__" of "object" [call-arg] +class ChatParams(BaseModel, extra=Extra.allow): # type: ignore[call-arg] """Parameters for the MLflow AI Gateway LLM.""" temperature: float = 0.0 diff --git a/libs/langchain/langchain/chat_models/openai.py b/libs/langchain/langchain/chat_models/openai.py index 56d3eec39..9b4f306db 100644 --- a/libs/langchain/langchain/chat_models/openai.py +++ b/libs/langchain/langchain/chat_models/openai.py @@ -17,7 +17,7 @@ from typing import ( Union, ) -from pydantic import Field, root_validator +from pydantic_v1 import Field, root_validator from langchain.adapters.openai import convert_dict_to_message, convert_message_to_dict from langchain.callbacks.manager import ( diff --git a/libs/langchain/langchain/chat_models/vertexai.py b/libs/langchain/langchain/chat_models/vertexai.py index e7b5bfbee..d8e5e1fd7 100644 --- a/libs/langchain/langchain/chat_models/vertexai.py +++ b/libs/langchain/langchain/chat_models/vertexai.py @@ -2,7 +2,7 @@ from dataclasses import dataclass, field from typing import TYPE_CHECKING, Any, Dict, List, Optional -from pydantic import root_validator +from pydantic_v1 import root_validator from langchain.callbacks.manager import CallbackManagerForLLMRun from langchain.chat_models.base import BaseChatModel diff --git a/libs/langchain/langchain/document_loaders/apify_dataset.py b/libs/langchain/langchain/document_loaders/apify_dataset.py index 2a155424e..b923ddac3 100644 --- a/libs/langchain/langchain/document_loaders/apify_dataset.py +++ b/libs/langchain/langchain/document_loaders/apify_dataset.py @@ -1,6 +1,6 @@ from typing import Any, Callable, Dict, List -from pydantic import BaseModel, root_validator +from pydantic_v1 import BaseModel, root_validator from langchain.docstore.document import Document from langchain.document_loaders.base import BaseLoader diff --git a/libs/langchain/langchain/document_loaders/blob_loaders/schema.py b/libs/langchain/langchain/document_loaders/blob_loaders/schema.py index 6548352c4..4435075d5 100644 --- a/libs/langchain/langchain/document_loaders/blob_loaders/schema.py +++ b/libs/langchain/langchain/document_loaders/blob_loaders/schema.py @@ -13,7 +13,7 @@ from io import BufferedReader, BytesIO from pathlib import PurePath from typing import Any, Generator, Iterable, Mapping, Optional, Union -from pydantic import BaseModel, root_validator +from pydantic_v1 import BaseModel, root_validator PathLike = Union[str, PurePath] diff --git a/libs/langchain/langchain/document_loaders/docugami.py b/libs/langchain/langchain/document_loaders/docugami.py index 23f293010..db4c8ee7a 100644 --- a/libs/langchain/langchain/document_loaders/docugami.py +++ b/libs/langchain/langchain/document_loaders/docugami.py @@ -6,7 +6,7 @@ from pathlib import Path from typing import Any, Dict, List, Mapping, Optional, Sequence, Union import requests -from pydantic import BaseModel, root_validator +from pydantic_v1 import BaseModel, root_validator from langchain.docstore.document import Document from langchain.document_loaders.base import BaseLoader diff --git a/libs/langchain/langchain/document_loaders/dropbox.py b/libs/langchain/langchain/document_loaders/dropbox.py index 123956274..1296e29b2 100644 --- a/libs/langchain/langchain/document_loaders/dropbox.py +++ b/libs/langchain/langchain/document_loaders/dropbox.py @@ -11,7 +11,7 @@ import tempfile from pathlib import Path from typing import Any, Dict, List, Optional -from pydantic import BaseModel, root_validator +from pydantic_v1 import BaseModel, root_validator from langchain.docstore.document import Document from langchain.document_loaders.base import BaseLoader diff --git a/libs/langchain/langchain/document_loaders/embaas.py b/libs/langchain/langchain/document_loaders/embaas.py index da8b2afe6..9efa6c4c5 100644 --- a/libs/langchain/langchain/document_loaders/embaas.py +++ b/libs/langchain/langchain/document_loaders/embaas.py @@ -3,7 +3,7 @@ import warnings from typing import Any, Dict, Iterator, List, Optional import requests -from pydantic import BaseModel, root_validator, validator +from pydantic_v1 import BaseModel, root_validator, validator from typing_extensions import NotRequired, TypedDict from langchain.docstore.document import Document diff --git a/libs/langchain/langchain/document_loaders/github.py b/libs/langchain/langchain/document_loaders/github.py index eaa10f095..e5e840f81 100644 --- a/libs/langchain/langchain/document_loaders/github.py +++ b/libs/langchain/langchain/document_loaders/github.py @@ -3,7 +3,7 @@ from datetime import datetime from typing import Dict, Iterator, List, Literal, Optional, Union import requests -from pydantic import BaseModel, root_validator, validator +from pydantic_v1 import BaseModel, root_validator, validator from langchain.docstore.document import Document from langchain.document_loaders.base import BaseLoader diff --git a/libs/langchain/langchain/document_loaders/googledrive.py b/libs/langchain/langchain/document_loaders/googledrive.py index dd0dde3fc..4da466f86 100644 --- a/libs/langchain/langchain/document_loaders/googledrive.py +++ b/libs/langchain/langchain/document_loaders/googledrive.py @@ -11,7 +11,7 @@ import os from pathlib import Path from typing import Any, Dict, List, Optional, Sequence, Union -from pydantic import BaseModel, root_validator, validator +from pydantic_v1 import BaseModel, root_validator, validator from langchain.docstore.document import Document from langchain.document_loaders.base import BaseLoader diff --git a/libs/langchain/langchain/document_loaders/onedrive.py b/libs/langchain/langchain/document_loaders/onedrive.py index 2da8a1c4d..87d4f3b7d 100644 --- a/libs/langchain/langchain/document_loaders/onedrive.py +++ b/libs/langchain/langchain/document_loaders/onedrive.py @@ -8,7 +8,7 @@ from enum import Enum from pathlib import Path from typing import TYPE_CHECKING, Dict, List, Optional, Type, Union -from pydantic import BaseModel, BaseSettings, Field, FilePath, SecretStr +from pydantic_v1 import BaseModel, BaseSettings, Field, FilePath, SecretStr from langchain.docstore.document import Document from langchain.document_loaders.base import BaseLoader diff --git a/libs/langchain/langchain/document_loaders/onedrive_file.py b/libs/langchain/langchain/document_loaders/onedrive_file.py index afebe2a4b..067a61890 100644 --- a/libs/langchain/langchain/document_loaders/onedrive_file.py +++ b/libs/langchain/langchain/document_loaders/onedrive_file.py @@ -3,7 +3,7 @@ from __future__ import annotations import tempfile from typing import TYPE_CHECKING, List -from pydantic import BaseModel, Field +from pydantic_v1 import BaseModel, Field from langchain.docstore.document import Document from langchain.document_loaders.base import BaseLoader diff --git a/libs/langchain/langchain/document_loaders/youtube.py b/libs/langchain/langchain/document_loaders/youtube.py index 99f2df56c..9724ffda0 100644 --- a/libs/langchain/langchain/document_loaders/youtube.py +++ b/libs/langchain/langchain/document_loaders/youtube.py @@ -6,8 +6,8 @@ from pathlib import Path from typing import Any, Dict, List, Optional, Sequence, Union from urllib.parse import parse_qs, urlparse -from pydantic import root_validator -from pydantic.dataclasses import dataclass +from pydantic_v1 import root_validator +from pydantic_v1.dataclasses import dataclass from langchain.docstore.document import Document from langchain.document_loaders.base import BaseLoader diff --git a/libs/langchain/langchain/document_transformers/embeddings_redundant_filter.py b/libs/langchain/langchain/document_transformers/embeddings_redundant_filter.py index a108ce730..f3afb2871 100644 --- a/libs/langchain/langchain/document_transformers/embeddings_redundant_filter.py +++ b/libs/langchain/langchain/document_transformers/embeddings_redundant_filter.py @@ -2,7 +2,7 @@ from typing import Any, Callable, List, Sequence import numpy as np -from pydantic import BaseModel, Field +from pydantic_v1 import BaseModel, Field from langchain.embeddings.base import Embeddings from langchain.schema import BaseDocumentTransformer, Document diff --git a/libs/langchain/langchain/document_transformers/long_context_reorder.py b/libs/langchain/langchain/document_transformers/long_context_reorder.py index 5debbed5e..ca126534b 100644 --- a/libs/langchain/langchain/document_transformers/long_context_reorder.py +++ b/libs/langchain/langchain/document_transformers/long_context_reorder.py @@ -1,7 +1,7 @@ """Reorder documents""" from typing import Any, List, Sequence -from pydantic import BaseModel +from pydantic_v1 import BaseModel from langchain.schema import BaseDocumentTransformer, Document diff --git a/libs/langchain/langchain/document_transformers/openai_functions.py b/libs/langchain/langchain/document_transformers/openai_functions.py index 8b2d11467..bf2c13627 100644 --- a/libs/langchain/langchain/document_transformers/openai_functions.py +++ b/libs/langchain/langchain/document_transformers/openai_functions.py @@ -1,7 +1,7 @@ """Document transformers that use OpenAI Functions models""" from typing import Any, Dict, Optional, Sequence, Type, Union -from pydantic import BaseModel +from pydantic_v1 import BaseModel from langchain.chains.llm import LLMChain from langchain.chains.openai_functions import create_tagging_chain diff --git a/libs/langchain/langchain/embeddings/aleph_alpha.py b/libs/langchain/langchain/embeddings/aleph_alpha.py index 1f5c4b8b1..8c3c831a9 100644 --- a/libs/langchain/langchain/embeddings/aleph_alpha.py +++ b/libs/langchain/langchain/embeddings/aleph_alpha.py @@ -1,6 +1,6 @@ from typing import Any, Dict, List, Optional -from pydantic import BaseModel, root_validator +from pydantic_v1 import BaseModel, root_validator from langchain.embeddings.base import Embeddings from langchain.utils import get_from_dict_or_env diff --git a/libs/langchain/langchain/embeddings/awa.py b/libs/langchain/langchain/embeddings/awa.py index d854eb2f6..44905617a 100644 --- a/libs/langchain/langchain/embeddings/awa.py +++ b/libs/langchain/langchain/embeddings/awa.py @@ -1,6 +1,6 @@ from typing import Any, Dict, List -from pydantic import BaseModel, root_validator +from pydantic_v1 import BaseModel, root_validator from langchain.embeddings.base import Embeddings diff --git a/libs/langchain/langchain/embeddings/bedrock.py b/libs/langchain/langchain/embeddings/bedrock.py index 9396b320c..ef087ee20 100644 --- a/libs/langchain/langchain/embeddings/bedrock.py +++ b/libs/langchain/langchain/embeddings/bedrock.py @@ -4,7 +4,7 @@ import os from functools import partial from typing import Any, Dict, List, Optional -from pydantic import BaseModel, Extra, root_validator +from pydantic_v1 import BaseModel, Extra, root_validator from langchain.embeddings.base import Embeddings diff --git a/libs/langchain/langchain/embeddings/clarifai.py b/libs/langchain/langchain/embeddings/clarifai.py index 6d97fc075..c11e967a0 100644 --- a/libs/langchain/langchain/embeddings/clarifai.py +++ b/libs/langchain/langchain/embeddings/clarifai.py @@ -1,7 +1,7 @@ import logging from typing import Any, Dict, List, Optional -from pydantic import BaseModel, Extra, root_validator +from pydantic_v1 import BaseModel, Extra, root_validator from langchain.embeddings.base import Embeddings from langchain.utils import get_from_dict_or_env diff --git a/libs/langchain/langchain/embeddings/cohere.py b/libs/langchain/langchain/embeddings/cohere.py index 28a3b6cc2..f23544770 100644 --- a/libs/langchain/langchain/embeddings/cohere.py +++ b/libs/langchain/langchain/embeddings/cohere.py @@ -1,6 +1,6 @@ from typing import Any, Dict, List, Optional -from pydantic import BaseModel, Extra, root_validator +from pydantic_v1 import BaseModel, Extra, root_validator from langchain.embeddings.base import Embeddings from langchain.utils import get_from_dict_or_env diff --git a/libs/langchain/langchain/embeddings/dashscope.py b/libs/langchain/langchain/embeddings/dashscope.py index 475c7a594..5fb0c5d57 100644 --- a/libs/langchain/langchain/embeddings/dashscope.py +++ b/libs/langchain/langchain/embeddings/dashscope.py @@ -9,7 +9,7 @@ from typing import ( Optional, ) -from pydantic import BaseModel, Extra, root_validator +from pydantic_v1 import BaseModel, Extra, root_validator from requests.exceptions import HTTPError from tenacity import ( before_sleep_log, diff --git a/libs/langchain/langchain/embeddings/deepinfra.py b/libs/langchain/langchain/embeddings/deepinfra.py index 2fb15ce18..8c7a4c7ec 100644 --- a/libs/langchain/langchain/embeddings/deepinfra.py +++ b/libs/langchain/langchain/embeddings/deepinfra.py @@ -1,7 +1,7 @@ from typing import Any, Dict, List, Mapping, Optional import requests -from pydantic import BaseModel, Extra, root_validator +from pydantic_v1 import BaseModel, Extra, root_validator from langchain.embeddings.base import Embeddings from langchain.utils import get_from_dict_or_env diff --git a/libs/langchain/langchain/embeddings/edenai.py b/libs/langchain/langchain/embeddings/edenai.py index 0f3fe08d9..59d3b2882 100644 --- a/libs/langchain/langchain/embeddings/edenai.py +++ b/libs/langchain/langchain/embeddings/edenai.py @@ -1,6 +1,6 @@ from typing import Dict, List, Optional -from pydantic import BaseModel, Extra, Field, root_validator +from pydantic_v1 import BaseModel, Extra, Field, root_validator from langchain.embeddings.base import Embeddings from langchain.requests import Requests diff --git a/libs/langchain/langchain/embeddings/embaas.py b/libs/langchain/langchain/embeddings/embaas.py index d6985fc68..37261453c 100644 --- a/libs/langchain/langchain/embeddings/embaas.py +++ b/libs/langchain/langchain/embeddings/embaas.py @@ -1,7 +1,7 @@ from typing import Any, Dict, List, Mapping, Optional import requests -from pydantic import BaseModel, Extra, root_validator +from pydantic_v1 import BaseModel, Extra, root_validator from typing_extensions import NotRequired, TypedDict from langchain.embeddings.base import Embeddings diff --git a/libs/langchain/langchain/embeddings/fake.py b/libs/langchain/langchain/embeddings/fake.py index 1b8311dec..4df6b0239 100644 --- a/libs/langchain/langchain/embeddings/fake.py +++ b/libs/langchain/langchain/embeddings/fake.py @@ -2,7 +2,7 @@ import hashlib from typing import List import numpy as np -from pydantic import BaseModel +from pydantic_v1 import BaseModel from langchain.embeddings.base import Embeddings diff --git a/libs/langchain/langchain/embeddings/google_palm.py b/libs/langchain/langchain/embeddings/google_palm.py index 8633ce7a9..6bcec015a 100644 --- a/libs/langchain/langchain/embeddings/google_palm.py +++ b/libs/langchain/langchain/embeddings/google_palm.py @@ -3,7 +3,7 @@ from __future__ import annotations import logging from typing import Any, Callable, Dict, List, Optional -from pydantic import BaseModel, root_validator +from pydantic_v1 import BaseModel, root_validator from tenacity import ( before_sleep_log, retry, diff --git a/libs/langchain/langchain/embeddings/gpt4all.py b/libs/langchain/langchain/embeddings/gpt4all.py index 0f109b845..cd8fdb8fc 100644 --- a/libs/langchain/langchain/embeddings/gpt4all.py +++ b/libs/langchain/langchain/embeddings/gpt4all.py @@ -1,6 +1,6 @@ from typing import Any, Dict, List -from pydantic import BaseModel, root_validator +from pydantic_v1 import BaseModel, root_validator from langchain.embeddings.base import Embeddings diff --git a/libs/langchain/langchain/embeddings/huggingface.py b/libs/langchain/langchain/embeddings/huggingface.py index 72243705d..cc8012a8e 100644 --- a/libs/langchain/langchain/embeddings/huggingface.py +++ b/libs/langchain/langchain/embeddings/huggingface.py @@ -1,6 +1,6 @@ from typing import Any, Dict, List, Optional -from pydantic import BaseModel, Extra, Field +from pydantic_v1 import BaseModel, Extra, Field from langchain.embeddings.base import Embeddings diff --git a/libs/langchain/langchain/embeddings/huggingface_hub.py b/libs/langchain/langchain/embeddings/huggingface_hub.py index 0ca9985a1..db2e56369 100644 --- a/libs/langchain/langchain/embeddings/huggingface_hub.py +++ b/libs/langchain/langchain/embeddings/huggingface_hub.py @@ -1,6 +1,6 @@ from typing import Any, Dict, List, Optional -from pydantic import BaseModel, Extra, root_validator +from pydantic_v1 import BaseModel, Extra, root_validator from langchain.embeddings.base import Embeddings from langchain.utils import get_from_dict_or_env diff --git a/libs/langchain/langchain/embeddings/jina.py b/libs/langchain/langchain/embeddings/jina.py index 1931a9c4e..6b8f2e323 100644 --- a/libs/langchain/langchain/embeddings/jina.py +++ b/libs/langchain/langchain/embeddings/jina.py @@ -2,7 +2,7 @@ import os from typing import Any, Dict, List, Optional import requests -from pydantic import BaseModel, root_validator +from pydantic_v1 import BaseModel, root_validator from langchain.embeddings.base import Embeddings from langchain.utils import get_from_dict_or_env diff --git a/libs/langchain/langchain/embeddings/llamacpp.py b/libs/langchain/langchain/embeddings/llamacpp.py index 5c31d53bf..750c22cce 100644 --- a/libs/langchain/langchain/embeddings/llamacpp.py +++ b/libs/langchain/langchain/embeddings/llamacpp.py @@ -1,6 +1,6 @@ from typing import Any, Dict, List, Optional -from pydantic import BaseModel, Extra, Field, root_validator +from pydantic_v1 import BaseModel, Extra, Field, root_validator from langchain.embeddings.base import Embeddings diff --git a/libs/langchain/langchain/embeddings/localai.py b/libs/langchain/langchain/embeddings/localai.py index 532cd49ea..025e16c7f 100644 --- a/libs/langchain/langchain/embeddings/localai.py +++ b/libs/langchain/langchain/embeddings/localai.py @@ -15,7 +15,7 @@ from typing import ( Union, ) -from pydantic import BaseModel, Extra, Field, root_validator +from pydantic_v1 import BaseModel, Extra, Field, root_validator from tenacity import ( AsyncRetrying, before_sleep_log, diff --git a/libs/langchain/langchain/embeddings/minimax.py b/libs/langchain/langchain/embeddings/minimax.py index 3ac9a7ef4..1253a5569 100644 --- a/libs/langchain/langchain/embeddings/minimax.py +++ b/libs/langchain/langchain/embeddings/minimax.py @@ -4,7 +4,7 @@ import logging from typing import Any, Callable, Dict, List, Optional import requests -from pydantic import BaseModel, Extra, root_validator +from pydantic_v1 import BaseModel, Extra, root_validator from tenacity import ( before_sleep_log, retry, diff --git a/libs/langchain/langchain/embeddings/mlflow_gateway.py b/libs/langchain/langchain/embeddings/mlflow_gateway.py index 16d8f29d6..d3cf14a08 100644 --- a/libs/langchain/langchain/embeddings/mlflow_gateway.py +++ b/libs/langchain/langchain/embeddings/mlflow_gateway.py @@ -2,7 +2,7 @@ from __future__ import annotations from typing import Any, Iterator, List, Optional -from pydantic import BaseModel +from pydantic_v1 import BaseModel from langchain.embeddings.base import Embeddings diff --git a/libs/langchain/langchain/embeddings/modelscope_hub.py b/libs/langchain/langchain/embeddings/modelscope_hub.py index 541aeaa35..7af038547 100644 --- a/libs/langchain/langchain/embeddings/modelscope_hub.py +++ b/libs/langchain/langchain/embeddings/modelscope_hub.py @@ -1,6 +1,6 @@ from typing import Any, List, Optional -from pydantic import BaseModel, Extra +from pydantic_v1 import BaseModel, Extra from langchain.embeddings.base import Embeddings diff --git a/libs/langchain/langchain/embeddings/mosaicml.py b/libs/langchain/langchain/embeddings/mosaicml.py index d2e448da7..0def39487 100644 --- a/libs/langchain/langchain/embeddings/mosaicml.py +++ b/libs/langchain/langchain/embeddings/mosaicml.py @@ -1,7 +1,7 @@ from typing import Any, Dict, List, Mapping, Optional, Tuple import requests -from pydantic import BaseModel, Extra, root_validator +from pydantic_v1 import BaseModel, Extra, root_validator from langchain.embeddings.base import Embeddings from langchain.utils import get_from_dict_or_env diff --git a/libs/langchain/langchain/embeddings/nlpcloud.py b/libs/langchain/langchain/embeddings/nlpcloud.py index 5a65768a9..ce3d6deff 100644 --- a/libs/langchain/langchain/embeddings/nlpcloud.py +++ b/libs/langchain/langchain/embeddings/nlpcloud.py @@ -1,6 +1,6 @@ from typing import Any, Dict, List -from pydantic import BaseModel, root_validator +from pydantic_v1 import BaseModel, root_validator from langchain.embeddings.base import Embeddings from langchain.utils import get_from_dict_or_env diff --git a/libs/langchain/langchain/embeddings/octoai_embeddings.py b/libs/langchain/langchain/embeddings/octoai_embeddings.py index 4a9d0a512..285f0dabe 100644 --- a/libs/langchain/langchain/embeddings/octoai_embeddings.py +++ b/libs/langchain/langchain/embeddings/octoai_embeddings.py @@ -1,6 +1,6 @@ from typing import Any, Dict, List, Mapping, Optional -from pydantic import BaseModel, Extra, Field, root_validator +from pydantic_v1 import BaseModel, Extra, Field, root_validator from langchain.embeddings.base import Embeddings from langchain.utils import get_from_dict_or_env diff --git a/libs/langchain/langchain/embeddings/openai.py b/libs/langchain/langchain/embeddings/openai.py index 038b8bfde..59f70f64c 100644 --- a/libs/langchain/langchain/embeddings/openai.py +++ b/libs/langchain/langchain/embeddings/openai.py @@ -16,7 +16,7 @@ from typing import ( ) import numpy as np -from pydantic import BaseModel, Extra, Field, root_validator +from pydantic_v1 import BaseModel, Extra, Field, root_validator from tenacity import ( AsyncRetrying, before_sleep_log, diff --git a/libs/langchain/langchain/embeddings/sagemaker_endpoint.py b/libs/langchain/langchain/embeddings/sagemaker_endpoint.py index d0fd864a6..29f33b036 100644 --- a/libs/langchain/langchain/embeddings/sagemaker_endpoint.py +++ b/libs/langchain/langchain/embeddings/sagemaker_endpoint.py @@ -1,6 +1,6 @@ from typing import Any, Dict, List, Optional -from pydantic import BaseModel, Extra, root_validator +from pydantic_v1 import BaseModel, Extra, root_validator from langchain.embeddings.base import Embeddings from langchain.llms.sagemaker_endpoint import ContentHandlerBase diff --git a/libs/langchain/langchain/embeddings/self_hosted.py b/libs/langchain/langchain/embeddings/self_hosted.py index 3ef313669..1239e57dc 100644 --- a/libs/langchain/langchain/embeddings/self_hosted.py +++ b/libs/langchain/langchain/embeddings/self_hosted.py @@ -1,6 +1,6 @@ from typing import Any, Callable, List -from pydantic import Extra +from pydantic_v1 import Extra from langchain.embeddings.base import Embeddings from langchain.llms import SelfHostedPipeline diff --git a/libs/langchain/langchain/embeddings/spacy_embeddings.py b/libs/langchain/langchain/embeddings/spacy_embeddings.py index ded1fbbd8..d3d5a55f8 100644 --- a/libs/langchain/langchain/embeddings/spacy_embeddings.py +++ b/libs/langchain/langchain/embeddings/spacy_embeddings.py @@ -1,7 +1,7 @@ import importlib.util from typing import Any, Dict, List -from pydantic import BaseModel, Extra, root_validator +from pydantic_v1 import BaseModel, Extra, root_validator from langchain.embeddings.base import Embeddings diff --git a/libs/langchain/langchain/embeddings/tensorflow_hub.py b/libs/langchain/langchain/embeddings/tensorflow_hub.py index 514c7e1c1..b7542e47a 100644 --- a/libs/langchain/langchain/embeddings/tensorflow_hub.py +++ b/libs/langchain/langchain/embeddings/tensorflow_hub.py @@ -1,6 +1,6 @@ from typing import Any, List -from pydantic import BaseModel, Extra +from pydantic_v1 import BaseModel, Extra from langchain.embeddings.base import Embeddings diff --git a/libs/langchain/langchain/embeddings/vertexai.py b/libs/langchain/langchain/embeddings/vertexai.py index 6ea6d0230..140797d63 100644 --- a/libs/langchain/langchain/embeddings/vertexai.py +++ b/libs/langchain/langchain/embeddings/vertexai.py @@ -1,6 +1,6 @@ from typing import Dict, List -from pydantic import root_validator +from pydantic_v1 import root_validator from langchain.embeddings.base import Embeddings from langchain.llms.vertexai import _VertexAICommon diff --git a/libs/langchain/langchain/evaluation/agents/trajectory_eval_chain.py b/libs/langchain/langchain/evaluation/agents/trajectory_eval_chain.py index 55d0ac1fb..39e4d8fe1 100644 --- a/libs/langchain/langchain/evaluation/agents/trajectory_eval_chain.py +++ b/libs/langchain/langchain/evaluation/agents/trajectory_eval_chain.py @@ -18,7 +18,7 @@ from typing import ( cast, ) -from pydantic import Extra, Field +from pydantic_v1 import Extra, Field from langchain.callbacks.manager import ( AsyncCallbackManagerForChainRun, diff --git a/libs/langchain/langchain/evaluation/comparison/eval_chain.py b/libs/langchain/langchain/evaluation/comparison/eval_chain.py index 3ca215324..795f6760e 100644 --- a/libs/langchain/langchain/evaluation/comparison/eval_chain.py +++ b/libs/langchain/langchain/evaluation/comparison/eval_chain.py @@ -3,7 +3,7 @@ from __future__ import annotations from typing import Any, Dict, List, Optional, Union -from pydantic import Extra, Field +from pydantic_v1 import Extra, Field from langchain.callbacks.manager import Callbacks from langchain.chains.constitutional_ai.models import ConstitutionalPrinciple diff --git a/libs/langchain/langchain/evaluation/criteria/eval_chain.py b/libs/langchain/langchain/evaluation/criteria/eval_chain.py index 09359cf79..99fd0226d 100644 --- a/libs/langchain/langchain/evaluation/criteria/eval_chain.py +++ b/libs/langchain/langchain/evaluation/criteria/eval_chain.py @@ -3,7 +3,7 @@ from __future__ import annotations from enum import Enum from typing import Any, Dict, List, Mapping, Optional, Union -from pydantic import Extra, Field +from pydantic_v1 import Extra, Field from langchain.callbacks.manager import Callbacks from langchain.chains.constitutional_ai.models import ConstitutionalPrinciple diff --git a/libs/langchain/langchain/evaluation/embedding_distance/base.py b/libs/langchain/langchain/evaluation/embedding_distance/base.py index 3591f45d8..4c426f06c 100644 --- a/libs/langchain/langchain/evaluation/embedding_distance/base.py +++ b/libs/langchain/langchain/evaluation/embedding_distance/base.py @@ -3,7 +3,7 @@ from enum import Enum from typing import Any, Dict, List, Optional import numpy as np -from pydantic import Field, root_validator +from pydantic_v1 import Field, root_validator from langchain.callbacks.manager import ( AsyncCallbackManagerForChainRun, diff --git a/libs/langchain/langchain/evaluation/qa/eval_chain.py b/libs/langchain/langchain/evaluation/qa/eval_chain.py index 90b5e8d5d..4190dee0d 100644 --- a/libs/langchain/langchain/evaluation/qa/eval_chain.py +++ b/libs/langchain/langchain/evaluation/qa/eval_chain.py @@ -4,7 +4,7 @@ from __future__ import annotations import re from typing import Any, List, Optional, Sequence -from pydantic import Extra +from pydantic_v1 import Extra from langchain import PromptTemplate from langchain.callbacks.manager import Callbacks diff --git a/libs/langchain/langchain/evaluation/qa/generate_chain.py b/libs/langchain/langchain/evaluation/qa/generate_chain.py index 7891ccccb..595ed4af0 100644 --- a/libs/langchain/langchain/evaluation/qa/generate_chain.py +++ b/libs/langchain/langchain/evaluation/qa/generate_chain.py @@ -3,7 +3,7 @@ from __future__ import annotations from typing import Any -from pydantic import Field +from pydantic_v1 import Field from langchain.chains.llm import LLMChain from langchain.evaluation.qa.generate_prompt import PROMPT diff --git a/libs/langchain/langchain/evaluation/string_distance/base.py b/libs/langchain/langchain/evaluation/string_distance/base.py index 57f2958fe..57e37be7e 100644 --- a/libs/langchain/langchain/evaluation/string_distance/base.py +++ b/libs/langchain/langchain/evaluation/string_distance/base.py @@ -3,7 +3,7 @@ from enum import Enum from typing import Any, Callable, Dict, List, Optional -from pydantic import Field, root_validator +from pydantic_v1 import Field, root_validator from langchain.callbacks.manager import ( AsyncCallbackManagerForChainRun, diff --git a/libs/langchain/langchain/indexes/graph.py b/libs/langchain/langchain/indexes/graph.py index 64536e003..e1b01c112 100644 --- a/libs/langchain/langchain/indexes/graph.py +++ b/libs/langchain/langchain/indexes/graph.py @@ -1,7 +1,7 @@ """Graph Index Creator.""" from typing import Optional, Type -from pydantic import BaseModel +from pydantic_v1 import BaseModel from langchain import BasePromptTemplate from langchain.chains.llm import LLMChain diff --git a/libs/langchain/langchain/indexes/vectorstore.py b/libs/langchain/langchain/indexes/vectorstore.py index c9229f9d7..3cdc48172 100644 --- a/libs/langchain/langchain/indexes/vectorstore.py +++ b/libs/langchain/langchain/indexes/vectorstore.py @@ -1,6 +1,6 @@ from typing import Any, Dict, List, Optional, Type -from pydantic import BaseModel, Extra, Field +from pydantic_v1 import BaseModel, Extra, Field from langchain.chains.qa_with_sources.retrieval import RetrievalQAWithSourcesChain from langchain.chains.retrieval_qa.base import RetrievalQA diff --git a/libs/langchain/langchain/llms/ai21.py b/libs/langchain/langchain/llms/ai21.py index 5d2562a6a..1502a4735 100644 --- a/libs/langchain/langchain/llms/ai21.py +++ b/libs/langchain/langchain/llms/ai21.py @@ -1,7 +1,7 @@ from typing import Any, Dict, List, Optional import requests -from pydantic import BaseModel, Extra, root_validator +from pydantic_v1 import BaseModel, Extra, root_validator from langchain.callbacks.manager import CallbackManagerForLLMRun from langchain.llms.base import LLM diff --git a/libs/langchain/langchain/llms/aleph_alpha.py b/libs/langchain/langchain/llms/aleph_alpha.py index 1df17c3a8..c3c950263 100644 --- a/libs/langchain/langchain/llms/aleph_alpha.py +++ b/libs/langchain/langchain/llms/aleph_alpha.py @@ -1,6 +1,6 @@ from typing import Any, Dict, List, Optional, Sequence -from pydantic import Extra, root_validator +from pydantic_v1 import Extra, root_validator from langchain.callbacks.manager import CallbackManagerForLLMRun from langchain.llms.base import LLM diff --git a/libs/langchain/langchain/llms/amazon_api_gateway.py b/libs/langchain/langchain/llms/amazon_api_gateway.py index 1ba81c118..766649174 100644 --- a/libs/langchain/langchain/llms/amazon_api_gateway.py +++ b/libs/langchain/langchain/llms/amazon_api_gateway.py @@ -1,7 +1,7 @@ from typing import Any, Dict, List, Mapping, Optional import requests -from pydantic import Extra +from pydantic_v1 import Extra from langchain.callbacks.manager import CallbackManagerForLLMRun from langchain.llms.base import LLM diff --git a/libs/langchain/langchain/llms/anthropic.py b/libs/langchain/langchain/llms/anthropic.py index 5e5695762..93d8fb737 100644 --- a/libs/langchain/langchain/llms/anthropic.py +++ b/libs/langchain/langchain/llms/anthropic.py @@ -2,7 +2,7 @@ import re import warnings from typing import Any, AsyncIterator, Callable, Dict, Iterator, List, Mapping, Optional -from pydantic import Field, root_validator +from pydantic_v1 import Field, root_validator from langchain.callbacks.manager import ( AsyncCallbackManagerForLLMRun, diff --git a/libs/langchain/langchain/llms/anyscale.py b/libs/langchain/langchain/llms/anyscale.py index 5a440b97d..85e33ed4e 100644 --- a/libs/langchain/langchain/llms/anyscale.py +++ b/libs/langchain/langchain/llms/anyscale.py @@ -1,7 +1,7 @@ from typing import Any, Dict, List, Mapping, Optional import requests -from pydantic import Extra, root_validator +from pydantic_v1 import Extra, root_validator from langchain.callbacks.manager import CallbackManagerForLLMRun from langchain.llms.base import LLM diff --git a/libs/langchain/langchain/llms/aviary.py b/libs/langchain/langchain/llms/aviary.py index 5e2a38cf7..96780b651 100644 --- a/libs/langchain/langchain/llms/aviary.py +++ b/libs/langchain/langchain/llms/aviary.py @@ -3,7 +3,7 @@ import os from typing import Any, Dict, List, Mapping, Optional, Union, cast import requests -from pydantic import Extra, root_validator +from pydantic_v1 import Extra, root_validator from langchain.callbacks.manager import CallbackManagerForLLMRun from langchain.llms.base import LLM diff --git a/libs/langchain/langchain/llms/azureml_endpoint.py b/libs/langchain/langchain/llms/azureml_endpoint.py index 7432e79e8..5bf5ba6c2 100644 --- a/libs/langchain/langchain/llms/azureml_endpoint.py +++ b/libs/langchain/langchain/llms/azureml_endpoint.py @@ -4,7 +4,7 @@ import warnings from abc import abstractmethod from typing import Any, Dict, List, Mapping, Optional -from pydantic import BaseModel, validator +from pydantic_v1 import BaseModel, validator from langchain.callbacks.manager import CallbackManagerForLLMRun from langchain.llms.base import LLM diff --git a/libs/langchain/langchain/llms/bananadev.py b/libs/langchain/langchain/llms/bananadev.py index 76dcb7b8a..24d5cc839 100644 --- a/libs/langchain/langchain/llms/bananadev.py +++ b/libs/langchain/langchain/llms/bananadev.py @@ -1,7 +1,7 @@ import logging from typing import Any, Dict, List, Mapping, Optional -from pydantic import Extra, Field, root_validator +from pydantic_v1 import Extra, Field, root_validator from langchain.callbacks.manager import CallbackManagerForLLMRun from langchain.llms.base import LLM diff --git a/libs/langchain/langchain/llms/base.py b/libs/langchain/langchain/llms/base.py index 3fa006ea7..b30afe855 100644 --- a/libs/langchain/langchain/llms/base.py +++ b/libs/langchain/langchain/llms/base.py @@ -27,7 +27,7 @@ from typing import ( ) import yaml -from pydantic import Field, root_validator, validator +from pydantic_v1 import Field, root_validator, validator from tenacity import ( RetryCallState, before_sleep_log, diff --git a/libs/langchain/langchain/llms/baseten.py b/libs/langchain/langchain/llms/baseten.py index d07fd6336..1ce71ed41 100644 --- a/libs/langchain/langchain/llms/baseten.py +++ b/libs/langchain/langchain/llms/baseten.py @@ -1,7 +1,7 @@ import logging from typing import Any, Dict, List, Mapping, Optional -from pydantic import Field +from pydantic_v1 import Field from langchain.callbacks.manager import CallbackManagerForLLMRun from langchain.llms.base import LLM diff --git a/libs/langchain/langchain/llms/beam.py b/libs/langchain/langchain/llms/beam.py index 47bc017da..82670491a 100644 --- a/libs/langchain/langchain/llms/beam.py +++ b/libs/langchain/langchain/llms/beam.py @@ -7,7 +7,7 @@ import time from typing import Any, Dict, List, Mapping, Optional import requests -from pydantic import Extra, Field, root_validator +from pydantic_v1 import Extra, Field, root_validator from langchain.callbacks.manager import CallbackManagerForLLMRun from langchain.llms.base import LLM diff --git a/libs/langchain/langchain/llms/bedrock.py b/libs/langchain/langchain/llms/bedrock.py index 481de7f56..6bfc2ffc8 100644 --- a/libs/langchain/langchain/llms/bedrock.py +++ b/libs/langchain/langchain/llms/bedrock.py @@ -1,7 +1,7 @@ import json from typing import Any, Dict, List, Mapping, Optional -from pydantic import Extra, root_validator +from pydantic_v1 import Extra, root_validator from langchain.callbacks.manager import CallbackManagerForLLMRun from langchain.llms.base import LLM diff --git a/libs/langchain/langchain/llms/cerebriumai.py b/libs/langchain/langchain/llms/cerebriumai.py index 02db1cf33..b08aa4277 100644 --- a/libs/langchain/langchain/llms/cerebriumai.py +++ b/libs/langchain/langchain/llms/cerebriumai.py @@ -1,7 +1,7 @@ import logging from typing import Any, Dict, List, Mapping, Optional -from pydantic import Extra, Field, root_validator +from pydantic_v1 import Extra, Field, root_validator from langchain.callbacks.manager import CallbackManagerForLLMRun from langchain.llms.base import LLM diff --git a/libs/langchain/langchain/llms/clarifai.py b/libs/langchain/langchain/llms/clarifai.py index 2eead8359..edfc7d739 100644 --- a/libs/langchain/langchain/llms/clarifai.py +++ b/libs/langchain/langchain/llms/clarifai.py @@ -1,7 +1,7 @@ import logging from typing import Any, Dict, List, Optional -from pydantic import Extra, root_validator +from pydantic_v1 import Extra, root_validator from langchain.callbacks.manager import CallbackManagerForLLMRun from langchain.llms.base import LLM diff --git a/libs/langchain/langchain/llms/cohere.py b/libs/langchain/langchain/llms/cohere.py index bad5a1565..f57300ac1 100644 --- a/libs/langchain/langchain/llms/cohere.py +++ b/libs/langchain/langchain/llms/cohere.py @@ -3,7 +3,7 @@ from __future__ import annotations import logging from typing import Any, Callable, Dict, List, Optional -from pydantic import Extra, root_validator +from pydantic_v1 import Extra, root_validator from tenacity import ( before_sleep_log, retry, diff --git a/libs/langchain/langchain/llms/ctransformers.py b/libs/langchain/langchain/llms/ctransformers.py index 86c657f61..af071d5ce 100644 --- a/libs/langchain/langchain/llms/ctransformers.py +++ b/libs/langchain/langchain/llms/ctransformers.py @@ -1,7 +1,7 @@ from functools import partial from typing import Any, Dict, List, Optional, Sequence -from pydantic import root_validator +from pydantic_v1 import root_validator from langchain.callbacks.manager import ( AsyncCallbackManagerForLLMRun, diff --git a/libs/langchain/langchain/llms/databricks.py b/libs/langchain/langchain/llms/databricks.py index 6ed2a6fa7..b88e6f86c 100644 --- a/libs/langchain/langchain/llms/databricks.py +++ b/libs/langchain/langchain/llms/databricks.py @@ -3,7 +3,7 @@ from abc import ABC, abstractmethod from typing import Any, Callable, Dict, List, Optional import requests -from pydantic import BaseModel, Extra, Field, PrivateAttr, root_validator, validator +from pydantic_v1 import BaseModel, Extra, Field, PrivateAttr, root_validator, validator from langchain.callbacks.manager import CallbackManagerForLLMRun from langchain.llms.base import LLM diff --git a/libs/langchain/langchain/llms/deepinfra.py b/libs/langchain/langchain/llms/deepinfra.py index 533c23628..9d763eff2 100644 --- a/libs/langchain/langchain/llms/deepinfra.py +++ b/libs/langchain/langchain/llms/deepinfra.py @@ -1,7 +1,7 @@ from typing import Any, Dict, List, Mapping, Optional import requests -from pydantic import Extra, root_validator +from pydantic_v1 import Extra, root_validator from langchain.callbacks.manager import CallbackManagerForLLMRun from langchain.llms.base import LLM diff --git a/libs/langchain/langchain/llms/edenai.py b/libs/langchain/langchain/llms/edenai.py index 6b0f365b6..f3dcc0209 100644 --- a/libs/langchain/langchain/llms/edenai.py +++ b/libs/langchain/langchain/llms/edenai.py @@ -3,7 +3,7 @@ import logging from typing import Any, Dict, List, Literal, Optional from aiohttp import ClientSession -from pydantic import Extra, Field, root_validator +from pydantic_v1 import Extra, Field, root_validator from langchain.callbacks.manager import ( AsyncCallbackManagerForLLMRun, diff --git a/libs/langchain/langchain/llms/fireworks.py b/libs/langchain/langchain/llms/fireworks.py index 941cfb62c..fb9eb2782 100644 --- a/libs/langchain/langchain/llms/fireworks.py +++ b/libs/langchain/langchain/llms/fireworks.py @@ -12,7 +12,7 @@ from typing import ( ) import requests -from pydantic import Field, root_validator +from pydantic_v1 import Field, root_validator from langchain.callbacks.manager import ( AsyncCallbackManagerForLLMRun, diff --git a/libs/langchain/langchain/llms/forefrontai.py b/libs/langchain/langchain/llms/forefrontai.py index b6c70d5c4..c7ff6dee3 100644 --- a/libs/langchain/langchain/llms/forefrontai.py +++ b/libs/langchain/langchain/llms/forefrontai.py @@ -1,7 +1,7 @@ from typing import Any, Dict, List, Mapping, Optional import requests -from pydantic import Extra, root_validator +from pydantic_v1 import Extra, root_validator from langchain.callbacks.manager import CallbackManagerForLLMRun from langchain.llms.base import LLM diff --git a/libs/langchain/langchain/llms/google_palm.py b/libs/langchain/langchain/llms/google_palm.py index 8f45950a2..df5dcd351 100644 --- a/libs/langchain/langchain/llms/google_palm.py +++ b/libs/langchain/langchain/llms/google_palm.py @@ -3,7 +3,7 @@ from __future__ import annotations import logging from typing import Any, Callable, Dict, List, Optional -from pydantic import BaseModel, root_validator +from pydantic_v1 import BaseModel, root_validator from tenacity import ( before_sleep_log, retry, diff --git a/libs/langchain/langchain/llms/gooseai.py b/libs/langchain/langchain/llms/gooseai.py index cde043ce2..8259bdc03 100644 --- a/libs/langchain/langchain/llms/gooseai.py +++ b/libs/langchain/langchain/llms/gooseai.py @@ -1,7 +1,7 @@ import logging from typing import Any, Dict, List, Mapping, Optional -from pydantic import Extra, Field, root_validator +from pydantic_v1 import Extra, Field, root_validator from langchain.callbacks.manager import CallbackManagerForLLMRun from langchain.llms.base import LLM diff --git a/libs/langchain/langchain/llms/gpt4all.py b/libs/langchain/langchain/llms/gpt4all.py index c88374c1c..2239beaba 100644 --- a/libs/langchain/langchain/llms/gpt4all.py +++ b/libs/langchain/langchain/llms/gpt4all.py @@ -1,7 +1,7 @@ from functools import partial from typing import Any, Dict, List, Mapping, Optional, Set -from pydantic import Extra, Field, root_validator +from pydantic_v1 import Extra, Field, root_validator from langchain.callbacks.manager import CallbackManagerForLLMRun from langchain.llms.base import LLM diff --git a/libs/langchain/langchain/llms/huggingface_endpoint.py b/libs/langchain/langchain/llms/huggingface_endpoint.py index ff38a2025..f9e88f372 100644 --- a/libs/langchain/langchain/llms/huggingface_endpoint.py +++ b/libs/langchain/langchain/llms/huggingface_endpoint.py @@ -1,7 +1,7 @@ from typing import Any, Dict, List, Mapping, Optional import requests -from pydantic import Extra, root_validator +from pydantic_v1 import Extra, root_validator from langchain.callbacks.manager import CallbackManagerForLLMRun from langchain.llms.base import LLM diff --git a/libs/langchain/langchain/llms/huggingface_hub.py b/libs/langchain/langchain/llms/huggingface_hub.py index 745f0fdcc..ef2fac090 100644 --- a/libs/langchain/langchain/llms/huggingface_hub.py +++ b/libs/langchain/langchain/llms/huggingface_hub.py @@ -1,6 +1,6 @@ from typing import Any, Dict, List, Mapping, Optional -from pydantic import Extra, root_validator +from pydantic_v1 import Extra, root_validator from langchain.callbacks.manager import CallbackManagerForLLMRun from langchain.llms.base import LLM diff --git a/libs/langchain/langchain/llms/huggingface_pipeline.py b/libs/langchain/langchain/llms/huggingface_pipeline.py index ef7d42894..18910c4c5 100644 --- a/libs/langchain/langchain/llms/huggingface_pipeline.py +++ b/libs/langchain/langchain/llms/huggingface_pipeline.py @@ -2,7 +2,7 @@ import importlib.util import logging from typing import Any, List, Mapping, Optional -from pydantic import Extra +from pydantic_v1 import Extra from langchain.callbacks.manager import CallbackManagerForLLMRun from langchain.llms.base import LLM diff --git a/libs/langchain/langchain/llms/huggingface_text_gen_inference.py b/libs/langchain/langchain/llms/huggingface_text_gen_inference.py index befe81348..08d2f0c8f 100644 --- a/libs/langchain/langchain/llms/huggingface_text_gen_inference.py +++ b/libs/langchain/langchain/llms/huggingface_text_gen_inference.py @@ -1,6 +1,6 @@ from typing import Any, AsyncIterator, Dict, Iterator, List, Optional -from pydantic import Extra, Field, root_validator +from pydantic_v1 import Extra, Field, root_validator from langchain.callbacks.manager import ( AsyncCallbackManagerForLLMRun, diff --git a/libs/langchain/langchain/llms/human.py b/libs/langchain/langchain/llms/human.py index 87ce68f15..ac6206f94 100644 --- a/libs/langchain/langchain/llms/human.py +++ b/libs/langchain/langchain/llms/human.py @@ -1,6 +1,6 @@ from typing import Any, Callable, List, Mapping, Optional -from pydantic import Field +from pydantic_v1 import Field from langchain.callbacks.manager import CallbackManagerForLLMRun from langchain.llms.base import LLM diff --git a/libs/langchain/langchain/llms/llamacpp.py b/libs/langchain/langchain/llms/llamacpp.py index 518206462..26f02f34c 100644 --- a/libs/langchain/langchain/llms/llamacpp.py +++ b/libs/langchain/langchain/llms/llamacpp.py @@ -1,7 +1,7 @@ import logging from typing import Any, Dict, Iterator, List, Optional -from pydantic import Field, root_validator +from pydantic_v1 import Field, root_validator from langchain.callbacks.manager import CallbackManagerForLLMRun from langchain.llms.base import LLM diff --git a/libs/langchain/langchain/llms/manifest.py b/libs/langchain/langchain/llms/manifest.py index 71a89ed00..9527e609a 100644 --- a/libs/langchain/langchain/llms/manifest.py +++ b/libs/langchain/langchain/llms/manifest.py @@ -1,6 +1,6 @@ from typing import Any, Dict, List, Mapping, Optional -from pydantic import Extra, root_validator +from pydantic_v1 import Extra, root_validator from langchain.callbacks.manager import CallbackManagerForLLMRun from langchain.llms.base import LLM diff --git a/libs/langchain/langchain/llms/minimax.py b/libs/langchain/langchain/llms/minimax.py index dfcc3c656..f723e94da 100644 --- a/libs/langchain/langchain/llms/minimax.py +++ b/libs/langchain/langchain/llms/minimax.py @@ -10,7 +10,7 @@ from typing import ( ) import requests -from pydantic import BaseModel, Extra, Field, PrivateAttr, root_validator +from pydantic_v1 import BaseModel, Extra, Field, PrivateAttr, root_validator from langchain.callbacks.manager import ( CallbackManagerForLLMRun, diff --git a/libs/langchain/langchain/llms/mlflow_ai_gateway.py b/libs/langchain/langchain/llms/mlflow_ai_gateway.py index da20a6297..59def90b5 100644 --- a/libs/langchain/langchain/llms/mlflow_ai_gateway.py +++ b/libs/langchain/langchain/llms/mlflow_ai_gateway.py @@ -2,13 +2,15 @@ from __future__ import annotations from typing import Any, Dict, List, Mapping, Optional -from pydantic import BaseModel, Extra +from pydantic_v1 import BaseModel, Extra from langchain.callbacks.manager import CallbackManagerForLLMRun from langchain.llms.base import LLM -class Params(BaseModel, extra=Extra.allow): +# Ignoring type because below is valid pydantic code +# Unexpected keyword argument "extra" for "__init_subclass__" of "object" +class Params(BaseModel, extra=Extra.allow): # type: ignore[call-arg] """Parameters for the MLflow AI Gateway LLM.""" temperature: float = 0.0 diff --git a/libs/langchain/langchain/llms/modal.py b/libs/langchain/langchain/llms/modal.py index bf03947bc..e4ae2f417 100644 --- a/libs/langchain/langchain/llms/modal.py +++ b/libs/langchain/langchain/llms/modal.py @@ -2,7 +2,7 @@ import logging from typing import Any, Dict, List, Mapping, Optional import requests -from pydantic import Extra, Field, root_validator +from pydantic_v1 import Extra, Field, root_validator from langchain.callbacks.manager import CallbackManagerForLLMRun from langchain.llms.base import LLM diff --git a/libs/langchain/langchain/llms/mosaicml.py b/libs/langchain/langchain/llms/mosaicml.py index 226b5c3b8..615a23df9 100644 --- a/libs/langchain/langchain/llms/mosaicml.py +++ b/libs/langchain/langchain/llms/mosaicml.py @@ -1,7 +1,7 @@ from typing import Any, Dict, List, Mapping, Optional import requests -from pydantic import Extra, root_validator +from pydantic_v1 import Extra, root_validator from langchain.callbacks.manager import CallbackManagerForLLMRun from langchain.llms.base import LLM diff --git a/libs/langchain/langchain/llms/nlpcloud.py b/libs/langchain/langchain/llms/nlpcloud.py index 9e5070acf..ec56b4458 100644 --- a/libs/langchain/langchain/llms/nlpcloud.py +++ b/libs/langchain/langchain/llms/nlpcloud.py @@ -1,6 +1,6 @@ from typing import Any, Dict, List, Mapping, Optional -from pydantic import Extra, root_validator +from pydantic_v1 import Extra, root_validator from langchain.callbacks.manager import CallbackManagerForLLMRun from langchain.llms.base import LLM diff --git a/libs/langchain/langchain/llms/octoai_endpoint.py b/libs/langchain/langchain/llms/octoai_endpoint.py index 46c88d51a..76519ed70 100644 --- a/libs/langchain/langchain/llms/octoai_endpoint.py +++ b/libs/langchain/langchain/llms/octoai_endpoint.py @@ -1,6 +1,6 @@ from typing import Any, Dict, List, Mapping, Optional -from pydantic import Extra, root_validator +from pydantic_v1 import Extra, root_validator from langchain.callbacks.manager import CallbackManagerForLLMRun from langchain.llms.base import LLM diff --git a/libs/langchain/langchain/llms/ollama.py b/libs/langchain/langchain/llms/ollama.py index 8adbfd997..5be1c3847 100644 --- a/libs/langchain/langchain/llms/ollama.py +++ b/libs/langchain/langchain/llms/ollama.py @@ -2,7 +2,7 @@ import json from typing import Any, Dict, Iterator, List, Mapping, Optional import requests -from pydantic import Extra +from pydantic_v1 import Extra from langchain.callbacks.manager import CallbackManagerForLLMRun from langchain.llms.base import BaseLLM diff --git a/libs/langchain/langchain/llms/openai.py b/libs/langchain/langchain/llms/openai.py index 082067615..2d368737e 100644 --- a/libs/langchain/langchain/llms/openai.py +++ b/libs/langchain/langchain/llms/openai.py @@ -20,7 +20,7 @@ from typing import ( Union, ) -from pydantic import Field, root_validator +from pydantic_v1 import Field, root_validator from langchain.callbacks.manager import ( AsyncCallbackManagerForLLMRun, diff --git a/libs/langchain/langchain/llms/openllm.py b/libs/langchain/langchain/llms/openllm.py index 62b1dde03..c478ff047 100644 --- a/libs/langchain/langchain/llms/openllm.py +++ b/libs/langchain/langchain/llms/openllm.py @@ -15,7 +15,7 @@ from typing import ( overload, ) -from pydantic import PrivateAttr +from pydantic_v1 import PrivateAttr from langchain.callbacks.manager import ( AsyncCallbackManagerForLLMRun, diff --git a/libs/langchain/langchain/llms/openlm.py b/libs/langchain/langchain/llms/openlm.py index c77badaa3..2192901c7 100644 --- a/libs/langchain/langchain/llms/openlm.py +++ b/libs/langchain/langchain/llms/openlm.py @@ -1,6 +1,6 @@ from typing import Any, Dict -from pydantic import root_validator +from pydantic_v1 import root_validator from langchain.llms.openai import BaseOpenAI diff --git a/libs/langchain/langchain/llms/petals.py b/libs/langchain/langchain/llms/petals.py index 1b74734cd..f3c02900a 100644 --- a/libs/langchain/langchain/llms/petals.py +++ b/libs/langchain/langchain/llms/petals.py @@ -1,7 +1,7 @@ import logging from typing import Any, Dict, List, Mapping, Optional -from pydantic import Extra, Field, root_validator +from pydantic_v1 import Extra, Field, root_validator from langchain.callbacks.manager import CallbackManagerForLLMRun from langchain.llms.base import LLM diff --git a/libs/langchain/langchain/llms/pipelineai.py b/libs/langchain/langchain/llms/pipelineai.py index b145cc494..52591db84 100644 --- a/libs/langchain/langchain/llms/pipelineai.py +++ b/libs/langchain/langchain/llms/pipelineai.py @@ -1,7 +1,7 @@ import logging from typing import Any, Dict, List, Mapping, Optional -from pydantic import BaseModel, Extra, Field, root_validator +from pydantic_v1 import BaseModel, Extra, Field, root_validator from langchain.callbacks.manager import CallbackManagerForLLMRun from langchain.llms.base import LLM diff --git a/libs/langchain/langchain/llms/predibase.py b/libs/langchain/langchain/llms/predibase.py index 0ab549236..4c3a0c8a8 100644 --- a/libs/langchain/langchain/llms/predibase.py +++ b/libs/langchain/langchain/llms/predibase.py @@ -1,6 +1,6 @@ from typing import Any, Dict, List, Mapping, Optional -from pydantic import Field +from pydantic_v1 import Field from langchain.callbacks.manager import CallbackManagerForLLMRun from langchain.llms.base import LLM diff --git a/libs/langchain/langchain/llms/predictionguard.py b/libs/langchain/langchain/llms/predictionguard.py index f91541508..f116b54d8 100644 --- a/libs/langchain/langchain/llms/predictionguard.py +++ b/libs/langchain/langchain/llms/predictionguard.py @@ -1,7 +1,7 @@ import logging from typing import Any, Dict, List, Optional -from pydantic import Extra, root_validator +from pydantic_v1 import Extra, root_validator from langchain.callbacks.manager import CallbackManagerForLLMRun from langchain.llms.base import LLM diff --git a/libs/langchain/langchain/llms/replicate.py b/libs/langchain/langchain/llms/replicate.py index c8706a6f8..e2abf64e5 100644 --- a/libs/langchain/langchain/llms/replicate.py +++ b/libs/langchain/langchain/llms/replicate.py @@ -1,7 +1,7 @@ import logging from typing import Any, Dict, List, Mapping, Optional -from pydantic import Extra, Field, root_validator +from pydantic_v1 import Extra, Field, root_validator from langchain.callbacks.manager import CallbackManagerForLLMRun from langchain.llms.base import LLM diff --git a/libs/langchain/langchain/llms/rwkv.py b/libs/langchain/langchain/llms/rwkv.py index 6b717d4a1..b3530250d 100644 --- a/libs/langchain/langchain/llms/rwkv.py +++ b/libs/langchain/langchain/llms/rwkv.py @@ -5,7 +5,7 @@ Based on https://github.com/saharNooby/rwkv.cpp/blob/master/rwkv/chat_with_bot.p """ from typing import Any, Dict, List, Mapping, Optional, Set -from pydantic import BaseModel, Extra, root_validator +from pydantic_v1 import BaseModel, Extra, root_validator from langchain.callbacks.manager import CallbackManagerForLLMRun from langchain.llms.base import LLM diff --git a/libs/langchain/langchain/llms/sagemaker_endpoint.py b/libs/langchain/langchain/llms/sagemaker_endpoint.py index 1e2843568..a122aafb5 100644 --- a/libs/langchain/langchain/llms/sagemaker_endpoint.py +++ b/libs/langchain/langchain/llms/sagemaker_endpoint.py @@ -2,7 +2,7 @@ from abc import abstractmethod from typing import Any, Dict, Generic, List, Mapping, Optional, TypeVar, Union -from pydantic import Extra, root_validator +from pydantic_v1 import Extra, root_validator from langchain.callbacks.manager import CallbackManagerForLLMRun from langchain.llms.base import LLM diff --git a/libs/langchain/langchain/llms/self_hosted.py b/libs/langchain/langchain/llms/self_hosted.py index 42d45c9c5..a4ca677c0 100644 --- a/libs/langchain/langchain/llms/self_hosted.py +++ b/libs/langchain/langchain/llms/self_hosted.py @@ -3,7 +3,7 @@ import logging import pickle from typing import Any, Callable, List, Mapping, Optional -from pydantic import Extra +from pydantic_v1 import Extra from langchain.callbacks.manager import CallbackManagerForLLMRun from langchain.llms.base import LLM diff --git a/libs/langchain/langchain/llms/self_hosted_hugging_face.py b/libs/langchain/langchain/llms/self_hosted_hugging_face.py index 2e55aaf1d..06b54198f 100644 --- a/libs/langchain/langchain/llms/self_hosted_hugging_face.py +++ b/libs/langchain/langchain/llms/self_hosted_hugging_face.py @@ -2,7 +2,7 @@ import importlib.util import logging from typing import Any, Callable, List, Mapping, Optional -from pydantic import Extra +from pydantic_v1 import Extra from langchain.callbacks.manager import CallbackManagerForLLMRun from langchain.llms.self_hosted import SelfHostedPipeline diff --git a/libs/langchain/langchain/llms/stochasticai.py b/libs/langchain/langchain/llms/stochasticai.py index 391d9e8c4..b6e4c37ed 100644 --- a/libs/langchain/langchain/llms/stochasticai.py +++ b/libs/langchain/langchain/llms/stochasticai.py @@ -3,7 +3,7 @@ import time from typing import Any, Dict, List, Mapping, Optional import requests -from pydantic import Extra, Field, root_validator +from pydantic_v1 import Extra, Field, root_validator from langchain.callbacks.manager import CallbackManagerForLLMRun from langchain.llms.base import LLM diff --git a/libs/langchain/langchain/llms/symblai_nebula.py b/libs/langchain/langchain/llms/symblai_nebula.py index cec64b551..892269abc 100644 --- a/libs/langchain/langchain/llms/symblai_nebula.py +++ b/libs/langchain/langchain/llms/symblai_nebula.py @@ -2,7 +2,7 @@ import logging from typing import Any, Dict, List, Mapping, Optional import requests -from pydantic import Extra, root_validator +from pydantic_v1 import Extra, root_validator from langchain.callbacks.manager import CallbackManagerForLLMRun from langchain.llms.base import LLM diff --git a/libs/langchain/langchain/llms/textgen.py b/libs/langchain/langchain/llms/textgen.py index 4e4880b82..dc93d88cc 100644 --- a/libs/langchain/langchain/llms/textgen.py +++ b/libs/langchain/langchain/llms/textgen.py @@ -2,7 +2,7 @@ import logging from typing import Any, Dict, List, Optional import requests -from pydantic import Field +from pydantic_v1 import Field from langchain.callbacks.manager import CallbackManagerForLLMRun from langchain.llms.base import LLM diff --git a/libs/langchain/langchain/llms/tongyi.py b/libs/langchain/langchain/llms/tongyi.py index 57973861b..e2b9943f4 100644 --- a/libs/langchain/langchain/llms/tongyi.py +++ b/libs/langchain/langchain/llms/tongyi.py @@ -3,7 +3,7 @@ from __future__ import annotations import logging from typing import Any, Callable, Dict, List, Optional -from pydantic import Field, root_validator +from pydantic_v1 import Field, root_validator from requests.exceptions import HTTPError from tenacity import ( before_sleep_log, diff --git a/libs/langchain/langchain/llms/vertexai.py b/libs/langchain/langchain/llms/vertexai.py index 35fa57346..5a5f037b8 100644 --- a/libs/langchain/langchain/llms/vertexai.py +++ b/libs/langchain/langchain/llms/vertexai.py @@ -4,7 +4,7 @@ import asyncio from concurrent.futures import Executor, ThreadPoolExecutor from typing import TYPE_CHECKING, Any, Callable, ClassVar, Dict, List, Optional -from pydantic import BaseModel, root_validator +from pydantic_v1 import BaseModel, root_validator from langchain.callbacks.manager import ( AsyncCallbackManagerForLLMRun, diff --git a/libs/langchain/langchain/llms/vllm.py b/libs/langchain/langchain/llms/vllm.py index 61fa5e666..e7a0b0c36 100644 --- a/libs/langchain/langchain/llms/vllm.py +++ b/libs/langchain/langchain/llms/vllm.py @@ -1,6 +1,6 @@ from typing import Any, Dict, List, Optional -from pydantic import root_validator +from pydantic_v1 import root_validator from langchain.callbacks.manager import CallbackManagerForLLMRun from langchain.llms.base import BaseLLM diff --git a/libs/langchain/langchain/llms/writer.py b/libs/langchain/langchain/llms/writer.py index 546d09b04..308ccc30b 100644 --- a/libs/langchain/langchain/llms/writer.py +++ b/libs/langchain/langchain/llms/writer.py @@ -1,7 +1,7 @@ from typing import Any, Dict, List, Mapping, Optional import requests -from pydantic import Extra, root_validator +from pydantic_v1 import Extra, root_validator from langchain.callbacks.manager import CallbackManagerForLLMRun from langchain.llms.base import LLM diff --git a/libs/langchain/langchain/load/serializable.py b/libs/langchain/langchain/load/serializable.py index 8f0e5ccf8..76352e287 100644 --- a/libs/langchain/langchain/load/serializable.py +++ b/libs/langchain/langchain/load/serializable.py @@ -1,7 +1,7 @@ from abc import ABC from typing import Any, Dict, List, Literal, TypedDict, Union, cast -from pydantic import BaseModel, PrivateAttr +from pydantic_v1 import BaseModel, PrivateAttr class BaseSerialized(TypedDict): diff --git a/libs/langchain/langchain/memory/buffer.py b/libs/langchain/langchain/memory/buffer.py index 3809577d0..b35373749 100644 --- a/libs/langchain/langchain/memory/buffer.py +++ b/libs/langchain/langchain/memory/buffer.py @@ -1,6 +1,6 @@ from typing import Any, Dict, List, Optional -from pydantic import root_validator +from pydantic_v1 import root_validator from langchain.memory.chat_memory import BaseChatMemory, BaseMemory from langchain.memory.utils import get_prompt_input_key diff --git a/libs/langchain/langchain/memory/chat_memory.py b/libs/langchain/langchain/memory/chat_memory.py index e322c6ddb..0e2ef543e 100644 --- a/libs/langchain/langchain/memory/chat_memory.py +++ b/libs/langchain/langchain/memory/chat_memory.py @@ -1,7 +1,7 @@ from abc import ABC from typing import Any, Dict, Optional, Tuple -from pydantic import Field +from pydantic_v1 import Field from langchain.memory.chat_message_histories.in_memory import ChatMessageHistory from langchain.memory.utils import get_prompt_input_key diff --git a/libs/langchain/langchain/memory/chat_message_histories/in_memory.py b/libs/langchain/langchain/memory/chat_message_histories/in_memory.py index 38aea5a39..19ae89105 100644 --- a/libs/langchain/langchain/memory/chat_message_histories/in_memory.py +++ b/libs/langchain/langchain/memory/chat_message_histories/in_memory.py @@ -1,6 +1,6 @@ from typing import List -from pydantic import BaseModel +from pydantic_v1 import BaseModel from langchain.schema import ( BaseChatMessageHistory, diff --git a/libs/langchain/langchain/memory/combined.py b/libs/langchain/langchain/memory/combined.py index 80316755a..1b9cc5cd6 100644 --- a/libs/langchain/langchain/memory/combined.py +++ b/libs/langchain/langchain/memory/combined.py @@ -1,7 +1,7 @@ import warnings from typing import Any, Dict, List, Set -from pydantic import validator +from pydantic_v1 import validator from langchain.memory.chat_memory import BaseChatMemory from langchain.schema import BaseMemory diff --git a/libs/langchain/langchain/memory/entity.py b/libs/langchain/langchain/memory/entity.py index 54b9574b0..a8cdd1544 100644 --- a/libs/langchain/langchain/memory/entity.py +++ b/libs/langchain/langchain/memory/entity.py @@ -3,7 +3,7 @@ from abc import ABC, abstractmethod from itertools import islice from typing import Any, Dict, Iterable, List, Optional -from pydantic import BaseModel, Field +from pydantic_v1 import BaseModel, Field from langchain.chains.llm import LLMChain from langchain.memory.chat_memory import BaseChatMemory diff --git a/libs/langchain/langchain/memory/kg.py b/libs/langchain/langchain/memory/kg.py index 400ed3498..577517185 100644 --- a/libs/langchain/langchain/memory/kg.py +++ b/libs/langchain/langchain/memory/kg.py @@ -1,6 +1,6 @@ from typing import Any, Dict, List, Type, Union -from pydantic import Field +from pydantic_v1 import Field from langchain.chains.llm import LLMChain from langchain.graphs import NetworkxEntityGraph diff --git a/libs/langchain/langchain/memory/summary.py b/libs/langchain/langchain/memory/summary.py index afa0f9c8e..77d24bc01 100644 --- a/libs/langchain/langchain/memory/summary.py +++ b/libs/langchain/langchain/memory/summary.py @@ -2,7 +2,7 @@ from __future__ import annotations from typing import Any, Dict, List, Type -from pydantic import BaseModel, root_validator +from pydantic_v1 import BaseModel, root_validator from langchain.chains.llm import LLMChain from langchain.memory.chat_memory import BaseChatMemory diff --git a/libs/langchain/langchain/memory/summary_buffer.py b/libs/langchain/langchain/memory/summary_buffer.py index 0b49797f5..bec607621 100644 --- a/libs/langchain/langchain/memory/summary_buffer.py +++ b/libs/langchain/langchain/memory/summary_buffer.py @@ -1,6 +1,6 @@ from typing import Any, Dict, List -from pydantic import root_validator +from pydantic_v1 import root_validator from langchain.memory.chat_memory import BaseChatMemory from langchain.memory.summary import SummarizerMixin diff --git a/libs/langchain/langchain/memory/vectorstore.py b/libs/langchain/langchain/memory/vectorstore.py index 41f0d8c67..c367b4707 100644 --- a/libs/langchain/langchain/memory/vectorstore.py +++ b/libs/langchain/langchain/memory/vectorstore.py @@ -2,7 +2,7 @@ from typing import Any, Dict, List, Optional, Sequence, Union -from pydantic import Field +from pydantic_v1 import Field from langchain.memory.chat_memory import BaseMemory from langchain.memory.utils import get_prompt_input_key diff --git a/libs/langchain/langchain/output_parsers/combining.py b/libs/langchain/langchain/output_parsers/combining.py index 511d9398f..a6f3dab84 100644 --- a/libs/langchain/langchain/output_parsers/combining.py +++ b/libs/langchain/langchain/output_parsers/combining.py @@ -2,7 +2,7 @@ from __future__ import annotations from typing import Any, Dict, List -from pydantic import root_validator +from pydantic_v1 import root_validator from langchain.schema import BaseOutputParser diff --git a/libs/langchain/langchain/output_parsers/enum.py b/libs/langchain/langchain/output_parsers/enum.py index ee3daecfe..c1469bfb9 100644 --- a/libs/langchain/langchain/output_parsers/enum.py +++ b/libs/langchain/langchain/output_parsers/enum.py @@ -1,7 +1,7 @@ from enum import Enum from typing import Any, Dict, List, Type -from pydantic import root_validator +from pydantic_v1 import root_validator from langchain.schema import BaseOutputParser, OutputParserException diff --git a/libs/langchain/langchain/output_parsers/openai_functions.py b/libs/langchain/langchain/output_parsers/openai_functions.py index 646d89596..20913c368 100644 --- a/libs/langchain/langchain/output_parsers/openai_functions.py +++ b/libs/langchain/langchain/output_parsers/openai_functions.py @@ -2,7 +2,7 @@ import copy import json from typing import Any, Dict, List, Type, Union -from pydantic import BaseModel, root_validator +from pydantic_v1 import BaseModel, root_validator from langchain.schema import ( ChatGeneration, diff --git a/libs/langchain/langchain/output_parsers/pydantic.py b/libs/langchain/langchain/output_parsers/pydantic.py index b35943e6e..ea2bf3348 100644 --- a/libs/langchain/langchain/output_parsers/pydantic.py +++ b/libs/langchain/langchain/output_parsers/pydantic.py @@ -2,7 +2,7 @@ import json import re from typing import Type, TypeVar -from pydantic import BaseModel, ValidationError +from pydantic_v1 import BaseModel, ValidationError from langchain.output_parsers.format_instructions import PYDANTIC_FORMAT_INSTRUCTIONS from langchain.schema import BaseOutputParser, OutputParserException diff --git a/libs/langchain/langchain/output_parsers/structured.py b/libs/langchain/langchain/output_parsers/structured.py index 5733c896f..eecd8de69 100644 --- a/libs/langchain/langchain/output_parsers/structured.py +++ b/libs/langchain/langchain/output_parsers/structured.py @@ -2,7 +2,7 @@ from __future__ import annotations from typing import Any, List -from pydantic import BaseModel +from pydantic_v1 import BaseModel from langchain.output_parsers.format_instructions import ( STRUCTURED_FORMAT_INSTRUCTIONS, diff --git a/libs/langchain/langchain/prompts/chat.py b/libs/langchain/langchain/prompts/chat.py index fabdfe224..72925e1cb 100644 --- a/libs/langchain/langchain/prompts/chat.py +++ b/libs/langchain/langchain/prompts/chat.py @@ -3,9 +3,20 @@ from __future__ import annotations from abc import ABC, abstractmethod from pathlib import Path -from typing import Any, Callable, List, Sequence, Tuple, Type, TypeVar, Union, overload +from typing import ( + Any, + Callable, + List, + Sequence, + Set, + Tuple, + Type, + TypeVar, + Union, + overload, +) -from pydantic import Field, root_validator +from pydantic_v1 import Field, root_validator from langchain._api import deprecated from langchain.load.serializable import Serializable @@ -507,7 +518,7 @@ class ChatPromptTemplate(BaseChatPromptTemplate, ABC): _messages = [_convert_to_message(message) for message in messages] # Automatically infer input variables from messages - input_vars = set() + input_vars: Set[str] = set() for _message in _messages: if isinstance( _message, (BaseChatPromptTemplate, BaseMessagePromptTemplate) diff --git a/libs/langchain/langchain/prompts/example_selector/length_based.py b/libs/langchain/langchain/prompts/example_selector/length_based.py index f6c665de3..b2af71415 100644 --- a/libs/langchain/langchain/prompts/example_selector/length_based.py +++ b/libs/langchain/langchain/prompts/example_selector/length_based.py @@ -2,7 +2,7 @@ import re from typing import Callable, Dict, List -from pydantic import BaseModel, validator +from pydantic_v1 import BaseModel, validator from langchain.prompts.example_selector.base import BaseExampleSelector from langchain.prompts.prompt import PromptTemplate diff --git a/libs/langchain/langchain/prompts/example_selector/ngram_overlap.py b/libs/langchain/langchain/prompts/example_selector/ngram_overlap.py index 9dd68f00a..6697a07c1 100644 --- a/libs/langchain/langchain/prompts/example_selector/ngram_overlap.py +++ b/libs/langchain/langchain/prompts/example_selector/ngram_overlap.py @@ -6,7 +6,7 @@ https://aclanthology.org/P02-1040.pdf from typing import Dict, List import numpy as np -from pydantic import BaseModel, root_validator +from pydantic_v1 import BaseModel, root_validator from langchain.prompts.example_selector.base import BaseExampleSelector from langchain.prompts.prompt import PromptTemplate diff --git a/libs/langchain/langchain/prompts/example_selector/semantic_similarity.py b/libs/langchain/langchain/prompts/example_selector/semantic_similarity.py index 0d66c1367..7f224324b 100644 --- a/libs/langchain/langchain/prompts/example_selector/semantic_similarity.py +++ b/libs/langchain/langchain/prompts/example_selector/semantic_similarity.py @@ -3,7 +3,7 @@ from __future__ import annotations from typing import Any, Dict, List, Optional, Type -from pydantic import BaseModel, Extra +from pydantic_v1 import BaseModel, Extra from langchain.embeddings.base import Embeddings from langchain.prompts.example_selector.base import BaseExampleSelector diff --git a/libs/langchain/langchain/prompts/few_shot.py b/libs/langchain/langchain/prompts/few_shot.py index 7a28f1006..873f732d4 100644 --- a/libs/langchain/langchain/prompts/few_shot.py +++ b/libs/langchain/langchain/prompts/few_shot.py @@ -3,7 +3,7 @@ from __future__ import annotations from typing import Any, Dict, List, Optional, Union -from pydantic import BaseModel, Extra, Field, root_validator +from pydantic_v1 import BaseModel, Extra, Field, root_validator from langchain.prompts.base import ( DEFAULT_FORMATTER_MAPPING, diff --git a/libs/langchain/langchain/prompts/few_shot_with_templates.py b/libs/langchain/langchain/prompts/few_shot_with_templates.py index 5e5330cf9..15c967bb1 100644 --- a/libs/langchain/langchain/prompts/few_shot_with_templates.py +++ b/libs/langchain/langchain/prompts/few_shot_with_templates.py @@ -1,7 +1,7 @@ """Prompt template that contains few shot examples.""" from typing import Any, Dict, List, Optional -from pydantic import Extra, root_validator +from pydantic_v1 import Extra, root_validator from langchain.prompts.base import DEFAULT_FORMATTER_MAPPING, StringPromptTemplate from langchain.prompts.example_selector.base import BaseExampleSelector diff --git a/libs/langchain/langchain/prompts/loading.py b/libs/langchain/langchain/prompts/loading.py index dc8a1bc32..55d2013ec 100644 --- a/libs/langchain/langchain/prompts/loading.py +++ b/libs/langchain/langchain/prompts/loading.py @@ -26,7 +26,10 @@ def load_prompt_from_config(config: dict) -> BasePromptTemplate: raise ValueError(f"Loading {config_type} prompt not supported") prompt_loader = type_to_loader_dict[config_type] - return prompt_loader(config) + # Unclear why type error is being thrown here. + # Incompatible return value type (got "Runnable[Dict[Any, Any], PromptValue]", + # expected "BasePromptTemplate") [return-value] + return prompt_loader(config) # type: ignore[return-value] def _load_template(var_name: str, config: dict) -> dict: diff --git a/libs/langchain/langchain/prompts/pipeline.py b/libs/langchain/langchain/prompts/pipeline.py index 28364766a..75a56f5d2 100644 --- a/libs/langchain/langchain/prompts/pipeline.py +++ b/libs/langchain/langchain/prompts/pipeline.py @@ -1,6 +1,6 @@ from typing import Any, Dict, List, Tuple -from pydantic import root_validator +from pydantic_v1 import root_validator from langchain.prompts.chat import BaseChatPromptTemplate from langchain.schema import BasePromptTemplate, PromptValue diff --git a/libs/langchain/langchain/prompts/prompt.py b/libs/langchain/langchain/prompts/prompt.py index 11cae9f51..b5e26b33b 100644 --- a/libs/langchain/langchain/prompts/prompt.py +++ b/libs/langchain/langchain/prompts/prompt.py @@ -5,7 +5,7 @@ from pathlib import Path from string import Formatter from typing import Any, Dict, List, Optional, Union -from pydantic import root_validator +from pydantic_v1 import root_validator from langchain.prompts.base import ( DEFAULT_FORMATTER_MAPPING, diff --git a/libs/langchain/langchain/retrievers/azure_cognitive_search.py b/libs/langchain/langchain/retrievers/azure_cognitive_search.py index 214f663e9..cf5c6b953 100644 --- a/libs/langchain/langchain/retrievers/azure_cognitive_search.py +++ b/libs/langchain/langchain/retrievers/azure_cognitive_search.py @@ -7,7 +7,7 @@ from typing import Dict, List, Optional import aiohttp import requests -from pydantic import Extra, root_validator +from pydantic_v1 import Extra, root_validator from langchain.callbacks.manager import ( AsyncCallbackManagerForRetrieverRun, diff --git a/libs/langchain/langchain/retrievers/document_compressors/base.py b/libs/langchain/langchain/retrievers/document_compressors/base.py index 1e0587c59..10ba7494a 100644 --- a/libs/langchain/langchain/retrievers/document_compressors/base.py +++ b/libs/langchain/langchain/retrievers/document_compressors/base.py @@ -3,7 +3,7 @@ from abc import ABC, abstractmethod from inspect import signature from typing import List, Optional, Sequence, Union -from pydantic import BaseModel +from pydantic_v1 import BaseModel from langchain.callbacks.manager import Callbacks from langchain.schema import BaseDocumentTransformer, Document diff --git a/libs/langchain/langchain/retrievers/document_compressors/cohere_rerank.py b/libs/langchain/langchain/retrievers/document_compressors/cohere_rerank.py index a9fad10c8..e02ddadd5 100644 --- a/libs/langchain/langchain/retrievers/document_compressors/cohere_rerank.py +++ b/libs/langchain/langchain/retrievers/document_compressors/cohere_rerank.py @@ -2,7 +2,7 @@ from __future__ import annotations from typing import TYPE_CHECKING, Dict, Optional, Sequence -from pydantic import Extra, root_validator +from pydantic_v1 import Extra, root_validator from langchain.callbacks.manager import Callbacks from langchain.retrievers.document_compressors.base import BaseDocumentCompressor diff --git a/libs/langchain/langchain/retrievers/document_compressors/embeddings_filter.py b/libs/langchain/langchain/retrievers/document_compressors/embeddings_filter.py index f004a1796..d8ac0de13 100644 --- a/libs/langchain/langchain/retrievers/document_compressors/embeddings_filter.py +++ b/libs/langchain/langchain/retrievers/document_compressors/embeddings_filter.py @@ -1,7 +1,7 @@ from typing import Callable, Dict, Optional, Sequence import numpy as np -from pydantic import root_validator +from pydantic_v1 import root_validator from langchain.callbacks.manager import Callbacks from langchain.document_transformers.embeddings_redundant_filter import ( diff --git a/libs/langchain/langchain/retrievers/ensemble.py b/libs/langchain/langchain/retrievers/ensemble.py index b01a33fab..89e49aaed 100644 --- a/libs/langchain/langchain/retrievers/ensemble.py +++ b/libs/langchain/langchain/retrievers/ensemble.py @@ -4,7 +4,7 @@ multiple retrievers by using weighted Reciprocal Rank Fusion """ from typing import Any, Dict, List -from pydantic import root_validator +from pydantic_v1 import root_validator from langchain.callbacks.manager import ( AsyncCallbackManagerForRetrieverRun, diff --git a/libs/langchain/langchain/retrievers/google_cloud_enterprise_search.py b/libs/langchain/langchain/retrievers/google_cloud_enterprise_search.py index 0d76022ef..8c869e7fd 100644 --- a/libs/langchain/langchain/retrievers/google_cloud_enterprise_search.py +++ b/libs/langchain/langchain/retrievers/google_cloud_enterprise_search.py @@ -3,7 +3,7 @@ from __future__ import annotations from typing import TYPE_CHECKING, Any, Dict, List, Optional, Sequence -from pydantic import Extra, Field, root_validator +from pydantic_v1 import Extra, Field, root_validator from langchain.callbacks.manager import CallbackManagerForRetrieverRun from langchain.schema import BaseRetriever, Document diff --git a/libs/langchain/langchain/retrievers/kendra.py b/libs/langchain/langchain/retrievers/kendra.py index c1656a3a6..17b176d66 100644 --- a/libs/langchain/langchain/retrievers/kendra.py +++ b/libs/langchain/langchain/retrievers/kendra.py @@ -2,7 +2,7 @@ import re from abc import ABC, abstractmethod from typing import Any, Callable, Dict, List, Literal, Optional, Sequence, Union -from pydantic import BaseModel, Extra, root_validator, validator +from pydantic_v1 import BaseModel, Extra, root_validator, validator from langchain.callbacks.manager import CallbackManagerForRetrieverRun from langchain.docstore.document import Document @@ -49,7 +49,8 @@ DocumentAttributeValueType = Union[str, int, List[str], None] """Possible types of a DocumentAttributeValue. Dates are also represented as str.""" -class Highlight(BaseModel, extra=Extra.allow): +# Unexpected keyword argument "extra" for "__init_subclass__" of "object" +class Highlight(BaseModel, extra=Extra.allow): # type: ignore[call-arg] """ Represents the information that can be used to highlight key words in the excerpt. @@ -65,7 +66,8 @@ class Highlight(BaseModel, extra=Extra.allow): """The highlight type: STANDARD or THESAURUS_SYNONYM.""" -class TextWithHighLights(BaseModel, extra=Extra.allow): +# Unexpected keyword argument "extra" for "__init_subclass__" of "object" +class TextWithHighLights(BaseModel, extra=Extra.allow): # type: ignore[call-arg] """Text with highlights.""" Text: str @@ -74,14 +76,18 @@ class TextWithHighLights(BaseModel, extra=Extra.allow): """The highlights.""" -class AdditionalResultAttributeValue(BaseModel, extra=Extra.allow): +# Unexpected keyword argument "extra" for "__init_subclass__" of "object" +class AdditionalResultAttributeValue( # type: ignore[call-arg] + BaseModel, extra=Extra.allow +): """The value of an additional result attribute.""" TextWithHighlightsValue: TextWithHighLights """The text with highlights value.""" -class AdditionalResultAttribute(BaseModel, extra=Extra.allow): +# Unexpected keyword argument "extra" for "__init_subclass__" of "object" +class AdditionalResultAttribute(BaseModel, extra=Extra.allow): # type: ignore[call-arg] """An additional result attribute.""" Key: str @@ -95,7 +101,8 @@ class AdditionalResultAttribute(BaseModel, extra=Extra.allow): return self.Value.TextWithHighlightsValue.Text -class DocumentAttributeValue(BaseModel, extra=Extra.allow): +# Unexpected keyword argument "extra" for "__init_subclass__" of "object" +class DocumentAttributeValue(BaseModel, extra=Extra.allow): # type: ignore[call-arg] """The value of a document attribute.""" DateValue: Optional[str] @@ -125,7 +132,8 @@ class DocumentAttributeValue(BaseModel, extra=Extra.allow): return None -class DocumentAttribute(BaseModel, extra=Extra.allow): +# Unexpected keyword argument "extra" for "__init_subclass__" of "object" +class DocumentAttribute(BaseModel, extra=Extra.allow): # type: ignore[call-arg] """A document attribute.""" Key: str @@ -134,7 +142,8 @@ class DocumentAttribute(BaseModel, extra=Extra.allow): """The value of the attribute.""" -class ResultItem(BaseModel, ABC, extra=Extra.allow): +# Unexpected keyword argument "extra" for "__init_subclass__" of "object" +class ResultItem(BaseModel, ABC, extra=Extra.allow): # type: ignore[call-arg] """Abstract class that represents a result item.""" Id: Optional[str] @@ -254,7 +263,8 @@ class RetrieveResultItem(ResultItem): return self.Content or "" -class QueryResult(BaseModel, extra=Extra.allow): +# Unexpected keyword argument "extra" for "__init_subclass__" of "object" +class QueryResult(BaseModel, extra=Extra.allow): # type: ignore[call-arg] """ Represents an Amazon Kendra Query API search result, which is composed of: * Relevant suggested answers: either a text excerpt or table excerpt. @@ -266,7 +276,8 @@ class QueryResult(BaseModel, extra=Extra.allow): """The result items.""" -class RetrieveResult(BaseModel, extra=Extra.allow): +# Unexpected keyword argument "extra" for "__init_subclass__" of "object" +class RetrieveResult(BaseModel, extra=Extra.allow): # type: ignore[call-arg] """ Represents an Amazon Kendra Retrieve API search result, which is composed of: * relevant passages or text excerpts given an input query. diff --git a/libs/langchain/langchain/retrievers/llama_index.py b/libs/langchain/langchain/retrievers/llama_index.py index fe8e4f8b0..e839ecb57 100644 --- a/libs/langchain/langchain/retrievers/llama_index.py +++ b/libs/langchain/langchain/retrievers/llama_index.py @@ -1,6 +1,6 @@ from typing import Any, Dict, List, cast -from pydantic import Field +from pydantic_v1 import Field from langchain.callbacks.manager import CallbackManagerForRetrieverRun from langchain.schema import BaseRetriever, Document diff --git a/libs/langchain/langchain/retrievers/metal.py b/libs/langchain/langchain/retrievers/metal.py index b4faaeab3..f5cddf20a 100644 --- a/libs/langchain/langchain/retrievers/metal.py +++ b/libs/langchain/langchain/retrievers/metal.py @@ -1,6 +1,6 @@ from typing import Any, List, Optional -from pydantic import root_validator +from pydantic_v1 import root_validator from langchain.callbacks.manager import CallbackManagerForRetrieverRun from langchain.schema import BaseRetriever, Document diff --git a/libs/langchain/langchain/retrievers/milvus.py b/libs/langchain/langchain/retrievers/milvus.py index bc35e7318..3f6c9d9b5 100644 --- a/libs/langchain/langchain/retrievers/milvus.py +++ b/libs/langchain/langchain/retrievers/milvus.py @@ -2,7 +2,7 @@ import warnings from typing import Any, Dict, List, Optional -from pydantic import root_validator +from pydantic_v1 import root_validator from langchain.callbacks.manager import CallbackManagerForRetrieverRun from langchain.embeddings.base import Embeddings diff --git a/libs/langchain/langchain/retrievers/multi_query.py b/libs/langchain/langchain/retrievers/multi_query.py index 4d9520c02..eb93ca6dd 100644 --- a/libs/langchain/langchain/retrievers/multi_query.py +++ b/libs/langchain/langchain/retrievers/multi_query.py @@ -1,7 +1,7 @@ import logging from typing import List -from pydantic import BaseModel, Field +from pydantic_v1 import BaseModel, Field from langchain.callbacks.manager import CallbackManagerForRetrieverRun from langchain.chains.llm import LLMChain diff --git a/libs/langchain/langchain/retrievers/pinecone_hybrid_search.py b/libs/langchain/langchain/retrievers/pinecone_hybrid_search.py index 97d562421..956c84b54 100644 --- a/libs/langchain/langchain/retrievers/pinecone_hybrid_search.py +++ b/libs/langchain/langchain/retrievers/pinecone_hybrid_search.py @@ -3,7 +3,7 @@ import hashlib from typing import Any, Dict, List, Optional -from pydantic import Extra, root_validator +from pydantic_v1 import Extra, root_validator from langchain.callbacks.manager import CallbackManagerForRetrieverRun from langchain.embeddings.base import Embeddings diff --git a/libs/langchain/langchain/retrievers/self_query/base.py b/libs/langchain/langchain/retrievers/self_query/base.py index 15463751b..d444a043c 100644 --- a/libs/langchain/langchain/retrievers/self_query/base.py +++ b/libs/langchain/langchain/retrievers/self_query/base.py @@ -2,7 +2,7 @@ from typing import Any, Dict, List, Optional, Type, cast -from pydantic import BaseModel, Field, root_validator +from pydantic_v1 import BaseModel, Field, root_validator from langchain import LLMChain from langchain.callbacks.manager import CallbackManagerForRetrieverRun diff --git a/libs/langchain/langchain/retrievers/time_weighted_retriever.py b/libs/langchain/langchain/retrievers/time_weighted_retriever.py index b2aebfa91..169d10115 100644 --- a/libs/langchain/langchain/retrievers/time_weighted_retriever.py +++ b/libs/langchain/langchain/retrievers/time_weighted_retriever.py @@ -2,7 +2,7 @@ import datetime from copy import deepcopy from typing import Any, Dict, List, Optional, Tuple -from pydantic import Field +from pydantic_v1 import Field from langchain.callbacks.manager import CallbackManagerForRetrieverRun from langchain.schema import BaseRetriever, Document diff --git a/libs/langchain/langchain/retrievers/weaviate_hybrid_search.py b/libs/langchain/langchain/retrievers/weaviate_hybrid_search.py index 2bd64ed3f..b53e1df16 100644 --- a/libs/langchain/langchain/retrievers/weaviate_hybrid_search.py +++ b/libs/langchain/langchain/retrievers/weaviate_hybrid_search.py @@ -3,7 +3,7 @@ from __future__ import annotations from typing import Any, Dict, List, Optional, cast from uuid import uuid4 -from pydantic import root_validator +from pydantic_v1 import root_validator from langchain.callbacks.manager import CallbackManagerForRetrieverRun from langchain.docstore.document import Document diff --git a/libs/langchain/langchain/retrievers/web_research.py b/libs/langchain/langchain/retrievers/web_research.py index 478005cb3..abc4daeb6 100644 --- a/libs/langchain/langchain/retrievers/web_research.py +++ b/libs/langchain/langchain/retrievers/web_research.py @@ -2,7 +2,7 @@ import logging import re from typing import List, Optional -from pydantic import BaseModel, Field +from pydantic_v1 import BaseModel, Field from langchain.callbacks.manager import ( AsyncCallbackManagerForRetrieverRun, diff --git a/libs/langchain/langchain/retrievers/zep.py b/libs/langchain/langchain/retrievers/zep.py index 6e8876b82..e8469185b 100644 --- a/libs/langchain/langchain/retrievers/zep.py +++ b/libs/langchain/langchain/retrievers/zep.py @@ -2,7 +2,7 @@ from __future__ import annotations from typing import TYPE_CHECKING, Any, Dict, List, Optional -from pydantic import root_validator +from pydantic_v1 import root_validator from langchain.callbacks.manager import ( AsyncCallbackManagerForRetrieverRun, diff --git a/libs/langchain/langchain/retrievers/zilliz.py b/libs/langchain/langchain/retrievers/zilliz.py index e023bac77..81cdfc525 100644 --- a/libs/langchain/langchain/retrievers/zilliz.py +++ b/libs/langchain/langchain/retrievers/zilliz.py @@ -1,7 +1,7 @@ import warnings from typing import Any, Dict, List, Optional -from pydantic import root_validator +from pydantic_v1 import root_validator from langchain.callbacks.manager import CallbackManagerForRetrieverRun from langchain.embeddings.base import Embeddings diff --git a/libs/langchain/langchain/runnables/openai_functions.py b/libs/langchain/langchain/runnables/openai_functions.py index 55c9765d2..b97c9f213 100644 --- a/libs/langchain/langchain/runnables/openai_functions.py +++ b/libs/langchain/langchain/runnables/openai_functions.py @@ -38,7 +38,7 @@ class OpenAIFunctionsRouter(RunnableBinding[ChatGeneration, Any]): if functions is not None: assert len(functions) == len(runnables) assert all(func["name"] in runnables for func in functions) - router = ( + router: Runnable[ChatGeneration, Any] = ( JsonOutputFunctionsParser(args_only=False) | {"key": itemgetter("name"), "input": itemgetter("arguments")} | RouterRunnable(runnables) diff --git a/libs/langchain/langchain/schema/document.py b/libs/langchain/langchain/schema/document.py index a05df15db..518d390f7 100644 --- a/libs/langchain/langchain/schema/document.py +++ b/libs/langchain/langchain/schema/document.py @@ -3,7 +3,7 @@ from __future__ import annotations from abc import ABC, abstractmethod from typing import Any, Sequence -from pydantic import Field +from pydantic_v1 import Field from langchain.load.serializable import Serializable diff --git a/libs/langchain/langchain/schema/messages.py b/libs/langchain/langchain/schema/messages.py index 3d6219f7d..5f00bf32b 100644 --- a/libs/langchain/langchain/schema/messages.py +++ b/libs/langchain/langchain/schema/messages.py @@ -3,7 +3,7 @@ from __future__ import annotations from abc import abstractmethod from typing import TYPE_CHECKING, Any, Dict, List, Sequence -from pydantic import Field +from pydantic_v1 import Field from langchain.load.serializable import Serializable diff --git a/libs/langchain/langchain/schema/output.py b/libs/langchain/langchain/schema/output.py index 10b9923ba..990af336b 100644 --- a/libs/langchain/langchain/schema/output.py +++ b/libs/langchain/langchain/schema/output.py @@ -4,7 +4,7 @@ from copy import deepcopy from typing import Any, Dict, List, Optional from uuid import UUID -from pydantic import BaseModel, root_validator +from pydantic_v1 import BaseModel, root_validator from langchain.load.serializable import Serializable from langchain.schema.messages import BaseMessage, BaseMessageChunk diff --git a/libs/langchain/langchain/schema/prompt_template.py b/libs/langchain/langchain/schema/prompt_template.py index b8eed3331..3434fd42f 100644 --- a/libs/langchain/langchain/schema/prompt_template.py +++ b/libs/langchain/langchain/schema/prompt_template.py @@ -6,7 +6,7 @@ from pathlib import Path from typing import Any, Callable, Dict, List, Mapping, Optional, Union import yaml -from pydantic import Field, root_validator +from pydantic_v1 import Field, root_validator from langchain.load.serializable import Serializable from langchain.schema.document import Document diff --git a/libs/langchain/langchain/schema/runnable/base.py b/libs/langchain/langchain/schema/runnable/base.py index 95344cdf0..2deb87e4d 100644 --- a/libs/langchain/langchain/schema/runnable/base.py +++ b/libs/langchain/langchain/schema/runnable/base.py @@ -23,7 +23,7 @@ from typing import ( cast, ) -from pydantic import Field +from pydantic_v1 import Field from langchain.callbacks.base import BaseCallbackManager from langchain.load.dump import dumpd diff --git a/libs/langchain/langchain/smith/evaluation/config.py b/libs/langchain/langchain/smith/evaluation/config.py index 21cb48482..3bddffd2c 100644 --- a/libs/langchain/langchain/smith/evaluation/config.py +++ b/libs/langchain/langchain/smith/evaluation/config.py @@ -3,7 +3,7 @@ from typing import Any, Dict, List, Optional, Union from langsmith import RunEvaluator -from pydantic import BaseModel, Field +from pydantic_v1 import BaseModel, Field from langchain.embeddings.base import Embeddings from langchain.evaluation.criteria.eval_chain import CRITERIA_TYPE diff --git a/libs/langchain/langchain/tools/amadeus/base.py b/libs/langchain/langchain/tools/amadeus/base.py index fc0c907e9..90e0ff35e 100644 --- a/libs/langchain/langchain/tools/amadeus/base.py +++ b/libs/langchain/langchain/tools/amadeus/base.py @@ -3,7 +3,7 @@ from __future__ import annotations from typing import TYPE_CHECKING -from pydantic import Field +from pydantic_v1 import Field from langchain.tools.amadeus.utils import authenticate from langchain.tools.base import BaseTool diff --git a/libs/langchain/langchain/tools/amadeus/closest_airport.py b/libs/langchain/langchain/tools/amadeus/closest_airport.py index a92066e40..22133b106 100644 --- a/libs/langchain/langchain/tools/amadeus/closest_airport.py +++ b/libs/langchain/langchain/tools/amadeus/closest_airport.py @@ -1,6 +1,6 @@ from typing import Optional, Type -from pydantic import BaseModel, Field +from pydantic_v1 import BaseModel, Field from langchain.callbacks.manager import CallbackManagerForToolRun from langchain.chains import LLMChain diff --git a/libs/langchain/langchain/tools/amadeus/flight_search.py b/libs/langchain/langchain/tools/amadeus/flight_search.py index 819cd1d29..bd88cd3a0 100644 --- a/libs/langchain/langchain/tools/amadeus/flight_search.py +++ b/libs/langchain/langchain/tools/amadeus/flight_search.py @@ -2,7 +2,7 @@ import logging from datetime import datetime as dt from typing import Dict, Optional, Type -from pydantic import BaseModel, Field +from pydantic_v1 import BaseModel, Field from langchain.callbacks.manager import CallbackManagerForToolRun from langchain.tools.amadeus.base import AmadeusBaseTool diff --git a/libs/langchain/langchain/tools/arxiv/tool.py b/libs/langchain/langchain/tools/arxiv/tool.py index 768e4eb2a..224c04327 100644 --- a/libs/langchain/langchain/tools/arxiv/tool.py +++ b/libs/langchain/langchain/tools/arxiv/tool.py @@ -2,7 +2,7 @@ from typing import Optional -from pydantic import Field +from pydantic_v1 import Field from langchain.callbacks.manager import CallbackManagerForToolRun from langchain.tools.base import BaseTool diff --git a/libs/langchain/langchain/tools/azure_cognitive_services/form_recognizer.py b/libs/langchain/langchain/tools/azure_cognitive_services/form_recognizer.py index 0dfb4d2b5..be5cd2062 100644 --- a/libs/langchain/langchain/tools/azure_cognitive_services/form_recognizer.py +++ b/libs/langchain/langchain/tools/azure_cognitive_services/form_recognizer.py @@ -3,7 +3,7 @@ from __future__ import annotations import logging from typing import Any, Dict, List, Optional -from pydantic import root_validator +from pydantic_v1 import root_validator from langchain.callbacks.manager import CallbackManagerForToolRun from langchain.tools.azure_cognitive_services.utils import detect_file_src_type diff --git a/libs/langchain/langchain/tools/azure_cognitive_services/image_analysis.py b/libs/langchain/langchain/tools/azure_cognitive_services/image_analysis.py index ecac290e3..c39b21909 100644 --- a/libs/langchain/langchain/tools/azure_cognitive_services/image_analysis.py +++ b/libs/langchain/langchain/tools/azure_cognitive_services/image_analysis.py @@ -3,7 +3,7 @@ from __future__ import annotations import logging from typing import Any, Dict, Optional -from pydantic import root_validator +from pydantic_v1 import root_validator from langchain.callbacks.manager import CallbackManagerForToolRun from langchain.tools.azure_cognitive_services.utils import detect_file_src_type diff --git a/libs/langchain/langchain/tools/azure_cognitive_services/speech2text.py b/libs/langchain/langchain/tools/azure_cognitive_services/speech2text.py index 98b3e7605..f3a9bf46b 100644 --- a/libs/langchain/langchain/tools/azure_cognitive_services/speech2text.py +++ b/libs/langchain/langchain/tools/azure_cognitive_services/speech2text.py @@ -4,7 +4,7 @@ import logging import time from typing import Any, Dict, Optional -from pydantic import root_validator +from pydantic_v1 import root_validator from langchain.callbacks.manager import CallbackManagerForToolRun from langchain.tools.azure_cognitive_services.utils import ( diff --git a/libs/langchain/langchain/tools/azure_cognitive_services/text2speech.py b/libs/langchain/langchain/tools/azure_cognitive_services/text2speech.py index cd51a78c1..78250f39b 100644 --- a/libs/langchain/langchain/tools/azure_cognitive_services/text2speech.py +++ b/libs/langchain/langchain/tools/azure_cognitive_services/text2speech.py @@ -4,7 +4,7 @@ import logging import tempfile from typing import Any, Dict, Optional -from pydantic import root_validator +from pydantic_v1 import root_validator from langchain.callbacks.manager import CallbackManagerForToolRun from langchain.tools.base import BaseTool diff --git a/libs/langchain/langchain/tools/base.py b/libs/langchain/langchain/tools/base.py index 732940bd0..40b061e54 100644 --- a/libs/langchain/langchain/tools/base.py +++ b/libs/langchain/langchain/tools/base.py @@ -8,7 +8,7 @@ from functools import partial from inspect import signature from typing import Any, Awaitable, Callable, Dict, List, Optional, Tuple, Type, Union -from pydantic import ( +from pydantic_v1 import ( BaseModel, Extra, Field, @@ -16,7 +16,15 @@ from pydantic import ( root_validator, validate_arguments, ) -from pydantic.main import ModelMetaclass + +# The metaclass must be imported directly from the pydantic module rather than +# from the proxy module, otherwise it looks like inconsistent metaclasses are +# used raising an exception. +try: + from pydantic.v1.main import ModelMetaclass +except ImportError: + from pydantic.main import ModelMetaclass + from langchain.callbacks.base import BaseCallbackManager from langchain.callbacks.manager import ( diff --git a/libs/langchain/langchain/tools/dataforseo_api_search/tool.py b/libs/langchain/langchain/tools/dataforseo_api_search/tool.py index c22c7254e..9dfc3c306 100644 --- a/libs/langchain/langchain/tools/dataforseo_api_search/tool.py +++ b/libs/langchain/langchain/tools/dataforseo_api_search/tool.py @@ -2,7 +2,7 @@ from typing import Optional -from pydantic.fields import Field +from pydantic_v1.fields import Field from langchain.callbacks.manager import ( AsyncCallbackManagerForToolRun, diff --git a/libs/langchain/langchain/tools/ddg_search/tool.py b/libs/langchain/langchain/tools/ddg_search/tool.py index 53aef10ae..e66aaa256 100644 --- a/libs/langchain/langchain/tools/ddg_search/tool.py +++ b/libs/langchain/langchain/tools/ddg_search/tool.py @@ -3,7 +3,7 @@ import warnings from typing import Any, Optional -from pydantic import Field +from pydantic_v1 import Field from langchain.callbacks.manager import CallbackManagerForToolRun from langchain.tools.base import BaseTool diff --git a/libs/langchain/langchain/tools/file_management/copy.py b/libs/langchain/langchain/tools/file_management/copy.py index 525e03a4f..fabd94d9c 100644 --- a/libs/langchain/langchain/tools/file_management/copy.py +++ b/libs/langchain/langchain/tools/file_management/copy.py @@ -1,7 +1,7 @@ import shutil from typing import Optional, Type -from pydantic import BaseModel, Field +from pydantic_v1 import BaseModel, Field from langchain.callbacks.manager import CallbackManagerForToolRun from langchain.tools.base import BaseTool diff --git a/libs/langchain/langchain/tools/file_management/delete.py b/libs/langchain/langchain/tools/file_management/delete.py index f1a097641..8db201a5f 100644 --- a/libs/langchain/langchain/tools/file_management/delete.py +++ b/libs/langchain/langchain/tools/file_management/delete.py @@ -1,7 +1,7 @@ import os from typing import Optional, Type -from pydantic import BaseModel, Field +from pydantic_v1 import BaseModel, Field from langchain.callbacks.manager import CallbackManagerForToolRun from langchain.tools.base import BaseTool diff --git a/libs/langchain/langchain/tools/file_management/file_search.py b/libs/langchain/langchain/tools/file_management/file_search.py index c197f03a4..f8844c330 100644 --- a/libs/langchain/langchain/tools/file_management/file_search.py +++ b/libs/langchain/langchain/tools/file_management/file_search.py @@ -2,7 +2,7 @@ import fnmatch import os from typing import Optional, Type -from pydantic import BaseModel, Field +from pydantic_v1 import BaseModel, Field from langchain.callbacks.manager import CallbackManagerForToolRun from langchain.tools.base import BaseTool diff --git a/libs/langchain/langchain/tools/file_management/list_dir.py b/libs/langchain/langchain/tools/file_management/list_dir.py index 621a11947..54e35b68a 100644 --- a/libs/langchain/langchain/tools/file_management/list_dir.py +++ b/libs/langchain/langchain/tools/file_management/list_dir.py @@ -1,7 +1,7 @@ import os from typing import Optional, Type -from pydantic import BaseModel, Field +from pydantic_v1 import BaseModel, Field from langchain.callbacks.manager import CallbackManagerForToolRun from langchain.tools.base import BaseTool diff --git a/libs/langchain/langchain/tools/file_management/move.py b/libs/langchain/langchain/tools/file_management/move.py index 6d9c441da..246a2b6bf 100644 --- a/libs/langchain/langchain/tools/file_management/move.py +++ b/libs/langchain/langchain/tools/file_management/move.py @@ -1,7 +1,7 @@ import shutil from typing import Optional, Type -from pydantic import BaseModel, Field +from pydantic_v1 import BaseModel, Field from langchain.callbacks.manager import CallbackManagerForToolRun from langchain.tools.base import BaseTool diff --git a/libs/langchain/langchain/tools/file_management/read.py b/libs/langchain/langchain/tools/file_management/read.py index 11a7a923e..016ed4010 100644 --- a/libs/langchain/langchain/tools/file_management/read.py +++ b/libs/langchain/langchain/tools/file_management/read.py @@ -1,6 +1,6 @@ from typing import Optional, Type -from pydantic import BaseModel, Field +from pydantic_v1 import BaseModel, Field from langchain.callbacks.manager import CallbackManagerForToolRun from langchain.tools.base import BaseTool diff --git a/libs/langchain/langchain/tools/file_management/utils.py b/libs/langchain/langchain/tools/file_management/utils.py index 788823fec..9fccad220 100644 --- a/libs/langchain/langchain/tools/file_management/utils.py +++ b/libs/langchain/langchain/tools/file_management/utils.py @@ -2,7 +2,7 @@ import sys from pathlib import Path from typing import Optional -from pydantic import BaseModel +from pydantic_v1 import BaseModel def is_relative_to(path: Path, root: Path) -> bool: diff --git a/libs/langchain/langchain/tools/file_management/write.py b/libs/langchain/langchain/tools/file_management/write.py index 478fca2cc..81bbd7ba8 100644 --- a/libs/langchain/langchain/tools/file_management/write.py +++ b/libs/langchain/langchain/tools/file_management/write.py @@ -1,6 +1,6 @@ from typing import Optional, Type -from pydantic import BaseModel, Field +from pydantic_v1 import BaseModel, Field from langchain.callbacks.manager import CallbackManagerForToolRun from langchain.tools.base import BaseTool diff --git a/libs/langchain/langchain/tools/github/tool.py b/libs/langchain/langchain/tools/github/tool.py index 524b2a4f8..d05368991 100644 --- a/libs/langchain/langchain/tools/github/tool.py +++ b/libs/langchain/langchain/tools/github/tool.py @@ -9,7 +9,7 @@ To use this tool, you must first set as environment variables: """ from typing import Optional -from pydantic import Field +from pydantic_v1 import Field from langchain.callbacks.manager import CallbackManagerForToolRun from langchain.tools.base import BaseTool diff --git a/libs/langchain/langchain/tools/gmail/base.py b/libs/langchain/langchain/tools/gmail/base.py index c306dce91..b55d6ac21 100644 --- a/libs/langchain/langchain/tools/gmail/base.py +++ b/libs/langchain/langchain/tools/gmail/base.py @@ -3,7 +3,7 @@ from __future__ import annotations from typing import TYPE_CHECKING -from pydantic import Field +from pydantic_v1 import Field from langchain.tools.base import BaseTool from langchain.tools.gmail.utils import build_resource_service diff --git a/libs/langchain/langchain/tools/gmail/create_draft.py b/libs/langchain/langchain/tools/gmail/create_draft.py index 2c944270b..d7213f965 100644 --- a/libs/langchain/langchain/tools/gmail/create_draft.py +++ b/libs/langchain/langchain/tools/gmail/create_draft.py @@ -2,7 +2,7 @@ import base64 from email.message import EmailMessage from typing import List, Optional, Type -from pydantic import BaseModel, Field +from pydantic_v1 import BaseModel, Field from langchain.callbacks.manager import CallbackManagerForToolRun from langchain.tools.gmail.base import GmailBaseTool diff --git a/libs/langchain/langchain/tools/gmail/get_message.py b/libs/langchain/langchain/tools/gmail/get_message.py index 262dbd063..3089839de 100644 --- a/libs/langchain/langchain/tools/gmail/get_message.py +++ b/libs/langchain/langchain/tools/gmail/get_message.py @@ -2,7 +2,7 @@ import base64 import email from typing import Dict, Optional, Type -from pydantic import BaseModel, Field +from pydantic_v1 import BaseModel, Field from langchain.callbacks.manager import CallbackManagerForToolRun from langchain.tools.gmail.base import GmailBaseTool diff --git a/libs/langchain/langchain/tools/gmail/get_thread.py b/libs/langchain/langchain/tools/gmail/get_thread.py index 0db1f8cd5..83626148a 100644 --- a/libs/langchain/langchain/tools/gmail/get_thread.py +++ b/libs/langchain/langchain/tools/gmail/get_thread.py @@ -1,6 +1,6 @@ from typing import Dict, Optional, Type -from pydantic import BaseModel, Field +from pydantic_v1 import BaseModel, Field from langchain.callbacks.manager import CallbackManagerForToolRun from langchain.tools.gmail.base import GmailBaseTool diff --git a/libs/langchain/langchain/tools/gmail/search.py b/libs/langchain/langchain/tools/gmail/search.py index 16041a4aa..c10b71a24 100644 --- a/libs/langchain/langchain/tools/gmail/search.py +++ b/libs/langchain/langchain/tools/gmail/search.py @@ -3,7 +3,7 @@ import email from enum import Enum from typing import Any, Dict, List, Optional, Type -from pydantic import BaseModel, Field +from pydantic_v1 import BaseModel, Field from langchain.callbacks.manager import CallbackManagerForToolRun from langchain.tools.gmail.base import GmailBaseTool diff --git a/libs/langchain/langchain/tools/gmail/send_message.py b/libs/langchain/langchain/tools/gmail/send_message.py index 76576149f..6916f9d88 100644 --- a/libs/langchain/langchain/tools/gmail/send_message.py +++ b/libs/langchain/langchain/tools/gmail/send_message.py @@ -4,7 +4,7 @@ from email.mime.multipart import MIMEMultipart from email.mime.text import MIMEText from typing import Any, Dict, List, Optional, Union -from pydantic import BaseModel, Field +from pydantic_v1 import BaseModel, Field from langchain.callbacks.manager import CallbackManagerForToolRun from langchain.tools.gmail.base import GmailBaseTool diff --git a/libs/langchain/langchain/tools/google_places/tool.py b/libs/langchain/langchain/tools/google_places/tool.py index 644ba134c..c738c5eb8 100644 --- a/libs/langchain/langchain/tools/google_places/tool.py +++ b/libs/langchain/langchain/tools/google_places/tool.py @@ -2,7 +2,7 @@ from typing import Optional, Type -from pydantic import BaseModel, Field +from pydantic_v1 import BaseModel, Field from langchain.callbacks.manager import CallbackManagerForToolRun from langchain.tools.base import BaseTool diff --git a/libs/langchain/langchain/tools/google_serper/tool.py b/libs/langchain/langchain/tools/google_serper/tool.py index f139263ed..7773249d6 100644 --- a/libs/langchain/langchain/tools/google_serper/tool.py +++ b/libs/langchain/langchain/tools/google_serper/tool.py @@ -2,7 +2,7 @@ from typing import Optional -from pydantic.fields import Field +from pydantic_v1.fields import Field from langchain.callbacks.manager import ( AsyncCallbackManagerForToolRun, diff --git a/libs/langchain/langchain/tools/human/tool.py b/libs/langchain/langchain/tools/human/tool.py index 4d8f5fd90..d16e62a15 100644 --- a/libs/langchain/langchain/tools/human/tool.py +++ b/libs/langchain/langchain/tools/human/tool.py @@ -2,7 +2,7 @@ from typing import Callable, Optional -from pydantic import Field +from pydantic_v1 import Field from langchain.callbacks.manager import CallbackManagerForToolRun from langchain.tools.base import BaseTool diff --git a/libs/langchain/langchain/tools/jira/tool.py b/libs/langchain/langchain/tools/jira/tool.py index 26a9c0d91..fa493cc23 100644 --- a/libs/langchain/langchain/tools/jira/tool.py +++ b/libs/langchain/langchain/tools/jira/tool.py @@ -30,7 +30,7 @@ agent = initialize_agent( """ from typing import Optional -from pydantic import Field +from pydantic_v1 import Field from langchain.callbacks.manager import CallbackManagerForToolRun from langchain.tools.base import BaseTool diff --git a/libs/langchain/langchain/tools/json/tool.py b/libs/langchain/langchain/tools/json/tool.py index 6c75de20c..ad909a147 100644 --- a/libs/langchain/langchain/tools/json/tool.py +++ b/libs/langchain/langchain/tools/json/tool.py @@ -7,7 +7,7 @@ import re from pathlib import Path from typing import Dict, List, Optional, Union -from pydantic import BaseModel +from pydantic_v1 import BaseModel from langchain.callbacks.manager import ( AsyncCallbackManagerForToolRun, diff --git a/libs/langchain/langchain/tools/multion/create_session.py b/libs/langchain/langchain/tools/multion/create_session.py index b0551e49c..a434d5edb 100644 --- a/libs/langchain/langchain/tools/multion/create_session.py +++ b/libs/langchain/langchain/tools/multion/create_session.py @@ -1,6 +1,6 @@ from typing import TYPE_CHECKING, Optional, Type -from pydantic import BaseModel, Field +from pydantic_v1 import BaseModel, Field from langchain.callbacks.manager import CallbackManagerForToolRun from langchain.tools.base import BaseTool diff --git a/libs/langchain/langchain/tools/multion/update_session.py b/libs/langchain/langchain/tools/multion/update_session.py index 1f20d70d6..0a2f30412 100644 --- a/libs/langchain/langchain/tools/multion/update_session.py +++ b/libs/langchain/langchain/tools/multion/update_session.py @@ -1,6 +1,6 @@ from typing import TYPE_CHECKING, Optional, Type -from pydantic import BaseModel, Field +from pydantic_v1 import BaseModel, Field from langchain.callbacks.manager import CallbackManagerForToolRun from langchain.tools.base import BaseTool diff --git a/libs/langchain/langchain/tools/nuclia/tool.py b/libs/langchain/langchain/tools/nuclia/tool.py index 054a439db..0d40a43b3 100644 --- a/libs/langchain/langchain/tools/nuclia/tool.py +++ b/libs/langchain/langchain/tools/nuclia/tool.py @@ -16,7 +16,7 @@ import os from typing import Any, Dict, Optional, Type, Union import requests -from pydantic import BaseModel, Field +from pydantic_v1 import BaseModel, Field from langchain.callbacks.manager import ( AsyncCallbackManagerForToolRun, diff --git a/libs/langchain/langchain/tools/office365/base.py b/libs/langchain/langchain/tools/office365/base.py index f7f6659e1..90d2db401 100644 --- a/libs/langchain/langchain/tools/office365/base.py +++ b/libs/langchain/langchain/tools/office365/base.py @@ -3,7 +3,7 @@ from __future__ import annotations from typing import TYPE_CHECKING -from pydantic import Field +from pydantic_v1 import Field from langchain.tools.base import BaseTool from langchain.tools.office365.utils import authenticate diff --git a/libs/langchain/langchain/tools/office365/create_draft_message.py b/libs/langchain/langchain/tools/office365/create_draft_message.py index 68b161310..0d109ffbc 100644 --- a/libs/langchain/langchain/tools/office365/create_draft_message.py +++ b/libs/langchain/langchain/tools/office365/create_draft_message.py @@ -1,6 +1,6 @@ from typing import List, Optional, Type -from pydantic import BaseModel, Field +from pydantic_v1 import BaseModel, Field from langchain.callbacks.manager import CallbackManagerForToolRun from langchain.tools.office365.base import O365BaseTool diff --git a/libs/langchain/langchain/tools/office365/events_search.py b/libs/langchain/langchain/tools/office365/events_search.py index fba8fcb4f..ec3ab19c5 100644 --- a/libs/langchain/langchain/tools/office365/events_search.py +++ b/libs/langchain/langchain/tools/office365/events_search.py @@ -7,7 +7,7 @@ https://learn.microsoft.com/en-us/graph/auth/ from datetime import datetime as dt from typing import Any, Dict, List, Optional, Type -from pydantic import BaseModel, Extra, Field +from pydantic_v1 import BaseModel, Extra, Field from langchain.callbacks.manager import CallbackManagerForToolRun from langchain.tools.office365.base import O365BaseTool diff --git a/libs/langchain/langchain/tools/office365/messages_search.py b/libs/langchain/langchain/tools/office365/messages_search.py index 435ba58d6..67182664f 100644 --- a/libs/langchain/langchain/tools/office365/messages_search.py +++ b/libs/langchain/langchain/tools/office365/messages_search.py @@ -6,7 +6,7 @@ https://learn.microsoft.com/en-us/graph/auth/ from typing import Any, Dict, List, Optional, Type -from pydantic import BaseModel, Extra, Field +from pydantic_v1 import BaseModel, Extra, Field from langchain.callbacks.manager import CallbackManagerForToolRun from langchain.tools.office365.base import O365BaseTool diff --git a/libs/langchain/langchain/tools/office365/send_event.py b/libs/langchain/langchain/tools/office365/send_event.py index f19992b32..8d925c28e 100644 --- a/libs/langchain/langchain/tools/office365/send_event.py +++ b/libs/langchain/langchain/tools/office365/send_event.py @@ -7,7 +7,7 @@ https://learn.microsoft.com/en-us/graph/auth/ from datetime import datetime as dt from typing import List, Optional, Type -from pydantic import BaseModel, Field +from pydantic_v1 import BaseModel, Field from langchain.callbacks.manager import CallbackManagerForToolRun from langchain.tools.office365.base import O365BaseTool diff --git a/libs/langchain/langchain/tools/office365/send_message.py b/libs/langchain/langchain/tools/office365/send_message.py index 9104d1685..b420ec0f3 100644 --- a/libs/langchain/langchain/tools/office365/send_message.py +++ b/libs/langchain/langchain/tools/office365/send_message.py @@ -1,6 +1,6 @@ from typing import List, Optional, Type -from pydantic import BaseModel, Field +from pydantic_v1 import BaseModel, Field from langchain.callbacks.manager import CallbackManagerForToolRun from langchain.tools.office365.base import O365BaseTool diff --git a/libs/langchain/langchain/tools/openapi/utils/api_models.py b/libs/langchain/langchain/tools/openapi/utils/api_models.py index 42e8f13a3..b40dde124 100644 --- a/libs/langchain/langchain/tools/openapi/utils/api_models.py +++ b/libs/langchain/langchain/tools/openapi/utils/api_models.py @@ -4,7 +4,7 @@ from enum import Enum from typing import Any, Dict, List, Optional, Sequence, Tuple, Type, Union from openapi_schema_pydantic import MediaType, Parameter, Reference, RequestBody, Schema -from pydantic import BaseModel, Field +from pydantic_v1 import BaseModel, Field from langchain.tools.openapi.utils.openapi_utils import HTTPVerb, OpenAPISpec diff --git a/libs/langchain/langchain/tools/openweathermap/tool.py b/libs/langchain/langchain/tools/openweathermap/tool.py index 0290e144a..2d8b9e577 100644 --- a/libs/langchain/langchain/tools/openweathermap/tool.py +++ b/libs/langchain/langchain/tools/openweathermap/tool.py @@ -2,7 +2,7 @@ from typing import Optional -from pydantic import Field +from pydantic_v1 import Field from langchain.callbacks.manager import CallbackManagerForToolRun from langchain.tools.base import BaseTool diff --git a/libs/langchain/langchain/tools/playwright/base.py b/libs/langchain/langchain/tools/playwright/base.py index 7930a29fc..139195994 100644 --- a/libs/langchain/langchain/tools/playwright/base.py +++ b/libs/langchain/langchain/tools/playwright/base.py @@ -2,7 +2,7 @@ from __future__ import annotations from typing import TYPE_CHECKING, Optional, Tuple, Type -from pydantic import root_validator +from pydantic_v1 import root_validator from langchain.tools.base import BaseTool diff --git a/libs/langchain/langchain/tools/playwright/click.py b/libs/langchain/langchain/tools/playwright/click.py index d87248f73..b5191733c 100644 --- a/libs/langchain/langchain/tools/playwright/click.py +++ b/libs/langchain/langchain/tools/playwright/click.py @@ -2,7 +2,7 @@ from __future__ import annotations from typing import Optional, Type -from pydantic import BaseModel, Field +from pydantic_v1 import BaseModel, Field from langchain.callbacks.manager import ( AsyncCallbackManagerForToolRun, diff --git a/libs/langchain/langchain/tools/playwright/current_page.py b/libs/langchain/langchain/tools/playwright/current_page.py index 6ac77e314..444609057 100644 --- a/libs/langchain/langchain/tools/playwright/current_page.py +++ b/libs/langchain/langchain/tools/playwright/current_page.py @@ -2,7 +2,7 @@ from __future__ import annotations from typing import Optional, Type -from pydantic import BaseModel +from pydantic_v1 import BaseModel from langchain.callbacks.manager import ( AsyncCallbackManagerForToolRun, diff --git a/libs/langchain/langchain/tools/playwright/extract_hyperlinks.py b/libs/langchain/langchain/tools/playwright/extract_hyperlinks.py index 885059786..f1ddca25d 100644 --- a/libs/langchain/langchain/tools/playwright/extract_hyperlinks.py +++ b/libs/langchain/langchain/tools/playwright/extract_hyperlinks.py @@ -3,7 +3,7 @@ from __future__ import annotations import json from typing import TYPE_CHECKING, Any, Optional, Type -from pydantic import BaseModel, Field, root_validator +from pydantic_v1 import BaseModel, Field, root_validator from langchain.callbacks.manager import ( AsyncCallbackManagerForToolRun, diff --git a/libs/langchain/langchain/tools/playwright/extract_text.py b/libs/langchain/langchain/tools/playwright/extract_text.py index 210cde907..82cc707f6 100644 --- a/libs/langchain/langchain/tools/playwright/extract_text.py +++ b/libs/langchain/langchain/tools/playwright/extract_text.py @@ -2,7 +2,7 @@ from __future__ import annotations from typing import Optional, Type -from pydantic import BaseModel, root_validator +from pydantic_v1 import BaseModel, root_validator from langchain.callbacks.manager import ( AsyncCallbackManagerForToolRun, diff --git a/libs/langchain/langchain/tools/playwright/get_elements.py b/libs/langchain/langchain/tools/playwright/get_elements.py index 9a7c33d84..668405544 100644 --- a/libs/langchain/langchain/tools/playwright/get_elements.py +++ b/libs/langchain/langchain/tools/playwright/get_elements.py @@ -3,7 +3,7 @@ from __future__ import annotations import json from typing import TYPE_CHECKING, List, Optional, Sequence, Type -from pydantic import BaseModel, Field +from pydantic_v1 import BaseModel, Field from langchain.callbacks.manager import ( AsyncCallbackManagerForToolRun, diff --git a/libs/langchain/langchain/tools/playwright/navigate.py b/libs/langchain/langchain/tools/playwright/navigate.py index 14065d6c7..d59f4558a 100644 --- a/libs/langchain/langchain/tools/playwright/navigate.py +++ b/libs/langchain/langchain/tools/playwright/navigate.py @@ -2,7 +2,7 @@ from __future__ import annotations from typing import Optional, Type -from pydantic import BaseModel, Field +from pydantic_v1 import BaseModel, Field from langchain.callbacks.manager import ( AsyncCallbackManagerForToolRun, diff --git a/libs/langchain/langchain/tools/playwright/navigate_back.py b/libs/langchain/langchain/tools/playwright/navigate_back.py index da4d35775..16c853251 100644 --- a/libs/langchain/langchain/tools/playwright/navigate_back.py +++ b/libs/langchain/langchain/tools/playwright/navigate_back.py @@ -2,7 +2,7 @@ from __future__ import annotations from typing import Optional, Type -from pydantic import BaseModel +from pydantic_v1 import BaseModel from langchain.callbacks.manager import ( AsyncCallbackManagerForToolRun, diff --git a/libs/langchain/langchain/tools/plugin.py b/libs/langchain/langchain/tools/plugin.py index eafca8491..f54d7dc40 100644 --- a/libs/langchain/langchain/tools/plugin.py +++ b/libs/langchain/langchain/tools/plugin.py @@ -5,7 +5,7 @@ from typing import Optional, Type import requests import yaml -from pydantic import BaseModel +from pydantic_v1 import BaseModel from langchain.callbacks.manager import ( AsyncCallbackManagerForToolRun, diff --git a/libs/langchain/langchain/tools/powerbi/tool.py b/libs/langchain/langchain/tools/powerbi/tool.py index a201875cd..c9f7ee835 100644 --- a/libs/langchain/langchain/tools/powerbi/tool.py +++ b/libs/langchain/langchain/tools/powerbi/tool.py @@ -3,7 +3,7 @@ import logging from time import perf_counter from typing import Any, Dict, Optional, Tuple -from pydantic import Field, validator +from pydantic_v1 import Field, validator from langchain.callbacks.manager import ( AsyncCallbackManagerForToolRun, diff --git a/libs/langchain/langchain/tools/pubmed/tool.py b/libs/langchain/langchain/tools/pubmed/tool.py index dac103de7..6a82eef66 100644 --- a/libs/langchain/langchain/tools/pubmed/tool.py +++ b/libs/langchain/langchain/tools/pubmed/tool.py @@ -1,6 +1,6 @@ from typing import Optional -from pydantic import Field +from pydantic_v1 import Field from langchain.callbacks.manager import CallbackManagerForToolRun from langchain.tools.base import BaseTool diff --git a/libs/langchain/langchain/tools/python/tool.py b/libs/langchain/langchain/tools/python/tool.py index a820ba614..8c8bb11ef 100644 --- a/libs/langchain/langchain/tools/python/tool.py +++ b/libs/langchain/langchain/tools/python/tool.py @@ -8,7 +8,7 @@ from contextlib import redirect_stdout from io import StringIO from typing import Any, Dict, Optional -from pydantic import Field, root_validator +from pydantic_v1 import Field, root_validator from langchain.callbacks.manager import ( AsyncCallbackManagerForToolRun, diff --git a/libs/langchain/langchain/tools/requests/tool.py b/libs/langchain/langchain/tools/requests/tool.py index bc032cbd1..e3abf8a0a 100644 --- a/libs/langchain/langchain/tools/requests/tool.py +++ b/libs/langchain/langchain/tools/requests/tool.py @@ -3,7 +3,7 @@ import json from typing import Any, Dict, Optional -from pydantic import BaseModel +from pydantic_v1 import BaseModel from langchain.callbacks.manager import ( AsyncCallbackManagerForToolRun, CallbackManagerForToolRun, diff --git a/libs/langchain/langchain/tools/scenexplain/tool.py b/libs/langchain/langchain/tools/scenexplain/tool.py index 7ad619c1e..9858e2b1e 100644 --- a/libs/langchain/langchain/tools/scenexplain/tool.py +++ b/libs/langchain/langchain/tools/scenexplain/tool.py @@ -1,7 +1,7 @@ """Tool for the SceneXplain API.""" from typing import Optional -from pydantic import BaseModel, Field +from pydantic_v1 import BaseModel, Field from langchain.callbacks.manager import CallbackManagerForToolRun from langchain.tools.base import BaseTool diff --git a/libs/langchain/langchain/tools/searx_search/tool.py b/libs/langchain/langchain/tools/searx_search/tool.py index 3de5521c6..422ef7394 100644 --- a/libs/langchain/langchain/tools/searx_search/tool.py +++ b/libs/langchain/langchain/tools/searx_search/tool.py @@ -1,7 +1,7 @@ """Tool for the SearxNG search API.""" from typing import Optional -from pydantic import Extra +from pydantic_v1 import Extra from langchain.callbacks.manager import ( AsyncCallbackManagerForToolRun, diff --git a/libs/langchain/langchain/tools/shell/tool.py b/libs/langchain/langchain/tools/shell/tool.py index 28f2edcf2..82125e013 100644 --- a/libs/langchain/langchain/tools/shell/tool.py +++ b/libs/langchain/langchain/tools/shell/tool.py @@ -3,7 +3,7 @@ import platform import warnings from typing import List, Optional, Type, Union -from pydantic import BaseModel, Field, root_validator +from pydantic_v1 import BaseModel, Field, root_validator from langchain.callbacks.manager import ( AsyncCallbackManagerForToolRun, diff --git a/libs/langchain/langchain/tools/sleep/tool.py b/libs/langchain/langchain/tools/sleep/tool.py index 707cc329b..348b9366c 100644 --- a/libs/langchain/langchain/tools/sleep/tool.py +++ b/libs/langchain/langchain/tools/sleep/tool.py @@ -3,7 +3,7 @@ from asyncio import sleep as asleep from time import sleep from typing import Optional, Type -from pydantic import BaseModel, Field +from pydantic_v1 import BaseModel, Field from langchain.callbacks.manager import ( AsyncCallbackManagerForToolRun, diff --git a/libs/langchain/langchain/tools/spark_sql/tool.py b/libs/langchain/langchain/tools/spark_sql/tool.py index 89ea7dbf7..4b23d5305 100644 --- a/libs/langchain/langchain/tools/spark_sql/tool.py +++ b/libs/langchain/langchain/tools/spark_sql/tool.py @@ -2,7 +2,7 @@ """Tools for interacting with Spark SQL.""" from typing import Any, Dict, Optional -from pydantic import BaseModel, Extra, Field, root_validator +from pydantic_v1 import BaseModel, Extra, Field, root_validator from langchain.schema.language_model import BaseLanguageModel from langchain.callbacks.manager import ( diff --git a/libs/langchain/langchain/tools/sql_database/tool.py b/libs/langchain/langchain/tools/sql_database/tool.py index 7ea40eb4b..f9597df96 100644 --- a/libs/langchain/langchain/tools/sql_database/tool.py +++ b/libs/langchain/langchain/tools/sql_database/tool.py @@ -2,7 +2,7 @@ """Tools for interacting with a SQL database.""" from typing import Any, Dict, Optional -from pydantic import BaseModel, Extra, Field, root_validator +from pydantic_v1 import BaseModel, Extra, Field, root_validator from langchain.schema.language_model import BaseLanguageModel from langchain.callbacks.manager import ( diff --git a/libs/langchain/langchain/tools/steamship_image_generation/tool.py b/libs/langchain/langchain/tools/steamship_image_generation/tool.py index 1c9188a20..918450608 100644 --- a/libs/langchain/langchain/tools/steamship_image_generation/tool.py +++ b/libs/langchain/langchain/tools/steamship_image_generation/tool.py @@ -16,7 +16,7 @@ from __future__ import annotations from enum import Enum from typing import TYPE_CHECKING, Dict, Optional -from pydantic import root_validator +from pydantic_v1 import root_validator from langchain.callbacks.manager import CallbackManagerForToolRun from langchain.tools import BaseTool diff --git a/libs/langchain/langchain/tools/vectorstore/tool.py b/libs/langchain/langchain/tools/vectorstore/tool.py index ae77fa12f..9fa0e0e42 100644 --- a/libs/langchain/langchain/tools/vectorstore/tool.py +++ b/libs/langchain/langchain/tools/vectorstore/tool.py @@ -3,7 +3,7 @@ import json from typing import Any, Dict, Optional -from pydantic import BaseModel, Field +from pydantic_v1 import BaseModel, Field from langchain.callbacks.manager import CallbackManagerForToolRun from langchain.chains import RetrievalQA, RetrievalQAWithSourcesChain diff --git a/libs/langchain/langchain/tools/zapier/tool.py b/libs/langchain/langchain/tools/zapier/tool.py index 96b620928..ec611836e 100644 --- a/libs/langchain/langchain/tools/zapier/tool.py +++ b/libs/langchain/langchain/tools/zapier/tool.py @@ -79,7 +79,7 @@ agent.run(("Summarize the last email I received regarding Silicon Valley Bank. " """ from typing import Any, Dict, Optional -from pydantic import Field, root_validator +from pydantic_v1 import Field, root_validator from langchain.callbacks.manager import ( AsyncCallbackManagerForToolRun, diff --git a/libs/langchain/langchain/utilities/arxiv.py b/libs/langchain/langchain/utilities/arxiv.py index bd4aa2f15..4c9ea6300 100644 --- a/libs/langchain/langchain/utilities/arxiv.py +++ b/libs/langchain/langchain/utilities/arxiv.py @@ -3,7 +3,7 @@ import logging import os from typing import Any, Dict, List, Optional -from pydantic import BaseModel, root_validator +from pydantic_v1 import BaseModel, root_validator from langchain.schema import Document diff --git a/libs/langchain/langchain/utilities/awslambda.py b/libs/langchain/langchain/utilities/awslambda.py index 64782905e..7bbb619b8 100644 --- a/libs/langchain/langchain/utilities/awslambda.py +++ b/libs/langchain/langchain/utilities/awslambda.py @@ -2,7 +2,7 @@ import json from typing import Any, Dict, Optional -from pydantic import BaseModel, Extra, root_validator +from pydantic_v1 import BaseModel, Extra, root_validator class LambdaWrapper(BaseModel): diff --git a/libs/langchain/langchain/utilities/bibtex.py b/libs/langchain/langchain/utilities/bibtex.py index afafaef22..84e749eb1 100644 --- a/libs/langchain/langchain/utilities/bibtex.py +++ b/libs/langchain/langchain/utilities/bibtex.py @@ -2,7 +2,7 @@ import logging from typing import Any, Dict, List, Mapping -from pydantic import BaseModel, Extra, root_validator +from pydantic_v1 import BaseModel, Extra, root_validator logger = logging.getLogger(__name__) diff --git a/libs/langchain/langchain/utilities/bing_search.py b/libs/langchain/langchain/utilities/bing_search.py index 6dc2fe407..eb6d99dad 100644 --- a/libs/langchain/langchain/utilities/bing_search.py +++ b/libs/langchain/langchain/utilities/bing_search.py @@ -6,7 +6,7 @@ https://levelup.gitconnected.com/api-tutorial-how-to-use-bing-web-search-api-in- from typing import Dict, List import requests -from pydantic import BaseModel, Extra, root_validator +from pydantic_v1 import BaseModel, Extra, root_validator from langchain.utils import get_from_dict_or_env diff --git a/libs/langchain/langchain/utilities/brave_search.py b/libs/langchain/langchain/utilities/brave_search.py index 0e870b8f6..3932dbc08 100644 --- a/libs/langchain/langchain/utilities/brave_search.py +++ b/libs/langchain/langchain/utilities/brave_search.py @@ -2,7 +2,7 @@ import json from typing import List import requests -from pydantic import BaseModel, Field +from pydantic_v1 import BaseModel, Field from langchain.schema import Document diff --git a/libs/langchain/langchain/utilities/dalle_image_generator.py b/libs/langchain/langchain/utilities/dalle_image_generator.py index 8042f4cf6..29286aaac 100644 --- a/libs/langchain/langchain/utilities/dalle_image_generator.py +++ b/libs/langchain/langchain/utilities/dalle_image_generator.py @@ -1,7 +1,7 @@ """Utility that calls OpenAI's Dall-E Image Generator.""" from typing import Any, Dict, Optional -from pydantic import BaseModel, Extra, root_validator +from pydantic_v1 import BaseModel, Extra, root_validator from langchain.utils import get_from_dict_or_env diff --git a/libs/langchain/langchain/utilities/dataforseo_api_search.py b/libs/langchain/langchain/utilities/dataforseo_api_search.py index b8fc9ce86..4f46faf86 100644 --- a/libs/langchain/langchain/utilities/dataforseo_api_search.py +++ b/libs/langchain/langchain/utilities/dataforseo_api_search.py @@ -4,7 +4,7 @@ from urllib.parse import quote import aiohttp import requests -from pydantic import BaseModel, Extra, Field, root_validator +from pydantic_v1 import BaseModel, Extra, Field, root_validator from langchain.utils import get_from_dict_or_env diff --git a/libs/langchain/langchain/utilities/duckduckgo_search.py b/libs/langchain/langchain/utilities/duckduckgo_search.py index 0d9e12705..78073ffa4 100644 --- a/libs/langchain/langchain/utilities/duckduckgo_search.py +++ b/libs/langchain/langchain/utilities/duckduckgo_search.py @@ -5,8 +5,8 @@ https://pypi.org/project/duckduckgo-search/ """ from typing import Dict, List, Optional -from pydantic import BaseModel, Extra -from pydantic.class_validators import root_validator +from pydantic_v1 import BaseModel, Extra +from pydantic_v1.class_validators import root_validator class DuckDuckGoSearchAPIWrapper(BaseModel): diff --git a/libs/langchain/langchain/utilities/github.py b/libs/langchain/langchain/utilities/github.py index 7d350a559..ae16aa671 100644 --- a/libs/langchain/langchain/utilities/github.py +++ b/libs/langchain/langchain/utilities/github.py @@ -4,7 +4,7 @@ from __future__ import annotations import json from typing import TYPE_CHECKING, Any, Dict, List, Optional -from pydantic import BaseModel, Extra, root_validator +from pydantic_v1 import BaseModel, Extra, root_validator from langchain.utils import get_from_dict_or_env diff --git a/libs/langchain/langchain/utilities/golden_query.py b/libs/langchain/langchain/utilities/golden_query.py index df7e505fa..5a6843005 100644 --- a/libs/langchain/langchain/utilities/golden_query.py +++ b/libs/langchain/langchain/utilities/golden_query.py @@ -3,7 +3,7 @@ import json from typing import Dict, Optional import requests -from pydantic import BaseModel, Extra, root_validator +from pydantic_v1 import BaseModel, Extra, root_validator from langchain.utils import get_from_dict_or_env diff --git a/libs/langchain/langchain/utilities/google_places_api.py b/libs/langchain/langchain/utilities/google_places_api.py index 8b8ea7a93..9b8e4f9fa 100644 --- a/libs/langchain/langchain/utilities/google_places_api.py +++ b/libs/langchain/langchain/utilities/google_places_api.py @@ -4,7 +4,7 @@ import logging from typing import Any, Dict, Optional -from pydantic import BaseModel, Extra, root_validator +from pydantic_v1 import BaseModel, Extra, root_validator from langchain.utils import get_from_dict_or_env diff --git a/libs/langchain/langchain/utilities/google_search.py b/libs/langchain/langchain/utilities/google_search.py index 2c118dd16..bdbf71e49 100644 --- a/libs/langchain/langchain/utilities/google_search.py +++ b/libs/langchain/langchain/utilities/google_search.py @@ -1,7 +1,7 @@ """Util that calls Google Search.""" from typing import Any, Dict, List, Optional -from pydantic import BaseModel, Extra, root_validator +from pydantic_v1 import BaseModel, Extra, root_validator from langchain.utils import get_from_dict_or_env diff --git a/libs/langchain/langchain/utilities/google_serper.py b/libs/langchain/langchain/utilities/google_serper.py index 9db376c47..6c1f31fa7 100644 --- a/libs/langchain/langchain/utilities/google_serper.py +++ b/libs/langchain/langchain/utilities/google_serper.py @@ -3,8 +3,8 @@ from typing import Any, Dict, List, Optional import aiohttp import requests -from pydantic.class_validators import root_validator -from pydantic.main import BaseModel +from pydantic_v1.class_validators import root_validator +from pydantic_v1.main import BaseModel from typing_extensions import Literal from langchain.utils import get_from_dict_or_env diff --git a/libs/langchain/langchain/utilities/graphql.py b/libs/langchain/langchain/utilities/graphql.py index 1e8a7b203..6b2dd309b 100644 --- a/libs/langchain/langchain/utilities/graphql.py +++ b/libs/langchain/langchain/utilities/graphql.py @@ -1,7 +1,7 @@ import json from typing import Any, Callable, Dict, Optional -from pydantic import BaseModel, Extra, root_validator +from pydantic_v1 import BaseModel, Extra, root_validator class GraphQLAPIWrapper(BaseModel): diff --git a/libs/langchain/langchain/utilities/jira.py b/libs/langchain/langchain/utilities/jira.py index d59a76b47..d246a12dc 100644 --- a/libs/langchain/langchain/utilities/jira.py +++ b/libs/langchain/langchain/utilities/jira.py @@ -1,7 +1,7 @@ """Util that calls Jira.""" from typing import Any, Dict, List, Optional -from pydantic import BaseModel, Extra, root_validator +from pydantic_v1 import BaseModel, Extra, root_validator from langchain.utils import get_from_dict_or_env diff --git a/libs/langchain/langchain/utilities/metaphor_search.py b/libs/langchain/langchain/utilities/metaphor_search.py index 2b5e2dbd3..b05844bb0 100644 --- a/libs/langchain/langchain/utilities/metaphor_search.py +++ b/libs/langchain/langchain/utilities/metaphor_search.py @@ -7,7 +7,7 @@ from typing import Dict, List, Optional import aiohttp import requests -from pydantic import BaseModel, Extra, root_validator +from pydantic_v1 import BaseModel, Extra, root_validator from langchain.utils import get_from_dict_or_env diff --git a/libs/langchain/langchain/utilities/openapi.py b/libs/langchain/langchain/utilities/openapi.py index 06d0f6663..5a1f8d4a8 100644 --- a/libs/langchain/langchain/utilities/openapi.py +++ b/libs/langchain/langchain/utilities/openapi.py @@ -20,7 +20,7 @@ from openapi_schema_pydantic import ( RequestBody, Schema, ) -from pydantic import ValidationError +from pydantic_v1 import ValidationError logger = logging.getLogger(__name__) diff --git a/libs/langchain/langchain/utilities/openweathermap.py b/libs/langchain/langchain/utilities/openweathermap.py index 7b157625e..b6703427e 100644 --- a/libs/langchain/langchain/utilities/openweathermap.py +++ b/libs/langchain/langchain/utilities/openweathermap.py @@ -1,7 +1,7 @@ """Util that calls OpenWeatherMap using PyOWM.""" from typing import Any, Dict, Optional -from pydantic import BaseModel, Extra, root_validator +from pydantic_v1 import BaseModel, Extra, root_validator from langchain.utils import get_from_dict_or_env diff --git a/libs/langchain/langchain/utilities/powerbi.py b/libs/langchain/langchain/utilities/powerbi.py index 5c00d017b..67b532ef9 100644 --- a/libs/langchain/langchain/utilities/powerbi.py +++ b/libs/langchain/langchain/utilities/powerbi.py @@ -9,7 +9,7 @@ from typing import TYPE_CHECKING, Any, Dict, Iterable, List, Optional, Union import aiohttp import requests from aiohttp import ServerTimeoutError -from pydantic import BaseModel, Field, root_validator, validator +from pydantic_v1 import BaseModel, Field, root_validator, validator from requests.exceptions import Timeout _LOGGER = logging.getLogger(__name__) diff --git a/libs/langchain/langchain/utilities/pubmed.py b/libs/langchain/langchain/utilities/pubmed.py index 261358a6b..4c099e4b2 100644 --- a/libs/langchain/langchain/utilities/pubmed.py +++ b/libs/langchain/langchain/utilities/pubmed.py @@ -5,8 +5,8 @@ import urllib.error import urllib.request from typing import Any, Dict, Iterator, List -from pydantic import BaseModel -from pydantic.class_validators import root_validator +from pydantic_v1 import BaseModel +from pydantic_v1.class_validators import root_validator from langchain.schema import Document diff --git a/libs/langchain/langchain/utilities/python.py b/libs/langchain/langchain/utilities/python.py index 348fd274b..441233da7 100644 --- a/libs/langchain/langchain/utilities/python.py +++ b/libs/langchain/langchain/utilities/python.py @@ -5,7 +5,7 @@ import sys from io import StringIO from typing import Dict, Optional -from pydantic import BaseModel, Field +from pydantic_v1 import BaseModel, Field logger = logging.getLogger(__name__) diff --git a/libs/langchain/langchain/utilities/requests.py b/libs/langchain/langchain/utilities/requests.py index 2891701c4..ac46cf307 100644 --- a/libs/langchain/langchain/utilities/requests.py +++ b/libs/langchain/langchain/utilities/requests.py @@ -4,7 +4,7 @@ from typing import Any, AsyncGenerator, Dict, Optional import aiohttp import requests -from pydantic import BaseModel, Extra +from pydantic_v1 import BaseModel, Extra class Requests(BaseModel): diff --git a/libs/langchain/langchain/utilities/scenexplain.py b/libs/langchain/langchain/utilities/scenexplain.py index 1150a34dc..0b769b95a 100644 --- a/libs/langchain/langchain/utilities/scenexplain.py +++ b/libs/langchain/langchain/utilities/scenexplain.py @@ -8,7 +8,7 @@ You can obtain a key by following the steps below. from typing import Dict import requests -from pydantic import BaseModel, BaseSettings, Field, root_validator +from pydantic_v1 import BaseModel, BaseSettings, Field, root_validator from langchain.utils import get_from_dict_or_env diff --git a/libs/langchain/langchain/utilities/searx_search.py b/libs/langchain/langchain/utilities/searx_search.py index e73e81c38..3a025e620 100644 --- a/libs/langchain/langchain/utilities/searx_search.py +++ b/libs/langchain/langchain/utilities/searx_search.py @@ -132,7 +132,7 @@ from typing import Any, Dict, List, Optional import aiohttp import requests -from pydantic import BaseModel, Extra, Field, PrivateAttr, root_validator, validator +from pydantic_v1 import BaseModel, Extra, Field, PrivateAttr, root_validator, validator from langchain.utils import get_from_dict_or_env diff --git a/libs/langchain/langchain/utilities/serpapi.py b/libs/langchain/langchain/utilities/serpapi.py index 98f4214ce..05a410381 100644 --- a/libs/langchain/langchain/utilities/serpapi.py +++ b/libs/langchain/langchain/utilities/serpapi.py @@ -7,7 +7,7 @@ import sys from typing import Any, Dict, Optional, Tuple import aiohttp -from pydantic import BaseModel, Extra, Field, root_validator +from pydantic_v1 import BaseModel, Extra, Field, root_validator from langchain.utils import get_from_dict_or_env diff --git a/libs/langchain/langchain/utilities/tensorflow_datasets.py b/libs/langchain/langchain/utilities/tensorflow_datasets.py index 1a7073d2f..fb17112a7 100644 --- a/libs/langchain/langchain/utilities/tensorflow_datasets.py +++ b/libs/langchain/langchain/utilities/tensorflow_datasets.py @@ -1,7 +1,7 @@ import logging from typing import Any, Callable, Dict, Iterator, List, Optional -from pydantic import BaseModel, root_validator +from pydantic_v1 import BaseModel, root_validator from langchain.schema import Document diff --git a/libs/langchain/langchain/utilities/twilio.py b/libs/langchain/langchain/utilities/twilio.py index 45e009bb2..a0081f5b2 100644 --- a/libs/langchain/langchain/utilities/twilio.py +++ b/libs/langchain/langchain/utilities/twilio.py @@ -1,7 +1,7 @@ """Util that calls Twilio.""" from typing import Any, Dict, Optional -from pydantic import BaseModel, Extra, root_validator +from pydantic_v1 import BaseModel, Extra, root_validator from langchain.utils import get_from_dict_or_env diff --git a/libs/langchain/langchain/utilities/wikipedia.py b/libs/langchain/langchain/utilities/wikipedia.py index 1202f8b24..4476603eb 100644 --- a/libs/langchain/langchain/utilities/wikipedia.py +++ b/libs/langchain/langchain/utilities/wikipedia.py @@ -2,7 +2,7 @@ import logging from typing import Any, Dict, List, Optional -from pydantic import BaseModel, root_validator +from pydantic_v1 import BaseModel, root_validator from langchain.schema import Document diff --git a/libs/langchain/langchain/utilities/wolfram_alpha.py b/libs/langchain/langchain/utilities/wolfram_alpha.py index a27aec051..aadadad3d 100644 --- a/libs/langchain/langchain/utilities/wolfram_alpha.py +++ b/libs/langchain/langchain/utilities/wolfram_alpha.py @@ -1,7 +1,7 @@ """Util that calls WolframAlpha.""" from typing import Any, Dict, Optional -from pydantic import BaseModel, Extra, root_validator +from pydantic_v1 import BaseModel, Extra, root_validator from langchain.utils import get_from_dict_or_env diff --git a/libs/langchain/langchain/utilities/zapier.py b/libs/langchain/langchain/utilities/zapier.py index 5884f5e4e..613647d1e 100644 --- a/libs/langchain/langchain/utilities/zapier.py +++ b/libs/langchain/langchain/utilities/zapier.py @@ -16,7 +16,7 @@ from typing import Any, Dict, List, Optional import aiohttp import requests -from pydantic import BaseModel, Extra, root_validator +from pydantic_v1 import BaseModel, Extra, root_validator from requests import Request, Session from langchain.utils import get_from_dict_or_env diff --git a/libs/langchain/langchain/utils/pydantic.py b/libs/langchain/langchain/utils/pydantic.py new file mode 100644 index 000000000..80ddb81fc --- /dev/null +++ b/libs/langchain/langchain/utils/pydantic.py @@ -0,0 +1,14 @@ +"""Utilities for tests.""" + + +def get_pydantic_major_version() -> int: + """Get the major version of Pydantic.""" + try: + import pydantic + + return int(pydantic.__version__.split(".")[0]) + except ImportError: + return 0 + + +PYDANTIC_MAJOR_VERSION = get_pydantic_major_version() diff --git a/libs/langchain/langchain/vectorstores/azuresearch.py b/libs/langchain/langchain/vectorstores/azuresearch.py index b20274b86..f15ef3aa2 100644 --- a/libs/langchain/langchain/vectorstores/azuresearch.py +++ b/libs/langchain/langchain/vectorstores/azuresearch.py @@ -18,7 +18,7 @@ from typing import ( ) import numpy as np -from pydantic import root_validator +from pydantic_v1 import root_validator from langchain.callbacks.manager import ( AsyncCallbackManagerForRetrieverRun, diff --git a/libs/langchain/langchain/vectorstores/base.py b/libs/langchain/langchain/vectorstores/base.py index 8f27ce20b..8544c9893 100644 --- a/libs/langchain/langchain/vectorstores/base.py +++ b/libs/langchain/langchain/vectorstores/base.py @@ -22,7 +22,7 @@ from typing import ( TypeVar, ) -from pydantic import Field, root_validator +from pydantic_v1 import Field, root_validator from langchain.callbacks.manager import ( AsyncCallbackManagerForRetrieverRun, diff --git a/libs/langchain/langchain/vectorstores/clickhouse.py b/libs/langchain/langchain/vectorstores/clickhouse.py index 2544d45fd..9e0955e13 100644 --- a/libs/langchain/langchain/vectorstores/clickhouse.py +++ b/libs/langchain/langchain/vectorstores/clickhouse.py @@ -8,7 +8,7 @@ from hashlib import sha1 from threading import Thread from typing import Any, Dict, Iterable, List, Optional, Tuple, Union -from pydantic import BaseSettings +from pydantic_v1 import BaseSettings from langchain.docstore.document import Document from langchain.embeddings.base import Embeddings diff --git a/libs/langchain/langchain/vectorstores/docarray/base.py b/libs/langchain/langchain/vectorstores/docarray/base.py index fe58f49fc..d82a7feac 100644 --- a/libs/langchain/langchain/vectorstores/docarray/base.py +++ b/libs/langchain/langchain/vectorstores/docarray/base.py @@ -2,7 +2,7 @@ from abc import ABC from typing import TYPE_CHECKING, Any, Iterable, List, Optional, Tuple, Type import numpy as np -from pydantic import Field +from pydantic_v1 import Field from langchain.embeddings.base import Embeddings from langchain.schema import Document diff --git a/libs/langchain/langchain/vectorstores/myscale.py b/libs/langchain/langchain/vectorstores/myscale.py index 28e0824e1..c056c5e09 100644 --- a/libs/langchain/langchain/vectorstores/myscale.py +++ b/libs/langchain/langchain/vectorstores/myscale.py @@ -7,7 +7,7 @@ from hashlib import sha1 from threading import Thread from typing import Any, Dict, Iterable, List, Optional, Tuple -from pydantic import BaseSettings +from pydantic_v1 import BaseSettings from langchain.docstore.document import Document from langchain.embeddings.base import Embeddings diff --git a/libs/langchain/langchain/vectorstores/redis.py b/libs/langchain/langchain/vectorstores/redis.py index f6ed5c401..2105b1c09 100644 --- a/libs/langchain/langchain/vectorstores/redis.py +++ b/libs/langchain/langchain/vectorstores/redis.py @@ -20,7 +20,7 @@ from typing import ( ) import numpy as np -from pydantic import root_validator +from pydantic_v1 import root_validator from langchain.callbacks.manager import ( AsyncCallbackManagerForRetrieverRun, diff --git a/libs/langchain/langchain/vectorstores/starrocks.py b/libs/langchain/langchain/vectorstores/starrocks.py index 0076a4cf0..639b41ea4 100644 --- a/libs/langchain/langchain/vectorstores/starrocks.py +++ b/libs/langchain/langchain/vectorstores/starrocks.py @@ -8,7 +8,7 @@ from hashlib import sha1 from threading import Thread from typing import Any, Dict, Iterable, List, Optional, Tuple -from pydantic import BaseSettings +from pydantic_v1 import BaseSettings from langchain.docstore.document import Document from langchain.embeddings.base import Embeddings diff --git a/libs/langchain/langchain/vectorstores/vectara.py b/libs/langchain/langchain/vectorstores/vectara.py index 16a6e8c50..681831b2b 100644 --- a/libs/langchain/langchain/vectorstores/vectara.py +++ b/libs/langchain/langchain/vectorstores/vectara.py @@ -8,7 +8,7 @@ from hashlib import md5 from typing import Any, Iterable, List, Optional, Tuple, Type import requests -from pydantic import Field +from pydantic_v1 import Field from langchain.embeddings.base import Embeddings from langchain.schema import Document diff --git a/libs/langchain/tests/integration_tests/document_loaders/test_tensorflow_datasets.py b/libs/langchain/tests/integration_tests/document_loaders/test_tensorflow_datasets.py index e930d10fe..e69849911 100644 --- a/libs/langchain/tests/integration_tests/document_loaders/test_tensorflow_datasets.py +++ b/libs/langchain/tests/integration_tests/document_loaders/test_tensorflow_datasets.py @@ -4,7 +4,7 @@ from __future__ import annotations from typing import TYPE_CHECKING import pytest -from pydantic.error_wrappers import ValidationError +from pydantic_v1.error_wrappers import ValidationError from langchain.document_loaders.tensorflow_datasets import TensorflowDatasetLoader from langchain.schema.document import Document diff --git a/libs/langchain/tests/integration_tests/retrievers/docarray/fixtures.py b/libs/langchain/tests/integration_tests/retrievers/docarray/fixtures.py index 520f3e54e..22fec47a0 100644 --- a/libs/langchain/tests/integration_tests/retrievers/docarray/fixtures.py +++ b/libs/langchain/tests/integration_tests/retrievers/docarray/fixtures.py @@ -5,7 +5,7 @@ from typing import TYPE_CHECKING, Any, Dict, Generator, Tuple import numpy as np import pytest -from pydantic import Field +from pydantic_v1 import Field if TYPE_CHECKING: from docarray.index import ( diff --git a/libs/langchain/tests/integration_tests/utilities/test_tensorflow_datasets.py b/libs/langchain/tests/integration_tests/utilities/test_tensorflow_datasets.py index 3066aa61e..48eca0c74 100644 --- a/libs/langchain/tests/integration_tests/utilities/test_tensorflow_datasets.py +++ b/libs/langchain/tests/integration_tests/utilities/test_tensorflow_datasets.py @@ -4,7 +4,7 @@ from __future__ import annotations from typing import TYPE_CHECKING import pytest -from pydantic.error_wrappers import ValidationError +from pydantic_v1.error_wrappers import ValidationError from langchain.schema.document import Document from langchain.utilities.tensorflow_datasets import TensorflowDatasets diff --git a/libs/langchain/tests/mock_servers/robot/server.py b/libs/langchain/tests/mock_servers/robot/server.py index 5af50d3f7..8e28ae583 100644 --- a/libs/langchain/tests/mock_servers/robot/server.py +++ b/libs/langchain/tests/mock_servers/robot/server.py @@ -7,7 +7,7 @@ import uvicorn from fastapi import FastAPI, HTTPException, Query from fastapi.middleware.cors import CORSMiddleware from fastapi.openapi.utils import get_openapi -from pydantic import BaseModel, Field +from pydantic_v1 import BaseModel, Field PORT = 7289 diff --git a/libs/langchain/tests/unit_tests/_api/test_deprecation.py b/libs/langchain/tests/unit_tests/_api/test_deprecation.py index 69605e2ea..430eaaecd 100644 --- a/libs/langchain/tests/unit_tests/_api/test_deprecation.py +++ b/libs/langchain/tests/unit_tests/_api/test_deprecation.py @@ -2,7 +2,7 @@ import warnings from typing import Any, Dict import pytest -from pydantic import BaseModel +from pydantic_v1 import BaseModel from langchain._api.deprecation import _warn_deprecated, deprecated diff --git a/libs/langchain/tests/unit_tests/callbacks/fake_callback_handler.py b/libs/langchain/tests/unit_tests/callbacks/fake_callback_handler.py index f4819c693..e7720fa06 100644 --- a/libs/langchain/tests/unit_tests/callbacks/fake_callback_handler.py +++ b/libs/langchain/tests/unit_tests/callbacks/fake_callback_handler.py @@ -3,7 +3,7 @@ from itertools import chain from typing import Any, Dict, List, Optional, Union from uuid import UUID -from pydantic import BaseModel +from pydantic_v1 import BaseModel from langchain.callbacks.base import AsyncCallbackHandler, BaseCallbackHandler from langchain.schema.messages import BaseMessage diff --git a/libs/langchain/tests/unit_tests/evaluation/agents/test_eval_chain.py b/libs/langchain/tests/unit_tests/evaluation/agents/test_eval_chain.py index 5acb93baa..b18c94875 100644 --- a/libs/langchain/tests/unit_tests/evaluation/agents/test_eval_chain.py +++ b/libs/langchain/tests/unit_tests/evaluation/agents/test_eval_chain.py @@ -3,7 +3,7 @@ from typing import Any, Dict, List, Optional, Tuple import pytest -from pydantic import Field +from pydantic_v1 import Field from langchain.callbacks.manager import CallbackManagerForLLMRun from langchain.evaluation.agents.trajectory_eval_chain import ( diff --git a/libs/langchain/tests/unit_tests/llms/fake_llm.py b/libs/langchain/tests/unit_tests/llms/fake_llm.py index e7fc0d6de..f04d42851 100644 --- a/libs/langchain/tests/unit_tests/llms/fake_llm.py +++ b/libs/langchain/tests/unit_tests/llms/fake_llm.py @@ -1,7 +1,7 @@ """Fake LLM wrapper for testing purposes.""" from typing import Any, Dict, List, Mapping, Optional, cast -from pydantic import validator +from pydantic_v1 import validator from langchain.callbacks.manager import CallbackManagerForLLMRun from langchain.llms.base import LLM diff --git a/libs/langchain/tests/unit_tests/output_parsers/test_pydantic_parser.py b/libs/langchain/tests/unit_tests/output_parsers/test_pydantic_parser.py index 8c1204996..070b9102d 100644 --- a/libs/langchain/tests/unit_tests/output_parsers/test_pydantic_parser.py +++ b/libs/langchain/tests/unit_tests/output_parsers/test_pydantic_parser.py @@ -2,7 +2,7 @@ from enum import Enum from typing import Optional -from pydantic import BaseModel, Field +from pydantic_v1 import BaseModel, Field from langchain.output_parsers.pydantic import PydanticOutputParser from langchain.schema import OutputParserException diff --git a/libs/langchain/tests/unit_tests/schema/test_runnable.py b/libs/langchain/tests/unit_tests/schema/test_runnable.py index aa0b7f4c1..0177e6578 100644 --- a/libs/langchain/tests/unit_tests/schema/test_runnable.py +++ b/libs/langchain/tests/unit_tests/schema/test_runnable.py @@ -1,3 +1,4 @@ +import warnings from typing import Any, Dict, List, Optional from uuid import UUID @@ -34,6 +35,7 @@ from langchain.schema.runnable import ( RunnableSequence, RunnableWithFallbacks, ) +from langchain.utils.pydantic import PYDANTIC_MAJOR_VERSION class FakeTracer(BaseTracer): @@ -250,7 +252,15 @@ async def test_prompt_with_chat_model( HumanMessage(content="What is your name?"), ] ) - assert tracer.runs == snapshot + + if PYDANTIC_MAJOR_VERSION == 1: + assert tracer.runs == snapshot + else: + warnings.warn( + f"testing snapshot for pydantic version {PYDANTIC_MAJOR_VERSION} is " + f"not supported yet" + ) + mocker.stop(prompt_spy) mocker.stop(chat_spy) @@ -351,7 +361,13 @@ async def test_prompt_with_llm( HumanMessage(content="What is your name?"), ] ) - assert tracer.runs == snapshot + if PYDANTIC_MAJOR_VERSION == 1: + assert tracer.runs == snapshot + else: + warnings.warn( + f"testing snapshot for pydantic version {PYDANTIC_MAJOR_VERSION} is " + f"not supported yet" + ) mocker.stop(prompt_spy) mocker.stop(llm_spy) @@ -384,7 +400,13 @@ async def test_prompt_with_llm( ] ), ] - assert tracer.runs == snapshot + if PYDANTIC_MAJOR_VERSION == 1: + assert tracer.runs == snapshot + else: + warnings.warn( + f"testing snapshot for pydantic version {PYDANTIC_MAJOR_VERSION} is " + f"not supported yet" + ) mocker.stop(prompt_spy) mocker.stop(llm_spy) @@ -442,7 +464,14 @@ def test_prompt_with_chat_model_and_parser( ] ) assert parser_spy.call_args.args[1] == AIMessage(content="foo, bar") - assert tracer.runs == snapshot + + if PYDANTIC_MAJOR_VERSION == 1: + assert tracer.runs == snapshot + else: + warnings.warn( + f"testing snapshot for pydantic version {PYDANTIC_MAJOR_VERSION} is " + f"not supported yet" + ) @freeze_time("2023-01-01") @@ -500,7 +529,13 @@ def test_combining_sequences( assert combined_chain.invoke( {"question": "What is your name?"}, dict(callbacks=[tracer]) ) == ["baz", "qux"] - assert tracer.runs == snapshot + if PYDANTIC_MAJOR_VERSION == 1: + assert tracer.runs == snapshot + else: + warnings.warn( + f"testing snapshot for pydantic version {PYDANTIC_MAJOR_VERSION} is " + f"not supported yet" + ) @freeze_time("2023-01-01") diff --git a/libs/langchain/tests/unit_tests/test_schema.py b/libs/langchain/tests/unit_tests/test_schema.py index facbf9350..3fa2be84e 100644 --- a/libs/langchain/tests/unit_tests/test_schema.py +++ b/libs/langchain/tests/unit_tests/test_schema.py @@ -13,9 +13,10 @@ from langchain.schema.messages import ( class TestGetBufferString(unittest.TestCase): - human_msg: HumanMessage = HumanMessage(content="human") - ai_msg: AIMessage = AIMessage(content="ai") - sys_msg: SystemMessage = SystemMessage(content="sys") + def setUp(self) -> None: + self.human_msg = HumanMessage(content="human") + self.ai_msg = AIMessage(content="ai") + self.sys_msg = SystemMessage(content="sys") def test_empty_input(self) -> None: self.assertEqual(get_buffer_string([]), "") @@ -58,20 +59,14 @@ class TestGetBufferString(unittest.TestCase): ) -class TestMessageDictConversion(unittest.TestCase): - human_msg: HumanMessage = HumanMessage( - content="human", additional_kwargs={"key": "value"} - ) - ai_msg: AIMessage = AIMessage(content="ai") - sys_msg: SystemMessage = SystemMessage(content="sys") +def test_multiple_msg() -> None: + human_msg = HumanMessage(content="human", additional_kwargs={"key": "value"}) + ai_msg = AIMessage(content="ai") + sys_msg = SystemMessage(content="sys") - def test_multiple_msg(self) -> None: - msgs = [ - self.human_msg, - self.ai_msg, - self.sys_msg, - ] - self.assertEqual( - messages_from_dict(messages_to_dict(msgs)), - msgs, - ) + msgs = [ + human_msg, + ai_msg, + sys_msg, + ] + assert messages_from_dict(messages_to_dict(msgs)) == msgs diff --git a/libs/langchain/tests/unit_tests/tools/test_base.py b/libs/langchain/tests/unit_tests/tools/test_base.py index c42ae202d..2ffaff0cb 100644 --- a/libs/langchain/tests/unit_tests/tools/test_base.py +++ b/libs/langchain/tests/unit_tests/tools/test_base.py @@ -6,7 +6,7 @@ from functools import partial from typing import Any, List, Optional, Type, Union import pytest -from pydantic import BaseModel +from pydantic_v1 import BaseModel from langchain.agents.tools import Tool, tool from langchain.callbacks.manager import (