Spaces:
Runtime error
Runtime error
| # ruff: noqa: E402 | |
| """Main entrypoint into package.""" | |
| import warnings | |
| from importlib import metadata | |
| from typing import Any, Optional | |
| from langchain_core._api.deprecation import surface_langchain_deprecation_warnings | |
| try: | |
| __version__ = metadata.version(__package__) | |
| except metadata.PackageNotFoundError: | |
| # Case where package metadata is not available. | |
| __version__ = "" | |
| del metadata # optional, avoids polluting the results of dir(__package__) | |
| def _is_interactive_env() -> bool: | |
| """Determine if running within IPython or Jupyter.""" | |
| import sys | |
| return hasattr(sys, "ps2") | |
| def _warn_on_import(name: str, replacement: Optional[str] = None) -> None: | |
| """Warn on import of deprecated module.""" | |
| if _is_interactive_env(): | |
| # No warnings for interactive environments. | |
| # This is done to avoid polluting the output of interactive environments | |
| # where users rely on auto-complete and may trigger this warning | |
| # even if they are not using any deprecated modules | |
| return | |
| if replacement: | |
| warnings.warn( | |
| f"Importing {name} from langchain root module is no longer supported. " | |
| f"Please use {replacement} instead." | |
| ) | |
| else: | |
| warnings.warn( | |
| f"Importing {name} from langchain root module is no longer supported." | |
| ) | |
| # Surfaces Deprecation and Pending Deprecation warnings from langchain. | |
| surface_langchain_deprecation_warnings() | |
| def __getattr__(name: str) -> Any: | |
| if name == "MRKLChain": | |
| from langchain.agents import MRKLChain | |
| _warn_on_import(name, replacement="langchain.agents.MRKLChain") | |
| return MRKLChain | |
| elif name == "ReActChain": | |
| from langchain.agents import ReActChain | |
| _warn_on_import(name, replacement="langchain.agents.ReActChain") | |
| return ReActChain | |
| elif name == "SelfAskWithSearchChain": | |
| from langchain.agents import SelfAskWithSearchChain | |
| _warn_on_import(name, replacement="langchain.agents.SelfAskWithSearchChain") | |
| return SelfAskWithSearchChain | |
| elif name == "ConversationChain": | |
| from langchain.chains import ConversationChain | |
| _warn_on_import(name, replacement="langchain.chains.ConversationChain") | |
| return ConversationChain | |
| elif name == "LLMBashChain": | |
| raise ImportError( | |
| "This module has been moved to langchain-experimental. " | |
| "For more details: " | |
| "https://github.com/langchain-ai/langchain/discussions/11352." | |
| "To access this code, install it with `pip install langchain-experimental`." | |
| "`from langchain_experimental.llm_bash.base " | |
| "import LLMBashChain`" | |
| ) | |
| elif name == "LLMChain": | |
| from langchain.chains import LLMChain | |
| _warn_on_import(name, replacement="langchain.chains.LLMChain") | |
| return LLMChain | |
| elif name == "LLMCheckerChain": | |
| from langchain.chains import LLMCheckerChain | |
| _warn_on_import(name, replacement="langchain.chains.LLMCheckerChain") | |
| return LLMCheckerChain | |
| elif name == "LLMMathChain": | |
| from langchain.chains import LLMMathChain | |
| _warn_on_import(name, replacement="langchain.chains.LLMMathChain") | |
| return LLMMathChain | |
| elif name == "QAWithSourcesChain": | |
| from langchain.chains import QAWithSourcesChain | |
| _warn_on_import(name, replacement="langchain.chains.QAWithSourcesChain") | |
| return QAWithSourcesChain | |
| elif name == "VectorDBQA": | |
| from langchain.chains import VectorDBQA | |
| _warn_on_import(name, replacement="langchain.chains.VectorDBQA") | |
| return VectorDBQA | |
| elif name == "VectorDBQAWithSourcesChain": | |
| from langchain.chains import VectorDBQAWithSourcesChain | |
| _warn_on_import(name, replacement="langchain.chains.VectorDBQAWithSourcesChain") | |
| return VectorDBQAWithSourcesChain | |
| elif name == "InMemoryDocstore": | |
| from langchain.docstore import InMemoryDocstore | |
| _warn_on_import(name, replacement="langchain.docstore.InMemoryDocstore") | |
| return InMemoryDocstore | |
| elif name == "Wikipedia": | |
| from langchain.docstore import Wikipedia | |
| _warn_on_import(name, replacement="langchain.docstore.Wikipedia") | |
| return Wikipedia | |
| elif name == "Anthropic": | |
| from langchain.llms import Anthropic | |
| _warn_on_import(name, replacement="langchain.llms.Anthropic") | |
| return Anthropic | |
| elif name == "Banana": | |
| from langchain.llms import Banana | |
| _warn_on_import(name, replacement="langchain.llms.Banana") | |
| return Banana | |
| elif name == "CerebriumAI": | |
| from langchain.llms import CerebriumAI | |
| _warn_on_import(name, replacement="langchain.llms.CerebriumAI") | |
| return CerebriumAI | |
| elif name == "Cohere": | |
| from langchain.llms import Cohere | |
| _warn_on_import(name, replacement="langchain.llms.Cohere") | |
| return Cohere | |
| elif name == "ForefrontAI": | |
| from langchain.llms import ForefrontAI | |
| _warn_on_import(name, replacement="langchain.llms.ForefrontAI") | |
| return ForefrontAI | |
| elif name == "GooseAI": | |
| from langchain.llms import GooseAI | |
| _warn_on_import(name, replacement="langchain.llms.GooseAI") | |
| return GooseAI | |
| elif name == "HuggingFaceHub": | |
| from langchain.llms import HuggingFaceHub | |
| _warn_on_import(name, replacement="langchain.llms.HuggingFaceHub") | |
| return HuggingFaceHub | |
| elif name == "HuggingFaceTextGenInference": | |
| from langchain.llms import HuggingFaceTextGenInference | |
| _warn_on_import(name, replacement="langchain.llms.HuggingFaceTextGenInference") | |
| return HuggingFaceTextGenInference | |
| elif name == "LlamaCpp": | |
| from langchain.llms import LlamaCpp | |
| _warn_on_import(name, replacement="langchain.llms.LlamaCpp") | |
| return LlamaCpp | |
| elif name == "Modal": | |
| from langchain.llms import Modal | |
| _warn_on_import(name, replacement="langchain.llms.Modal") | |
| return Modal | |
| elif name == "OpenAI": | |
| from langchain.llms import OpenAI | |
| _warn_on_import(name, replacement="langchain.llms.OpenAI") | |
| return OpenAI | |
| elif name == "Petals": | |
| from langchain.llms import Petals | |
| _warn_on_import(name, replacement="langchain.llms.Petals") | |
| return Petals | |
| elif name == "PipelineAI": | |
| from langchain.llms import PipelineAI | |
| _warn_on_import(name, replacement="langchain.llms.PipelineAI") | |
| return PipelineAI | |
| elif name == "SagemakerEndpoint": | |
| from langchain.llms import SagemakerEndpoint | |
| _warn_on_import(name, replacement="langchain.llms.SagemakerEndpoint") | |
| return SagemakerEndpoint | |
| elif name == "StochasticAI": | |
| from langchain.llms import StochasticAI | |
| _warn_on_import(name, replacement="langchain.llms.StochasticAI") | |
| return StochasticAI | |
| elif name == "Writer": | |
| from langchain.llms import Writer | |
| _warn_on_import(name, replacement="langchain.llms.Writer") | |
| return Writer | |
| elif name == "HuggingFacePipeline": | |
| from langchain.llms.huggingface_pipeline import HuggingFacePipeline | |
| _warn_on_import( | |
| name, replacement="langchain.llms.huggingface_pipeline.HuggingFacePipeline" | |
| ) | |
| return HuggingFacePipeline | |
| elif name == "FewShotPromptTemplate": | |
| from langchain_core.prompts import FewShotPromptTemplate | |
| _warn_on_import(name, replacement="langchain.prompts.FewShotPromptTemplate") | |
| return FewShotPromptTemplate | |
| elif name == "Prompt": | |
| from langchain_core.prompts import Prompt | |
| _warn_on_import(name, replacement="langchain.prompts.Prompt") | |
| return Prompt | |
| elif name == "PromptTemplate": | |
| from langchain_core.prompts import PromptTemplate | |
| _warn_on_import(name, replacement="langchain.prompts.PromptTemplate") | |
| return PromptTemplate | |
| elif name == "BasePromptTemplate": | |
| from langchain_core.prompts import BasePromptTemplate | |
| _warn_on_import( | |
| name, replacement="langchain.schema.prompt_template.BasePromptTemplate" | |
| ) | |
| return BasePromptTemplate | |
| elif name == "ArxivAPIWrapper": | |
| from langchain.utilities import ArxivAPIWrapper | |
| _warn_on_import(name, replacement="langchain.utilities.ArxivAPIWrapper") | |
| return ArxivAPIWrapper | |
| elif name == "GoldenQueryAPIWrapper": | |
| from langchain.utilities import GoldenQueryAPIWrapper | |
| _warn_on_import(name, replacement="langchain.utilities.GoldenQueryAPIWrapper") | |
| return GoldenQueryAPIWrapper | |
| elif name == "GoogleSearchAPIWrapper": | |
| from langchain.utilities import GoogleSearchAPIWrapper | |
| _warn_on_import(name, replacement="langchain.utilities.GoogleSearchAPIWrapper") | |
| return GoogleSearchAPIWrapper | |
| elif name == "GoogleSerperAPIWrapper": | |
| from langchain.utilities import GoogleSerperAPIWrapper | |
| _warn_on_import(name, replacement="langchain.utilities.GoogleSerperAPIWrapper") | |
| return GoogleSerperAPIWrapper | |
| elif name == "PowerBIDataset": | |
| from langchain.utilities import PowerBIDataset | |
| _warn_on_import(name, replacement="langchain.utilities.PowerBIDataset") | |
| return PowerBIDataset | |
| elif name == "SearxSearchWrapper": | |
| from langchain.utilities import SearxSearchWrapper | |
| _warn_on_import(name, replacement="langchain.utilities.SearxSearchWrapper") | |
| return SearxSearchWrapper | |
| elif name == "WikipediaAPIWrapper": | |
| from langchain.utilities import WikipediaAPIWrapper | |
| _warn_on_import(name, replacement="langchain.utilities.WikipediaAPIWrapper") | |
| return WikipediaAPIWrapper | |
| elif name == "WolframAlphaAPIWrapper": | |
| from langchain.utilities import WolframAlphaAPIWrapper | |
| _warn_on_import(name, replacement="langchain.utilities.WolframAlphaAPIWrapper") | |
| return WolframAlphaAPIWrapper | |
| elif name == "SQLDatabase": | |
| from langchain.utilities import SQLDatabase | |
| _warn_on_import(name, replacement="langchain.utilities.SQLDatabase") | |
| return SQLDatabase | |
| elif name == "FAISS": | |
| from langchain.vectorstores import FAISS | |
| _warn_on_import(name, replacement="langchain.vectorstores.FAISS") | |
| return FAISS | |
| elif name == "ElasticVectorSearch": | |
| from langchain.vectorstores import ElasticVectorSearch | |
| _warn_on_import(name, replacement="langchain.vectorstores.ElasticVectorSearch") | |
| return ElasticVectorSearch | |
| # For backwards compatibility | |
| elif name == "SerpAPIChain" or name == "SerpAPIWrapper": | |
| from langchain.utilities import SerpAPIWrapper | |
| _warn_on_import(name, replacement="langchain.utilities.SerpAPIWrapper") | |
| return SerpAPIWrapper | |
| elif name == "verbose": | |
| from langchain.globals import _verbose | |
| _warn_on_import( | |
| name, | |
| replacement=( | |
| "langchain.globals.set_verbose() / langchain.globals.get_verbose()" | |
| ), | |
| ) | |
| return _verbose | |
| elif name == "debug": | |
| from langchain.globals import _debug | |
| _warn_on_import( | |
| name, | |
| replacement=( | |
| "langchain.globals.set_debug() / langchain.globals.get_debug()" | |
| ), | |
| ) | |
| return _debug | |
| elif name == "llm_cache": | |
| from langchain.globals import _llm_cache | |
| _warn_on_import( | |
| name, | |
| replacement=( | |
| "langchain.globals.set_llm_cache() / langchain.globals.get_llm_cache()" | |
| ), | |
| ) | |
| return _llm_cache | |
| else: | |
| raise AttributeError(f"Could not find: {name}") | |
| __all__ = [ | |
| "LLMChain", | |
| "LLMCheckerChain", | |
| "LLMMathChain", | |
| "ArxivAPIWrapper", | |
| "GoldenQueryAPIWrapper", | |
| "SelfAskWithSearchChain", | |
| "SerpAPIWrapper", | |
| "SerpAPIChain", | |
| "SearxSearchWrapper", | |
| "GoogleSearchAPIWrapper", | |
| "GoogleSerperAPIWrapper", | |
| "WolframAlphaAPIWrapper", | |
| "WikipediaAPIWrapper", | |
| "Anthropic", | |
| "Banana", | |
| "CerebriumAI", | |
| "Cohere", | |
| "ForefrontAI", | |
| "GooseAI", | |
| "Modal", | |
| "OpenAI", | |
| "Petals", | |
| "PipelineAI", | |
| "StochasticAI", | |
| "Writer", | |
| "BasePromptTemplate", | |
| "Prompt", | |
| "FewShotPromptTemplate", | |
| "PromptTemplate", | |
| "ReActChain", | |
| "Wikipedia", | |
| "HuggingFaceHub", | |
| "SagemakerEndpoint", | |
| "HuggingFacePipeline", | |
| "SQLDatabase", | |
| "PowerBIDataset", | |
| "FAISS", | |
| "MRKLChain", | |
| "VectorDBQA", | |
| "ElasticVectorSearch", | |
| "InMemoryDocstore", | |
| "ConversationChain", | |
| "VectorDBQAWithSourcesChain", | |
| "QAWithSourcesChain", | |
| "LlamaCpp", | |
| "HuggingFaceTextGenInference", | |
| ] | |