diff --git a/libs/community/langchain_community/chat_models/google_palm.py b/libs/community/langchain_community/chat_models/google_palm.py index 23d86f0bf2..79010bde86 100644 --- a/libs/community/langchain_community/chat_models/google_palm.py +++ b/libs/community/langchain_community/chat_models/google_palm.py @@ -20,8 +20,8 @@ from langchain_core.outputs import ( ChatGeneration, ChatResult, ) -from langchain_core.pydantic_v1 import BaseModel, root_validator -from langchain_core.utils import get_from_dict_or_env +from langchain_core.pydantic_v1 import BaseModel, SecretStr, root_validator +from langchain_core.utils import convert_to_secret_str, get_from_dict_or_env from tenacity import ( before_sleep_log, retry, @@ -233,7 +233,7 @@ class ChatGooglePalm(BaseChatModel, BaseModel): client: Any #: :meta private: model_name: str = "models/chat-bison-001" """Model name to use.""" - google_api_key: Optional[str] = None + google_api_key: Optional[SecretStr] = None temperature: Optional[float] = None """Run inference with this temperature. Must by in the closed interval [0.0, 1.0].""" @@ -263,13 +263,13 @@ class ChatGooglePalm(BaseChatModel, BaseModel): @root_validator() def validate_environment(cls, values: Dict) -> Dict: """Validate api key, python package exists, temperature, top_p, and top_k.""" - google_api_key = get_from_dict_or_env( - values, "google_api_key", "GOOGLE_API_KEY" + google_api_key = convert_to_secret_str( + get_from_dict_or_env(values, "google_api_key", "GOOGLE_API_KEY") ) try: import google.generativeai as genai - genai.configure(api_key=google_api_key) + genai.configure(api_key=google_api_key.get_secret_value()) except ImportError: raise ChatGooglePalmError( "Could not import google.generativeai python package. "