diff --git a/libs/community/langchain_community/chat_models/tongyi.py b/libs/community/langchain_community/chat_models/tongyi.py index 937d431193265..9f060364d8f40 100644 --- a/libs/community/langchain_community/chat_models/tongyi.py +++ b/libs/community/langchain_community/chat_models/tongyi.py @@ -158,7 +158,7 @@ def lc_secrets(self) -> Dict[str, str]: top_p: float = 0.8 """Total probability mass of tokens to consider at each step.""" - dashscope_api_key: Optional[SecretStr] = None + dashscope_api_key: Optional[SecretStr] = Field(None, alias="api_key") """Dashscope api key provide by Alibaba Cloud.""" streaming: bool = False @@ -167,6 +167,11 @@ def lc_secrets(self) -> Dict[str, str]: max_retries: int = 10 """Maximum number of retries to make when generating.""" + class Config: + """Configuration for this pydantic object.""" + + allow_population_by_field_name = True + @property def _llm_type(self) -> str: """Return type of llm.""" diff --git a/libs/community/tests/integration_tests/chat_models/test_tongyi.py b/libs/community/tests/integration_tests/chat_models/test_tongyi.py index 79cb484b79f2f..475db4315c00d 100644 --- a/libs/community/tests/integration_tests/chat_models/test_tongyi.py +++ b/libs/community/tests/integration_tests/chat_models/test_tongyi.py @@ -1,4 +1,5 @@ """Test Alibaba Tongyi Chat Model.""" +from typing import cast from langchain_core.callbacks import CallbackManager from langchain_core.messages import AIMessage, BaseMessage, HumanMessage @@ -10,6 +11,16 @@ from tests.unit_tests.callbacks.fake_callback_handler import FakeCallbackHandler +def test_initialization() -> None: + """Test chat model initialization.""" + for model in [ + ChatTongyi(model_name="qwen-turbo", api_key="xyz"), + ChatTongyi(model="qwen-turbo", dashscope_api_key="xyz"), + ]: + assert model.model_name == "qwen-turbo" + assert cast(SecretStr, model.dashscope_api_key).get_secret_value() == "xyz" + + def test_api_key_is_string() -> None: llm = ChatTongyi(dashscope_api_key="secret-api-key") assert isinstance(llm.dashscope_api_key, SecretStr)