mirror of
https://github.com/hwchase17/langchain.git
synced 2025-08-10 13:27:36 +00:00
langchain[patch]: Update import handling in adapters
(#21079)
This commit is contained in:
parent
5c63ac3dd7
commit
c8f18a2524
@ -1,28 +1,52 @@
|
|||||||
import warnings
|
from typing import TYPE_CHECKING, Any
|
||||||
|
|
||||||
from langchain_core._api import LangChainDeprecationWarning
|
from langchain._api import create_importer
|
||||||
|
|
||||||
from langchain.utils.interactive_env import is_interactive_env
|
if TYPE_CHECKING:
|
||||||
|
from langchain_community.adapters.openai import (
|
||||||
|
Chat,
|
||||||
def __getattr__(name: str) -> None:
|
ChatCompletion,
|
||||||
# If not in interactive env, raise warning.
|
ChatCompletionChunk,
|
||||||
from langchain_community.adapters import openai
|
ChatCompletions,
|
||||||
|
Choice,
|
||||||
if not is_interactive_env():
|
ChoiceChunk,
|
||||||
warnings.warn(
|
Completions,
|
||||||
"Importing from langchain is deprecated. Importing from "
|
IndexableBaseModel,
|
||||||
"langchain will no longer be supported as of langchain==0.2.0. "
|
chat,
|
||||||
"Instead of `from langchain.adapters.openai import {name}` "
|
convert_dict_to_message,
|
||||||
"Use `from langchain_community.adapters.openai import {name}`."
|
convert_message_to_dict,
|
||||||
"To install langchain-community run `pip install -U langchain-community`.",
|
convert_messages_for_finetuning,
|
||||||
category=LangChainDeprecationWarning,
|
convert_openai_messages,
|
||||||
)
|
)
|
||||||
|
|
||||||
return getattr(openai, name)
|
# Create a way to dynamically look up deprecated imports.
|
||||||
|
# Used to consolidate logic for raising deprecation warnings and
|
||||||
|
# handling optional imports.
|
||||||
|
MODULE_LOOKUP = {
|
||||||
|
"IndexableBaseModel": "langchain_community.adapters.openai",
|
||||||
|
"Choice": "langchain_community.adapters.openai",
|
||||||
|
"ChatCompletions": "langchain_community.adapters.openai",
|
||||||
|
"ChoiceChunk": "langchain_community.adapters.openai",
|
||||||
|
"ChatCompletionChunk": "langchain_community.adapters.openai",
|
||||||
|
"convert_dict_to_message": "langchain_community.adapters.openai",
|
||||||
|
"convert_message_to_dict": "langchain_community.adapters.openai",
|
||||||
|
"convert_openai_messages": "langchain_community.adapters.openai",
|
||||||
|
"ChatCompletion": "langchain_community.adapters.openai",
|
||||||
|
"convert_messages_for_finetuning": "langchain_community.adapters.openai",
|
||||||
|
"Completions": "langchain_community.adapters.openai",
|
||||||
|
"Chat": "langchain_community.adapters.openai",
|
||||||
|
"chat": "langchain_community.adapters.openai",
|
||||||
|
}
|
||||||
|
|
||||||
|
_import_attribute = create_importer(__file__, deprecated_lookups=MODULE_LOOKUP)
|
||||||
|
|
||||||
|
|
||||||
__all__ = [ # noqa: F822
|
def __getattr__(name: str) -> Any:
|
||||||
|
"""Look up attributes dynamically."""
|
||||||
|
return _import_attribute(name)
|
||||||
|
|
||||||
|
|
||||||
|
__all__ = [
|
||||||
"IndexableBaseModel",
|
"IndexableBaseModel",
|
||||||
"Choice",
|
"Choice",
|
||||||
"ChatCompletions",
|
"ChatCompletions",
|
||||||
|
@ -7,23 +7,23 @@ errors=0
|
|||||||
|
|
||||||
# Check the conditions
|
# Check the conditions
|
||||||
git grep '^from langchain import' langchain | grep -vE 'from langchain import (__version__|hub)' && errors=$((errors+1))
|
git grep '^from langchain import' langchain | grep -vE 'from langchain import (__version__|hub)' && errors=$((errors+1))
|
||||||
git grep '^from langchain\.' langchain/pydantic_v1 | grep -vE 'from langchain.(pydantic_v1)' && errors=$((errors+1))
|
git grep '^from langchain\.' langchain/pydantic_v1 | grep -vE 'from langchain.(pydantic_v1|_api)' && errors=$((errors+1))
|
||||||
git grep '^from langchain\.' langchain/load | grep -vE 'from langchain.(pydantic_v1|load)' && errors=$((errors+1))
|
git grep '^from langchain\.' langchain/load | grep -vE 'from langchain.(pydantic_v1|load|_api)' && errors=$((errors+1))
|
||||||
git grep '^from langchain\.' langchain/utils | grep -vE 'from langchain.(pydantic_v1|utils)' && errors=$((errors+1))
|
git grep '^from langchain\.' langchain/utils | grep -vE 'from langchain.(pydantic_v1|utils|_api)' && errors=$((errors+1))
|
||||||
git grep '^from langchain\.' langchain/schema | grep -vE 'from langchain.(pydantic_v1|utils|schema|load|env)' && errors=$((errors+1))
|
git grep '^from langchain\.' langchain/schema | grep -vE 'from langchain.(pydantic_v1|utils|schema|load|env|_api)' && errors=$((errors+1))
|
||||||
git grep '^from langchain\.' langchain/adapters | grep -vE 'from langchain.(pydantic_v1|utils|schema|load)' && errors=$((errors+1))
|
git grep '^from langchain\.' langchain/adapters | grep -vE 'from langchain.(pydantic_v1|utils|schema|load|_api)' && errors=$((errors+1))
|
||||||
git grep '^from langchain\.' langchain/callbacks | grep -vE 'from langchain.(pydantic_v1|utils|schema|load|callbacks|env)' && errors=$((errors+1))
|
git grep '^from langchain\.' langchain/callbacks | grep -vE 'from langchain.(pydantic_v1|utils|schema|load|callbacks|env|_api)' && errors=$((errors+1))
|
||||||
# TODO: it's probably not amazing so that so many other modules depend on `langchain_community.utilities`, because there can be a lot of imports there
|
# TODO: it's probably not amazing so that so many other modules depend on `langchain_community.utilities`, because there can be a lot of imports there
|
||||||
git grep '^from langchain\.' langchain/utilities | grep -vE 'from langchain.(pydantic_v1|utils|schema|load|callbacks|env|utilities)' && errors=$((errors+1))
|
git grep '^from langchain\.' langchain/utilities | grep -vE 'from langchain.(pydantic_v1|utils|schema|load|callbacks|env|utilities|_api)' && errors=$((errors+1))
|
||||||
git grep '^from langchain\.' langchain/storage | grep -vE 'from langchain.(pydantic_v1|utils|schema|load|callbacks|env|storage|utilities)' && errors=$((errors+1))
|
git grep '^from langchain\.' langchain/storage | grep -vE 'from langchain.(pydantic_v1|utils|schema|load|callbacks|env|storage|utilities|_api)' && errors=$((errors+1))
|
||||||
git grep '^from langchain\.' langchain/prompts | grep -vE 'from langchain.(pydantic_v1|utils|schema|load|callbacks|env|prompts|_api)' && errors=$((errors+1))
|
git grep '^from langchain\.' langchain/prompts | grep -vE 'from langchain.(pydantic_v1|utils|schema|load|callbacks|env|prompts|_api)' && errors=$((errors+1))
|
||||||
git grep '^from langchain\.' langchain/output_parsers | grep -vE 'from langchain.(pydantic_v1|utils|schema|load|callbacks|env|prompts|_api|output_parsers)' && errors=$((errors+1))
|
git grep '^from langchain\.' langchain/output_parsers | grep -vE 'from langchain.(pydantic_v1|utils|schema|load|callbacks|env|prompts|_api|output_parsers|_api)' && errors=$((errors+1))
|
||||||
git grep '^from langchain\.' langchain/llms | grep -vE 'from langchain.(pydantic_v1|utils|schema|load|callbacks|env|prompts|llms|utilities|globals)' && errors=$((errors+1))
|
git grep '^from langchain\.' langchain/llms | grep -vE 'from langchain.(pydantic_v1|utils|schema|load|callbacks|env|prompts|llms|utilities|globals|_api)' && errors=$((errors+1))
|
||||||
git grep '^from langchain\.' langchain/chat_models | grep -vE 'from langchain.(pydantic_v1|utils|schema|load|callbacks|env|llms|prompts|adapters|chat_models|utilities|globals)' && errors=$((errors+1))
|
git grep '^from langchain\.' langchain/chat_models | grep -vE 'from langchain.(pydantic_v1|utils|schema|load|callbacks|env|llms|prompts|adapters|chat_models|utilities|globals|_api)' && errors=$((errors+1))
|
||||||
git grep '^from langchain\.' langchain/embeddings | grep -vE 'from langchain.(pydantic_v1|utils|schema|load|callbacks|env|storage|llms|embeddings|utilities)' && errors=$((errors+1))
|
git grep '^from langchain\.' langchain/embeddings | grep -vE 'from langchain.(pydantic_v1|utils|schema|load|callbacks|env|storage|llms|embeddings|utilities|_api)' && errors=$((errors+1))
|
||||||
git grep '^from langchain\.' langchain/docstore | grep -vE 'from langchain.(pydantic_v1|utils|schema|docstore)' && errors=$((errors+1))
|
git grep '^from langchain\.' langchain/docstore | grep -vE 'from langchain.(pydantic_v1|utils|schema|docstore|_api)' && errors=$((errors+1))
|
||||||
git grep '^from langchain\.' langchain/vectorstores | grep -vE 'from langchain.(pydantic_v1|utils|schema|load|callbacks|env|_api|storage|llms|docstore|vectorstores|utilities)' && errors=$((errors+1))
|
git grep '^from langchain\.' langchain/vectorstores | grep -vE 'from
|
||||||
|
langchain.(pydantic_v1|utils|schema|load|callbacks|env|_api|storage|llms|docstore|vectorstores|utilities|_api)' && errors=$((errors+1))
|
||||||
# make sure not importing from langchain_experimental
|
# make sure not importing from langchain_experimental
|
||||||
git --no-pager grep '^from langchain_experimental\.' . && errors=$((errors+1))
|
git --no-pager grep '^from langchain_experimental\.' . && errors=$((errors+1))
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user