mirror of
https://github.com/hwchase17/langchain.git
synced 2025-06-26 00:23:25 +00:00
make warnings more modular (#11047)
This commit is contained in:
parent
c87e9fb2ce
commit
bea78b3271
@ -20,194 +20,289 @@ debug: bool = False
|
|||||||
llm_cache: Optional["BaseCache"] = None
|
llm_cache: Optional["BaseCache"] = None
|
||||||
|
|
||||||
|
|
||||||
def __getattr__(name: str) -> Any:
|
def _warn_on_import(name: str) -> None:
|
||||||
warnings.warn(
|
warnings.warn(
|
||||||
f"Importing {name} from langchain root module is no longer supported."
|
f"Importing {name} from langchain root module is no longer supported."
|
||||||
)
|
)
|
||||||
|
|
||||||
|
|
||||||
|
def __getattr__(name: str) -> Any:
|
||||||
if name == "MRKLChain":
|
if name == "MRKLChain":
|
||||||
from langchain.agents import MRKLChain
|
from langchain.agents import MRKLChain
|
||||||
|
|
||||||
|
_warn_on_import(name)
|
||||||
|
|
||||||
return MRKLChain
|
return MRKLChain
|
||||||
elif name == "ReActChain":
|
elif name == "ReActChain":
|
||||||
from langchain.agents import ReActChain
|
from langchain.agents import ReActChain
|
||||||
|
|
||||||
|
_warn_on_import(name)
|
||||||
|
|
||||||
return ReActChain
|
return ReActChain
|
||||||
elif name == "SelfAskWithSearchChain":
|
elif name == "SelfAskWithSearchChain":
|
||||||
from langchain.agents import SelfAskWithSearchChain
|
from langchain.agents import SelfAskWithSearchChain
|
||||||
|
|
||||||
|
_warn_on_import(name)
|
||||||
|
|
||||||
return SelfAskWithSearchChain
|
return SelfAskWithSearchChain
|
||||||
elif name == "ConversationChain":
|
elif name == "ConversationChain":
|
||||||
from langchain.chains import ConversationChain
|
from langchain.chains import ConversationChain
|
||||||
|
|
||||||
|
_warn_on_import(name)
|
||||||
|
|
||||||
return ConversationChain
|
return ConversationChain
|
||||||
elif name == "LLMBashChain":
|
elif name == "LLMBashChain":
|
||||||
from langchain.chains import LLMBashChain
|
from langchain.chains import LLMBashChain
|
||||||
|
|
||||||
|
_warn_on_import(name)
|
||||||
|
|
||||||
return LLMBashChain
|
return LLMBashChain
|
||||||
elif name == "LLMChain":
|
elif name == "LLMChain":
|
||||||
from langchain.chains import LLMChain
|
from langchain.chains import LLMChain
|
||||||
|
|
||||||
|
_warn_on_import(name)
|
||||||
|
|
||||||
return LLMChain
|
return LLMChain
|
||||||
elif name == "LLMCheckerChain":
|
elif name == "LLMCheckerChain":
|
||||||
from langchain.chains import LLMCheckerChain
|
from langchain.chains import LLMCheckerChain
|
||||||
|
|
||||||
|
_warn_on_import(name)
|
||||||
|
|
||||||
return LLMCheckerChain
|
return LLMCheckerChain
|
||||||
elif name == "LLMMathChain":
|
elif name == "LLMMathChain":
|
||||||
from langchain.chains import LLMMathChain
|
from langchain.chains import LLMMathChain
|
||||||
|
|
||||||
|
_warn_on_import(name)
|
||||||
|
|
||||||
return LLMMathChain
|
return LLMMathChain
|
||||||
elif name == "QAWithSourcesChain":
|
elif name == "QAWithSourcesChain":
|
||||||
from langchain.chains import QAWithSourcesChain
|
from langchain.chains import QAWithSourcesChain
|
||||||
|
|
||||||
|
_warn_on_import(name)
|
||||||
|
|
||||||
return QAWithSourcesChain
|
return QAWithSourcesChain
|
||||||
elif name == "VectorDBQA":
|
elif name == "VectorDBQA":
|
||||||
from langchain.chains import VectorDBQA
|
from langchain.chains import VectorDBQA
|
||||||
|
|
||||||
|
_warn_on_import(name)
|
||||||
|
|
||||||
return VectorDBQA
|
return VectorDBQA
|
||||||
elif name == "VectorDBQAWithSourcesChain":
|
elif name == "VectorDBQAWithSourcesChain":
|
||||||
from langchain.chains import VectorDBQAWithSourcesChain
|
from langchain.chains import VectorDBQAWithSourcesChain
|
||||||
|
|
||||||
|
_warn_on_import(name)
|
||||||
|
|
||||||
return VectorDBQAWithSourcesChain
|
return VectorDBQAWithSourcesChain
|
||||||
elif name == "InMemoryDocstore":
|
elif name == "InMemoryDocstore":
|
||||||
from langchain.docstore import InMemoryDocstore
|
from langchain.docstore import InMemoryDocstore
|
||||||
|
|
||||||
|
_warn_on_import(name)
|
||||||
|
|
||||||
return InMemoryDocstore
|
return InMemoryDocstore
|
||||||
elif name == "Wikipedia":
|
elif name == "Wikipedia":
|
||||||
from langchain.docstore import Wikipedia
|
from langchain.docstore import Wikipedia
|
||||||
|
|
||||||
|
_warn_on_import(name)
|
||||||
|
|
||||||
return Wikipedia
|
return Wikipedia
|
||||||
elif name == "Anthropic":
|
elif name == "Anthropic":
|
||||||
from langchain.llms import Anthropic
|
from langchain.llms import Anthropic
|
||||||
|
|
||||||
|
_warn_on_import(name)
|
||||||
|
|
||||||
return Anthropic
|
return Anthropic
|
||||||
elif name == "Banana":
|
elif name == "Banana":
|
||||||
from langchain.llms import Banana
|
from langchain.llms import Banana
|
||||||
|
|
||||||
|
_warn_on_import(name)
|
||||||
|
|
||||||
return Banana
|
return Banana
|
||||||
elif name == "CerebriumAI":
|
elif name == "CerebriumAI":
|
||||||
from langchain.llms import CerebriumAI
|
from langchain.llms import CerebriumAI
|
||||||
|
|
||||||
|
_warn_on_import(name)
|
||||||
|
|
||||||
return CerebriumAI
|
return CerebriumAI
|
||||||
elif name == "Cohere":
|
elif name == "Cohere":
|
||||||
from langchain.llms import Cohere
|
from langchain.llms import Cohere
|
||||||
|
|
||||||
|
_warn_on_import(name)
|
||||||
|
|
||||||
return Cohere
|
return Cohere
|
||||||
elif name == "ForefrontAI":
|
elif name == "ForefrontAI":
|
||||||
from langchain.llms import ForefrontAI
|
from langchain.llms import ForefrontAI
|
||||||
|
|
||||||
|
_warn_on_import(name)
|
||||||
|
|
||||||
return ForefrontAI
|
return ForefrontAI
|
||||||
elif name == "GooseAI":
|
elif name == "GooseAI":
|
||||||
from langchain.llms import GooseAI
|
from langchain.llms import GooseAI
|
||||||
|
|
||||||
|
_warn_on_import(name)
|
||||||
|
|
||||||
return GooseAI
|
return GooseAI
|
||||||
elif name == "HuggingFaceHub":
|
elif name == "HuggingFaceHub":
|
||||||
from langchain.llms import HuggingFaceHub
|
from langchain.llms import HuggingFaceHub
|
||||||
|
|
||||||
|
_warn_on_import(name)
|
||||||
|
|
||||||
return HuggingFaceHub
|
return HuggingFaceHub
|
||||||
elif name == "HuggingFaceTextGenInference":
|
elif name == "HuggingFaceTextGenInference":
|
||||||
from langchain.llms import HuggingFaceTextGenInference
|
from langchain.llms import HuggingFaceTextGenInference
|
||||||
|
|
||||||
|
_warn_on_import(name)
|
||||||
|
|
||||||
return HuggingFaceTextGenInference
|
return HuggingFaceTextGenInference
|
||||||
elif name == "LlamaCpp":
|
elif name == "LlamaCpp":
|
||||||
from langchain.llms import LlamaCpp
|
from langchain.llms import LlamaCpp
|
||||||
|
|
||||||
|
_warn_on_import(name)
|
||||||
|
|
||||||
return LlamaCpp
|
return LlamaCpp
|
||||||
elif name == "Modal":
|
elif name == "Modal":
|
||||||
from langchain.llms import Modal
|
from langchain.llms import Modal
|
||||||
|
|
||||||
|
_warn_on_import(name)
|
||||||
|
|
||||||
return Modal
|
return Modal
|
||||||
elif name == "OpenAI":
|
elif name == "OpenAI":
|
||||||
from langchain.llms import OpenAI
|
from langchain.llms import OpenAI
|
||||||
|
|
||||||
|
_warn_on_import(name)
|
||||||
|
|
||||||
return OpenAI
|
return OpenAI
|
||||||
elif name == "Petals":
|
elif name == "Petals":
|
||||||
from langchain.llms import Petals
|
from langchain.llms import Petals
|
||||||
|
|
||||||
|
_warn_on_import(name)
|
||||||
|
|
||||||
return Petals
|
return Petals
|
||||||
elif name == "PipelineAI":
|
elif name == "PipelineAI":
|
||||||
from langchain.llms import PipelineAI
|
from langchain.llms import PipelineAI
|
||||||
|
|
||||||
|
_warn_on_import(name)
|
||||||
|
|
||||||
return PipelineAI
|
return PipelineAI
|
||||||
elif name == "SagemakerEndpoint":
|
elif name == "SagemakerEndpoint":
|
||||||
from langchain.llms import SagemakerEndpoint
|
from langchain.llms import SagemakerEndpoint
|
||||||
|
|
||||||
|
_warn_on_import(name)
|
||||||
|
|
||||||
return SagemakerEndpoint
|
return SagemakerEndpoint
|
||||||
elif name == "StochasticAI":
|
elif name == "StochasticAI":
|
||||||
from langchain.llms import StochasticAI
|
from langchain.llms import StochasticAI
|
||||||
|
|
||||||
|
_warn_on_import(name)
|
||||||
|
|
||||||
return StochasticAI
|
return StochasticAI
|
||||||
elif name == "Writer":
|
elif name == "Writer":
|
||||||
from langchain.llms import Writer
|
from langchain.llms import Writer
|
||||||
|
|
||||||
|
_warn_on_import(name)
|
||||||
|
|
||||||
return Writer
|
return Writer
|
||||||
elif name == "HuggingFacePipeline":
|
elif name == "HuggingFacePipeline":
|
||||||
from langchain.llms.huggingface_pipeline import HuggingFacePipeline
|
from langchain.llms.huggingface_pipeline import HuggingFacePipeline
|
||||||
|
|
||||||
|
_warn_on_import(name)
|
||||||
|
|
||||||
return HuggingFacePipeline
|
return HuggingFacePipeline
|
||||||
elif name == "FewShotPromptTemplate":
|
elif name == "FewShotPromptTemplate":
|
||||||
from langchain.prompts import FewShotPromptTemplate
|
from langchain.prompts import FewShotPromptTemplate
|
||||||
|
|
||||||
|
_warn_on_import(name)
|
||||||
|
|
||||||
return FewShotPromptTemplate
|
return FewShotPromptTemplate
|
||||||
elif name == "Prompt":
|
elif name == "Prompt":
|
||||||
from langchain.prompts import Prompt
|
from langchain.prompts import Prompt
|
||||||
|
|
||||||
|
_warn_on_import(name)
|
||||||
|
|
||||||
return Prompt
|
return Prompt
|
||||||
elif name == "PromptTemplate":
|
elif name == "PromptTemplate":
|
||||||
from langchain.prompts import PromptTemplate
|
from langchain.prompts import PromptTemplate
|
||||||
|
|
||||||
|
_warn_on_import(name)
|
||||||
|
|
||||||
return PromptTemplate
|
return PromptTemplate
|
||||||
elif name == "BasePromptTemplate":
|
elif name == "BasePromptTemplate":
|
||||||
from langchain.schema.prompt_template import BasePromptTemplate
|
from langchain.schema.prompt_template import BasePromptTemplate
|
||||||
|
|
||||||
|
_warn_on_import(name)
|
||||||
|
|
||||||
return BasePromptTemplate
|
return BasePromptTemplate
|
||||||
elif name == "ArxivAPIWrapper":
|
elif name == "ArxivAPIWrapper":
|
||||||
from langchain.utilities import ArxivAPIWrapper
|
from langchain.utilities import ArxivAPIWrapper
|
||||||
|
|
||||||
|
_warn_on_import(name)
|
||||||
|
|
||||||
return ArxivAPIWrapper
|
return ArxivAPIWrapper
|
||||||
elif name == "GoldenQueryAPIWrapper":
|
elif name == "GoldenQueryAPIWrapper":
|
||||||
from langchain.utilities import GoldenQueryAPIWrapper
|
from langchain.utilities import GoldenQueryAPIWrapper
|
||||||
|
|
||||||
|
_warn_on_import(name)
|
||||||
|
|
||||||
return GoldenQueryAPIWrapper
|
return GoldenQueryAPIWrapper
|
||||||
elif name == "GoogleSearchAPIWrapper":
|
elif name == "GoogleSearchAPIWrapper":
|
||||||
from langchain.utilities import GoogleSearchAPIWrapper
|
from langchain.utilities import GoogleSearchAPIWrapper
|
||||||
|
|
||||||
|
_warn_on_import(name)
|
||||||
|
|
||||||
return GoogleSearchAPIWrapper
|
return GoogleSearchAPIWrapper
|
||||||
elif name == "GoogleSerperAPIWrapper":
|
elif name == "GoogleSerperAPIWrapper":
|
||||||
from langchain.utilities import GoogleSerperAPIWrapper
|
from langchain.utilities import GoogleSerperAPIWrapper
|
||||||
|
|
||||||
|
_warn_on_import(name)
|
||||||
|
|
||||||
return GoogleSerperAPIWrapper
|
return GoogleSerperAPIWrapper
|
||||||
elif name == "PowerBIDataset":
|
elif name == "PowerBIDataset":
|
||||||
from langchain.utilities import PowerBIDataset
|
from langchain.utilities import PowerBIDataset
|
||||||
|
|
||||||
|
_warn_on_import(name)
|
||||||
|
|
||||||
return PowerBIDataset
|
return PowerBIDataset
|
||||||
elif name == "SearxSearchWrapper":
|
elif name == "SearxSearchWrapper":
|
||||||
from langchain.utilities import SearxSearchWrapper
|
from langchain.utilities import SearxSearchWrapper
|
||||||
|
|
||||||
|
_warn_on_import(name)
|
||||||
|
|
||||||
return SearxSearchWrapper
|
return SearxSearchWrapper
|
||||||
elif name == "WikipediaAPIWrapper":
|
elif name == "WikipediaAPIWrapper":
|
||||||
from langchain.utilities import WikipediaAPIWrapper
|
from langchain.utilities import WikipediaAPIWrapper
|
||||||
|
|
||||||
|
_warn_on_import(name)
|
||||||
|
|
||||||
return WikipediaAPIWrapper
|
return WikipediaAPIWrapper
|
||||||
elif name == "WolframAlphaAPIWrapper":
|
elif name == "WolframAlphaAPIWrapper":
|
||||||
from langchain.utilities import WolframAlphaAPIWrapper
|
from langchain.utilities import WolframAlphaAPIWrapper
|
||||||
|
|
||||||
|
_warn_on_import(name)
|
||||||
|
|
||||||
return WolframAlphaAPIWrapper
|
return WolframAlphaAPIWrapper
|
||||||
elif name == "SQLDatabase":
|
elif name == "SQLDatabase":
|
||||||
from langchain.utilities import SQLDatabase
|
from langchain.utilities import SQLDatabase
|
||||||
|
|
||||||
|
_warn_on_import(name)
|
||||||
|
|
||||||
return SQLDatabase
|
return SQLDatabase
|
||||||
elif name == "FAISS":
|
elif name == "FAISS":
|
||||||
from langchain.vectorstores import FAISS
|
from langchain.vectorstores import FAISS
|
||||||
|
|
||||||
|
_warn_on_import(name)
|
||||||
|
|
||||||
return FAISS
|
return FAISS
|
||||||
elif name == "ElasticVectorSearch":
|
elif name == "ElasticVectorSearch":
|
||||||
from langchain.vectorstores import ElasticVectorSearch
|
from langchain.vectorstores import ElasticVectorSearch
|
||||||
|
|
||||||
|
_warn_on_import(name)
|
||||||
|
|
||||||
return ElasticVectorSearch
|
return ElasticVectorSearch
|
||||||
# For backwards compatibility
|
# For backwards compatibility
|
||||||
elif name == "SerpAPIChain":
|
elif name == "SerpAPIChain":
|
||||||
from langchain.utilities import SerpAPIWrapper
|
from langchain.utilities import SerpAPIWrapper
|
||||||
|
|
||||||
|
_warn_on_import(name)
|
||||||
|
|
||||||
return SerpAPIWrapper
|
return SerpAPIWrapper
|
||||||
else:
|
else:
|
||||||
raise AttributeError(f"Could not find: {name}")
|
raise AttributeError(f"Could not find: {name}")
|
||||||
|
Loading…
Reference in New Issue
Block a user