mirror of
https://github.com/hwchase17/langchain.git
synced 2025-08-08 04:25:46 +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,
|
||||
ChatCompletion,
|
||||
ChatCompletionChunk,
|
||||
ChatCompletions,
|
||||
Choice,
|
||||
ChoiceChunk,
|
||||
Completions,
|
||||
IndexableBaseModel,
|
||||
chat,
|
||||
convert_dict_to_message,
|
||||
convert_message_to_dict,
|
||||
convert_messages_for_finetuning,
|
||||
convert_openai_messages,
|
||||
)
|
||||
|
||||
# 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)
|
||||
|
||||
|
||||
def __getattr__(name: str) -> None:
|
||||
# If not in interactive env, raise warning.
|
||||
from langchain_community.adapters import openai
|
||||
|
||||
if not is_interactive_env():
|
||||
warnings.warn(
|
||||
"Importing from langchain is deprecated. Importing from "
|
||||
"langchain will no longer be supported as of langchain==0.2.0. "
|
||||
"Instead of `from langchain.adapters.openai import {name}` "
|
||||
"Use `from langchain_community.adapters.openai import {name}`."
|
||||
"To install langchain-community run `pip install -U langchain-community`.",
|
||||
category=LangChainDeprecationWarning,
|
||||
)
|
||||
|
||||
return getattr(openai, name)
|
||||
def __getattr__(name: str) -> Any:
|
||||
"""Look up attributes dynamically."""
|
||||
return _import_attribute(name)
|
||||
|
||||
|
||||
__all__ = [ # noqa: F822
|
||||
__all__ = [
|
||||
"IndexableBaseModel",
|
||||
"Choice",
|
||||
"ChatCompletions",
|
||||
|
@ -7,23 +7,23 @@ errors=0
|
||||
|
||||
# Check the conditions
|
||||
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/load | grep -vE 'from langchain.(pydantic_v1|load)' && errors=$((errors+1))
|
||||
git grep '^from langchain\.' langchain/utils | grep -vE 'from langchain.(pydantic_v1|utils)' && 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/adapters | grep -vE 'from langchain.(pydantic_v1|utils|schema|load)' && 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/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|_api)' && 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|_api)' && 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|_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
|
||||
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/storage | grep -vE 'from langchain.(pydantic_v1|utils|schema|load|callbacks|env|storage|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|_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/llms | grep -vE 'from langchain.(pydantic_v1|utils|schema|load|callbacks|env|prompts|llms|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)' && 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/docstore | grep -vE 'from langchain.(pydantic_v1|utils|schema|docstore)' && 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/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|_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|_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|_api)' && 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|_api)' && errors=$((errors+1))
|
||||
# make sure not importing from langchain_experimental
|
||||
git --no-pager grep '^from langchain_experimental\.' . && errors=$((errors+1))
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user