diff --git a/libs/community/langchain_community/chat_models/hunyuan.py b/libs/community/langchain_community/chat_models/hunyuan.py index 958ccd1c6af..1b79c1b201e 100644 --- a/libs/community/langchain_community/chat_models/hunyuan.py +++ b/libs/community/langchain_community/chat_models/hunyuan.py @@ -26,6 +26,7 @@ from langchain_core.utils import ( get_pydantic_field_names, pre_init, ) +from pydantic import Field logger = logging.getLogger(__name__) @@ -99,10 +100,12 @@ class ChatHunyuan(BaseChatModel): def lc_serializable(self) -> bool: return True - hunyuan_app_id: Optional[int] = Field(default_factory=from_env("HUNYUAN_APP_ID")) + hunyuan_app_id: Optional[int] = Field( + default_factory=from_env("HUNYUAN_APP_ID", default=None) + ) """Hunyuan App ID""" hunyuan_secret_id: Optional[str] = Field( - default_factory=from_env("HUNYUAN_SECRET_ID") + default_factory=from_env("HUNYUAN_SECRET_ID", default=None) ) """Hunyuan Secret ID""" hunyuan_secret_key: Optional[SecretStr] = None diff --git a/libs/community/langchain_community/chat_models/litellm.py b/libs/community/langchain_community/chat_models/litellm.py index 7ce20fba965..1a23d3b7d54 100644 --- a/libs/community/langchain_community/chat_models/litellm.py +++ b/libs/community/langchain_community/chat_models/litellm.py @@ -57,6 +57,7 @@ from langchain_core.runnables import Runnable from langchain_core.tools import BaseTool from langchain_core.utils import from_env, get_from_dict_or_env, pre_init from langchain_core.utils.function_calling import convert_to_openai_tool +from pydantic import Field logger = logging.getLogger(__name__) diff --git a/libs/community/langchain_community/chat_models/octoai.py b/libs/community/langchain_community/chat_models/octoai.py index e6905cc8b26..a536b51c772 100644 --- a/libs/community/langchain_community/chat_models/octoai.py +++ b/libs/community/langchain_community/chat_models/octoai.py @@ -9,6 +9,7 @@ from langchain_core.utils import ( get_from_dict_or_env, pre_init, ) +from pydantic import Field from langchain_community.chat_models.openai import ChatOpenAI from langchain_community.utils.openai import is_openai_v1 diff --git a/libs/community/langchain_community/chat_models/openai.py b/libs/community/langchain_community/chat_models/openai.py index a1677cd105a..810bb9d9ff2 100644 --- a/libs/community/langchain_community/chat_models/openai.py +++ b/libs/community/langchain_community/chat_models/openai.py @@ -48,9 +48,11 @@ from langchain_core.pydantic_v1 import BaseModel, Field, root_validator from langchain_core.runnables import Runnable from langchain_core.utils import ( from_env, + get_from_dict_or_env, get_pydantic_field_names, pre_init, ) +from pydantic import Field from langchain_community.adapters.openai import ( convert_dict_to_message, @@ -206,7 +208,7 @@ class ChatOpenAI(BaseChatModel): # Check for classes that derive from this class (as some of them # may assume openai_api_key is a str) openai_api_key: Optional[str] = Field( - default_factory=from_env("OPENAI_API_KEY"), alias="api_key" + default_factory=from_env("OPENAI_API_KEY", default=None), alias="api_key" ) """Automatically inferred from env var `OPENAI_API_KEY` if not provided.""" openai_api_base: Optional[str] = Field(default=None, alias="base_url") diff --git a/libs/community/langchain_community/chat_models/snowflake.py b/libs/community/langchain_community/chat_models/snowflake.py index f1bf6af6b5a..81b3e62fd5a 100644 --- a/libs/community/langchain_community/chat_models/snowflake.py +++ b/libs/community/langchain_community/chat_models/snowflake.py @@ -20,6 +20,7 @@ from langchain_core.utils import ( pre_init, ) from langchain_core.utils.utils import build_extra_kwargs +from pydantic import Field SUPPORTED_ROLES: List[str] = [ "system", @@ -113,29 +114,29 @@ class ChatSnowflakeCortex(BaseChatModel): """ snowflake_username: Optional[str] = Field( - default_factory=from_env("SNOWFLAKE_USERNAME"), alias="username" + default_factory=from_env("SNOWFLAKE_USERNAME", default=None), alias="username" ) """Automatically inferred from env var `SNOWFLAKE_USERNAME` if not provided.""" snowflake_password: Optional[SecretStr] = Field(default=None, alias="password") """Automatically inferred from env var `SNOWFLAKE_PASSWORD` if not provided.""" snowflake_account: Optional[str] = Field( - default_factory=from_env("SNOWFLAKE_ACCOUNT"), alias="account" + default_factory=from_env("SNOWFLAKE_ACCOUNT", default=None), alias="account" ) """Automatically inferred from env var `SNOWFLAKE_ACCOUNT` if not provided.""" snowflake_database: Optional[str] = Field( - default_factory=from_env("SNOWFLAKE_DATABASE"), alias="database" + default_factory=from_env("SNOWFLAKE_DATABASE", default=None), alias="database" ) """Automatically inferred from env var `SNOWFLAKE_DATABASE` if not provided.""" snowflake_schema: Optional[str] = Field( - default_factory=from_env("SNOWFLAKE_SCHEMA"), alias="schema" + default_factory=from_env("SNOWFLAKE_SCHEMA", default=None), alias="schema" ) """Automatically inferred from env var `SNOWFLAKE_SCHEMA` if not provided.""" snowflake_warehouse: Optional[str] = Field( - default_factory=from_env("SNOWFLAKE_WAREHOUSE"), alias="warehouse" + default_factory=from_env("SNOWFLAKE_WAREHOUSE", default=None), alias="warehouse" ) """Automatically inferred from env var `SNOWFLAKE_WAREHOUSE` if not provided.""" snowflake_role: Optional[str] = Field( - default_factory=from_env("SNOWFLAKE_ROLE"), alias="role" + default_factory=from_env("SNOWFLAKE_ROLE", default=None), alias="role" ) """Automatically inferred from env var `SNOWFLAKE_ROLE` if not provided.""" diff --git a/libs/community/langchain_community/embeddings/anyscale.py b/libs/community/langchain_community/embeddings/anyscale.py index 38c319090d4..964fb5d47e1 100644 --- a/libs/community/langchain_community/embeddings/anyscale.py +++ b/libs/community/langchain_community/embeddings/anyscale.py @@ -11,6 +11,7 @@ from langchain_core.utils import ( get_from_dict_or_env, pre_init, ) +from pydantic import Field from langchain_community.embeddings.openai import OpenAIEmbeddings from langchain_community.utils.openai import is_openai_v1 diff --git a/libs/community/langchain_community/embeddings/ernie.py b/libs/community/langchain_community/embeddings/ernie.py index 1a4534f4a45..8b27662395d 100644 --- a/libs/community/langchain_community/embeddings/ernie.py +++ b/libs/community/langchain_community/embeddings/ernie.py @@ -6,9 +6,10 @@ from typing import Dict, List, Optional import requests from langchain_core._api.deprecation import deprecated from langchain_core.embeddings import Embeddings -from langchain_core.pydantic_v1 import BaseModel, Field +from langchain_core.pydantic_v1 import BaseModel from langchain_core.runnables.config import run_in_executor -from langchain_core.utils import from_env, pre_init +from langchain_core.utils import from_env, get_from_dict_or_env, pre_init +from pydantic import Field logger = logging.getLogger(__name__) @@ -23,9 +24,11 @@ class ErnieEmbeddings(BaseModel, Embeddings): ernie_api_base: Optional[str] = Field( default_factory=from_env("ERNIE_API_BASE", default="https://aip.baidubce.com") ) - ernie_client_id: Optional[str] = Field(default_factory=from_env("ERNIE_CLIENT_ID")) + ernie_client_id: Optional[str] = Field( + default_factory=from_env("ERNIE_CLIENT_ID", default=None) + ) ernie_client_secret: Optional[str] = Field( - default_factory=from_env("ERNIE_CLIENT_SECRET") + default_factory=from_env("ERNIE_CLIENT_SECRET", default=None) ) access_token: Optional[str] = None diff --git a/libs/community/langchain_community/embeddings/octoai_embeddings.py b/libs/community/langchain_community/embeddings/octoai_embeddings.py index 5cd7f15a265..e73cf170ca0 100644 --- a/libs/community/langchain_community/embeddings/octoai_embeddings.py +++ b/libs/community/langchain_community/embeddings/octoai_embeddings.py @@ -7,6 +7,7 @@ from langchain_core.utils import ( get_from_dict_or_env, pre_init, ) +from pydantic import Field from langchain_community.embeddings.openai import OpenAIEmbeddings from langchain_community.utils.openai import is_openai_v1 diff --git a/libs/community/langchain_community/embeddings/sambanova.py b/libs/community/langchain_community/embeddings/sambanova.py index b264ff7530b..1e0d0f15168 100644 --- a/libs/community/langchain_community/embeddings/sambanova.py +++ b/libs/community/langchain_community/embeddings/sambanova.py @@ -3,8 +3,9 @@ from typing import Dict, Generator, List, Optional import requests from langchain_core.embeddings import Embeddings -from langchain_core.pydantic_v1 import BaseModel, Field +from langchain_core.pydantic_v1 import BaseModel from langchain_core.utils import from_env, get_from_dict_or_env, pre_init +from pydantic import Field class SambaStudioEmbeddings(BaseModel, Embeddings): diff --git a/libs/community/langchain_community/embeddings/volcengine.py b/libs/community/langchain_community/embeddings/volcengine.py index eb8d52268a9..b15536bc828 100644 --- a/libs/community/langchain_community/embeddings/volcengine.py +++ b/libs/community/langchain_community/embeddings/volcengine.py @@ -4,8 +4,9 @@ import logging from typing import Any, Dict, List, Optional from langchain_core.embeddings import Embeddings -from langchain_core.pydantic_v1 import BaseModel, Field -from langchain_core.utils import from_env, pre_init +from langchain_core.pydantic_v1 import BaseModel +from langchain_core.utils import from_env, get_from_dict_or_env, pre_init +from pydantic import Field logger = logging.getLogger(__name__) @@ -13,11 +14,15 @@ logger = logging.getLogger(__name__) class VolcanoEmbeddings(BaseModel, Embeddings): """`Volcengine Embeddings` embedding models.""" - volcano_ak: Optional[str] = Field(default_factory=from_env("VOLC_ACCESSKEY")) + volcano_ak: Optional[str] = Field( + default_factory=from_env("VOLC_ACCESSKEY", default=None) + ) """volcano access key learn more from: https://www.volcengine.com/docs/6459/76491#ak-sk""" - volcano_sk: Optional[str] = Field(default_factory=from_env("VOLC_SECRETKEY")) + volcano_sk: Optional[str] = Field( + default_factory=from_env("VOLC_SECRETKEY", default=None) + ) """volcano secret key learn more from: https://www.volcengine.com/docs/6459/76491#ak-sk""" diff --git a/libs/community/langchain_community/llms/anthropic.py b/libs/community/langchain_community/llms/anthropic.py index cd9db81f139..dd557bb3240 100644 --- a/libs/community/langchain_community/llms/anthropic.py +++ b/libs/community/langchain_community/llms/anthropic.py @@ -29,6 +29,7 @@ from langchain_core.utils import ( pre_init, ) from langchain_core.utils.utils import build_extra_kwargs, convert_to_secret_str +from pydantic import Field class _AnthropicCommon(BaseLanguageModel): diff --git a/libs/community/langchain_community/llms/anyscale.py b/libs/community/langchain_community/llms/anyscale.py index fb0557bda1c..0c2eb63bb78 100644 --- a/libs/community/langchain_community/llms/anyscale.py +++ b/libs/community/langchain_community/llms/anyscale.py @@ -21,6 +21,7 @@ from langchain_core.utils import ( get_from_dict_or_env, pre_init, ) +from pydantic import Field from langchain_community.llms.openai import ( BaseOpenAI, diff --git a/libs/community/langchain_community/llms/baichuan.py b/libs/community/langchain_community/llms/baichuan.py index 07dfcaafdd5..ef0b6283ce8 100644 --- a/libs/community/langchain_community/llms/baichuan.py +++ b/libs/community/langchain_community/llms/baichuan.py @@ -14,6 +14,7 @@ from langchain_core.utils import ( get_from_dict_or_env, pre_init, ) +from pydantic import Field from langchain_community.llms.utils import enforce_stop_tokens diff --git a/libs/community/langchain_community/llms/edenai.py b/libs/community/langchain_community/llms/edenai.py index 112764d7e34..634484a2448 100644 --- a/libs/community/langchain_community/llms/edenai.py +++ b/libs/community/langchain_community/llms/edenai.py @@ -10,8 +10,9 @@ from langchain_core.callbacks import ( ) from langchain_core.language_models.llms import LLM from langchain_core.pydantic_v1 import Field, root_validator -from langchain_core.utils import from_env, pre_init +from langchain_core.utils import from_env, get_from_dict_or_env, pre_init from langchain_core.utils.pydantic import get_fields +from pydantic import Field from langchain_community.llms.utils import enforce_stop_tokens from langchain_community.utilities.requests import Requests @@ -34,7 +35,9 @@ class EdenAI(LLM): base_url: str = "https://api.edenai.run/v2" - edenai_api_key: Optional[str] = Field(default_factory=from_env("EDENAI_API_KEY")) + edenai_api_key: Optional[str] = Field( + default_factory=from_env("EDENAI_API_KEY", default=None) + ) feature: Literal["text", "image"] = "text" """Which generative feature to use, use text by default""" diff --git a/libs/community/langchain_community/llms/minimax.py b/libs/community/langchain_community/llms/minimax.py index 8025142885a..2294f018218 100644 --- a/libs/community/langchain_community/llms/minimax.py +++ b/libs/community/langchain_community/llms/minimax.py @@ -22,6 +22,7 @@ from langchain_core.utils import ( get_from_dict_or_env, pre_init, ) +from pydantic import Field from langchain_community.llms.utils import enforce_stop_tokens @@ -77,7 +78,7 @@ class MinimaxCommon(BaseModel): default_factory=from_env("MINIMAX_API_HOST", default="https://api.minimax.chat") ) minimax_group_id: Optional[str] = Field( - default_factory=from_env("MINIMAX_GROUP_ID") + default_factory=from_env("MINIMAX_GROUP_ID", default=None) ) minimax_api_key: Optional[SecretStr] = None diff --git a/libs/community/langchain_community/llms/oci_data_science_model_deployment_endpoint.py b/libs/community/langchain_community/llms/oci_data_science_model_deployment_endpoint.py index e133397b6e2..78c621dbed3 100644 --- a/libs/community/langchain_community/llms/oci_data_science_model_deployment_endpoint.py +++ b/libs/community/langchain_community/llms/oci_data_science_model_deployment_endpoint.py @@ -5,7 +5,8 @@ import requests from langchain_core.callbacks import CallbackManagerForLLMRun from langchain_core.language_models.llms import LLM from langchain_core.pydantic_v1 import Field -from langchain_core.utils import from_env, pre_init +from langchain_core.utils import from_env, get_from_dict_or_env, pre_init +from pydantic import Field logger = logging.getLogger(__name__) diff --git a/libs/community/langchain_community/llms/octoai_endpoint.py b/libs/community/langchain_community/llms/octoai_endpoint.py index c746dc4d4a8..da6ff3c4e95 100644 --- a/libs/community/langchain_community/llms/octoai_endpoint.py +++ b/libs/community/langchain_community/llms/octoai_endpoint.py @@ -7,6 +7,7 @@ from langchain_core.utils import ( get_from_dict_or_env, pre_init, ) +from pydantic import Field from langchain_community.llms.openai import BaseOpenAI from langchain_community.utils.openai import is_openai_v1 diff --git a/libs/community/langchain_community/llms/openai.py b/libs/community/langchain_community/llms/openai.py index 4773326f69a..c9006722334 100644 --- a/libs/community/langchain_community/llms/openai.py +++ b/libs/community/langchain_community/llms/openai.py @@ -37,6 +37,7 @@ from langchain_core.utils import ( ) from langchain_core.utils.pydantic import get_fields from langchain_core.utils.utils import build_extra_kwargs +from pydantic import Field from langchain_community.utils.openai import is_openai_v1 @@ -204,7 +205,7 @@ class BaseOpenAI(BaseLLM): # Check for classes that derive from this class (as some of them # may assume openai_api_key is a str) openai_api_key: Optional[str] = Field( - default_factory=from_env("OPENAI_API_KEY"), alias="api_key" + default_factory=from_env("OPENAI_API_KEY", default=None), alias="api_key" ) """Automatically inferred from env var `OPENAI_API_KEY` if not provided.""" openai_api_base: Optional[str] = Field(default=None, alias="base_url") diff --git a/libs/community/langchain_community/llms/pai_eas_endpoint.py b/libs/community/langchain_community/llms/pai_eas_endpoint.py index 7f898e343be..2b72e61b2c5 100644 --- a/libs/community/langchain_community/llms/pai_eas_endpoint.py +++ b/libs/community/langchain_community/llms/pai_eas_endpoint.py @@ -6,7 +6,8 @@ import requests from langchain_core.callbacks import CallbackManagerForLLMRun from langchain_core.language_models.llms import LLM from langchain_core.outputs import GenerationChunk -from langchain_core.utils import pre_init +from langchain_core.utils import from_env, get_from_dict_or_env, pre_init +from pydantic import Field from langchain_community.llms.utils import enforce_stop_tokens diff --git a/libs/community/langchain_community/llms/sambanova.py b/libs/community/langchain_community/llms/sambanova.py index 68d2835f209..9b31dd2a403 100644 --- a/libs/community/langchain_community/llms/sambanova.py +++ b/libs/community/langchain_community/llms/sambanova.py @@ -5,8 +5,8 @@ import requests from langchain_core.callbacks.manager import CallbackManagerForLLMRun from langchain_core.language_models.llms import LLM from langchain_core.outputs import GenerationChunk -from langchain_core.pydantic_v1 import Field from langchain_core.utils import from_env, get_from_dict_or_env, pre_init +from pydantic import Field class SVEndpointHandler: @@ -204,7 +204,7 @@ class Sambaverse(LLM): """sambaverse api key""" sambaverse_model_name: Optional[str] = Field( - default_factory=from_env("SAMBAVERSE_MODEL_NAME") + default_factory=from_env("SAMBAVERSE_MODEL_NAME", default=None) ) """sambaverse expert model to use""" diff --git a/libs/community/langchain_community/llms/sparkllm.py b/libs/community/langchain_community/llms/sparkllm.py index ad2a9881785..8db5ef8638a 100644 --- a/libs/community/langchain_community/llms/sparkllm.py +++ b/libs/community/langchain_community/llms/sparkllm.py @@ -18,7 +18,8 @@ from langchain_core.callbacks import CallbackManagerForLLMRun from langchain_core.language_models.llms import LLM from langchain_core.outputs import GenerationChunk from langchain_core.pydantic_v1 import Field -from langchain_core.utils import from_env, pre_init +from langchain_core.utils import from_env, get_from_dict_or_env, pre_init +from pydantic import Field logger = logging.getLogger(__name__) @@ -43,13 +44,13 @@ class SparkLLM(LLM): client: Any = None #: :meta private: spark_app_id: Optional[str] = Field( - default_factory=from_env("IFLYTEK_SPARK_APP_ID") + default_factory=from_env("IFLYTEK_SPARK_APP_ID", default=None) ) spark_api_key: Optional[str] = Field( - default_factory=from_env("IFLYTEK_SPARK_API_KEY") + default_factory=from_env("IFLYTEK_SPARK_API_KEY", default=None) ) spark_api_secret: Optional[str] = Field( - default_factory=from_env("IFLYTEK_SPARK_API_SECRET") + default_factory=from_env("IFLYTEK_SPARK_API_SECRET", default=None) ) spark_api_url: Optional[str] = Field( default_factory=from_env( diff --git a/libs/community/langchain_community/retrievers/arcee.py b/libs/community/langchain_community/retrievers/arcee.py index 5a069813b99..ed87a0f6251 100644 --- a/libs/community/langchain_community/retrievers/arcee.py +++ b/libs/community/langchain_community/retrievers/arcee.py @@ -2,7 +2,7 @@ from typing import Any, Dict, List, Optional from langchain_core.callbacks import CallbackManagerForRetrieverRun from langchain_core.documents import Document -from langchain_core.pydantic_v1 import Field, SecretStr +from langchain_core.pydantic_v1 import SecretStr from langchain_core.retrievers import BaseRetriever from langchain_core.utils import ( convert_to_secret_str, @@ -10,6 +10,7 @@ from langchain_core.utils import ( get_from_dict_or_env, pre_init, ) +from pydantic import Field from langchain_community.utilities.arcee import ArceeWrapper, DALMFilter diff --git a/libs/community/langchain_community/retrievers/google_cloud_documentai_warehouse.py b/libs/community/langchain_community/retrievers/google_cloud_documentai_warehouse.py index 12b34f7836e..751f3fd1153 100644 --- a/libs/community/langchain_community/retrievers/google_cloud_documentai_warehouse.py +++ b/libs/community/langchain_community/retrievers/google_cloud_documentai_warehouse.py @@ -6,7 +6,8 @@ from langchain_core._api.deprecation import deprecated from langchain_core.callbacks import CallbackManagerForRetrieverRun from langchain_core.documents import Document from langchain_core.retrievers import BaseRetriever -from langchain_core.utils import pre_init +from langchain_core.utils import from_env, get_from_dict_or_env, pre_init +from pydantic import Field from langchain_community.utilities.vertexai import get_client_info