Source code for langchain_core.utils.env
from __future__ import annotations
import os
from typing import Any, Dict, Optional
[docs]def env_var_is_set(env_var: str) -> bool:
"""检查环境变量是否已设置。
参数:
env_var(str):环境变量的名称。
返回:
bool:如果环境变量已设置,则为True,否则为False。
"""
return env_var in os.environ and os.environ[env_var] not in (
"",
"0",
"false",
"False",
)
[docs]def get_from_dict_or_env(
data: Dict[str, Any], key: str, env_key: str, default: Optional[str] = None
) -> str:
"""从字典或环境变量中获取一个值。"""
if key in data and data[key]:
return data[key]
else:
return get_from_env(key, env_key, default=default)
[docs]def get_from_env(key: str, env_key: str, default: Optional[str] = None) -> str:
"""从字典或环境变量中获取一个值。"""
if env_key in os.environ and os.environ[env_key]:
return os.environ[env_key]
elif default is not None:
return default
else:
raise ValueError(
f"Did not find {key}, please add an environment variable"
f" `{env_key}` which contains it, or pass"
f" `{key}` as a named parameter."
)