From b3b9f3abbc15ffa5d45415422b8243e9580d3919 Mon Sep 17 00:00:00 2001 From: vvanglro Date: Thu, 16 Nov 2023 11:18:10 +0800 Subject: [PATCH 1/5] fix: model init ValueError --- libs/langchain/langchain/llms/minimax.py | 3 ++- .../tests/integration_tests/chat_models/test_minimax.py | 9 +++++++++ 2 files changed, 11 insertions(+), 1 deletion(-) create mode 100644 libs/langchain/tests/integration_tests/chat_models/test_minimax.py diff --git a/libs/langchain/langchain/llms/minimax.py b/libs/langchain/langchain/llms/minimax.py index 4a6abc753ba52..3bf8fd5976d16 100644 --- a/libs/langchain/langchain/llms/minimax.py +++ b/libs/langchain/langchain/llms/minimax.py @@ -112,11 +112,12 @@ def _llm_type(self) -> str: def __init__(self, **data: Any): super().__init__(**data) - self._client = _MinimaxEndpointClient( + _client = _MinimaxEndpointClient( host=self.minimax_api_host, api_key=self.minimax_api_key, group_id=self.minimax_group_id, ) + object.__setattr__(self, "_client", _client) class Minimax(MinimaxCommon, LLM): diff --git a/libs/langchain/tests/integration_tests/chat_models/test_minimax.py b/libs/langchain/tests/integration_tests/chat_models/test_minimax.py new file mode 100644 index 0000000000000..e7cc89721fd79 --- /dev/null +++ b/libs/langchain/tests/integration_tests/chat_models/test_minimax.py @@ -0,0 +1,9 @@ +from langchain.chat_models import MiniMaxChat + + +def test_minimaxchat_init_client(): + chat = MiniMaxChat(minimax_api_host="test_host", minimax_api_key="test_api_key", minimax_group_id="test_group_id") + assert chat._client + assert chat._client.host == "test_host" + assert chat._client.group_id == "test_group_id" + assert chat._client.api_key == "test_api_key" From ae040ce695f3353105ca16f6f3aa6485a7f75530 Mon Sep 17 00:00:00 2001 From: Peanut Date: Thu, 16 Nov 2023 07:29:40 +0000 Subject: [PATCH 2/5] style: format --- .../tests/integration_tests/chat_models/test_minimax.py | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/libs/langchain/tests/integration_tests/chat_models/test_minimax.py b/libs/langchain/tests/integration_tests/chat_models/test_minimax.py index e7cc89721fd79..d6845cb4edcd9 100644 --- a/libs/langchain/tests/integration_tests/chat_models/test_minimax.py +++ b/libs/langchain/tests/integration_tests/chat_models/test_minimax.py @@ -2,7 +2,11 @@ def test_minimaxchat_init_client(): - chat = MiniMaxChat(minimax_api_host="test_host", minimax_api_key="test_api_key", minimax_group_id="test_group_id") + chat = MiniMaxChat( + minimax_api_host="test_host", + minimax_api_key="test_api_key", + minimax_group_id="test_group_id", + ) assert chat._client assert chat._client.host == "test_host" assert chat._client.group_id == "test_group_id" From bc6ff7b0b38a4b87de1cfe9ae37aa2c3c00786bb Mon Sep 17 00:00:00 2001 From: Peanut Date: Mon, 20 Nov 2023 02:51:15 +0000 Subject: [PATCH 3/5] style: mypy --- .../integration_tests/chat_models/test_minimax.py | 14 +++++++++++++- 1 file changed, 13 insertions(+), 1 deletion(-) diff --git a/libs/langchain/tests/integration_tests/chat_models/test_minimax.py b/libs/langchain/tests/integration_tests/chat_models/test_minimax.py index d6845cb4edcd9..4a0b4715c81bb 100644 --- a/libs/langchain/tests/integration_tests/chat_models/test_minimax.py +++ b/libs/langchain/tests/integration_tests/chat_models/test_minimax.py @@ -1,7 +1,9 @@ from langchain.chat_models import MiniMaxChat +from langchain.llms.minimax import MinimaxCommon -def test_minimaxchat_init_client(): +def test_minimaxchat_init_client() -> None: + "Test MiniMaxChat and MinimaxCommon model init _client attribute" chat = MiniMaxChat( minimax_api_host="test_host", minimax_api_key="test_api_key", @@ -11,3 +13,13 @@ def test_minimaxchat_init_client(): assert chat._client.host == "test_host" assert chat._client.group_id == "test_group_id" assert chat._client.api_key == "test_api_key" + + chat2 = MinimaxCommon( + minimax_api_host="test_host", + minimax_api_key="test_api_key", + minimax_group_id="test_group_id", + ) + assert chat2._client + assert chat2._client.host == "test_host" + assert chat2._client.group_id == "test_group_id" + assert chat2._client.api_key == "test_api_key" From 22bbb5a9849626af6f9dde31191a91ca7eb7d529 Mon Sep 17 00:00:00 2001 From: vvanglro Date: Mon, 20 Nov 2023 16:04:48 +0800 Subject: [PATCH 4/5] refactor: instantiate _client in the root_validator method,_client type hints and remove init --- libs/langchain/langchain/llms/minimax.py | 16 ++++++---------- 1 file changed, 6 insertions(+), 10 deletions(-) diff --git a/libs/langchain/langchain/llms/minimax.py b/libs/langchain/langchain/llms/minimax.py index 3bf8fd5976d16..77e56db08f2de 100644 --- a/libs/langchain/langchain/llms/minimax.py +++ b/libs/langchain/langchain/llms/minimax.py @@ -56,7 +56,7 @@ def post(self, request: Any) -> Any: class MinimaxCommon(BaseModel): """Common parameters for Minimax large language models.""" - _client: Any = None + _client: _MinimaxEndpointClient model: str = "abab5.5-chat" """Model name to use.""" max_tokens: int = 256 @@ -87,6 +87,11 @@ def validate_environment(cls, values: Dict) -> Dict: "MINIMAX_API_HOST", default="https://api.minimax.chat", ) + cls._client = _MinimaxEndpointClient( + host=values["minimax_api_host"], + api_key=values["minimax_api_key"], + group_id=values["minimax_group_id"], + ) return values @property @@ -110,15 +115,6 @@ def _llm_type(self) -> str: """Return type of llm.""" return "minimax" - def __init__(self, **data: Any): - super().__init__(**data) - _client = _MinimaxEndpointClient( - host=self.minimax_api_host, - api_key=self.minimax_api_key, - group_id=self.minimax_group_id, - ) - object.__setattr__(self, "_client", _client) - class Minimax(MinimaxCommon, LLM): """Wrapper around Minimax large language models. From 9e8163b5cd8a3d52e871c973d9e7f7e79675ecc2 Mon Sep 17 00:00:00 2001 From: Harrison Chase Date: Wed, 29 Nov 2023 14:28:18 -0500 Subject: [PATCH 5/5] Update libs/langchain/langchain/llms/minimax.py --- libs/langchain/langchain/llms/minimax.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/libs/langchain/langchain/llms/minimax.py b/libs/langchain/langchain/llms/minimax.py index be2e744d5eb28..ea4b159a91c11 100644 --- a/libs/langchain/langchain/llms/minimax.py +++ b/libs/langchain/langchain/llms/minimax.py @@ -87,7 +87,7 @@ def validate_environment(cls, values: Dict) -> Dict: "MINIMAX_API_HOST", default="https://api.minimax.chat", ) - cls._client = _MinimaxEndpointClient( + values["_client"] = _MinimaxEndpointClient( host=values["minimax_api_host"], api_key=values["minimax_api_key"], group_id=values["minimax_group_id"],