diff --git a/metagpt/provider/zhipuai_api.py b/metagpt/provider/zhipuai_api.py index 650720d6f9..b258d28838 100644 --- a/metagpt/provider/zhipuai_api.py +++ b/metagpt/provider/zhipuai_api.py @@ -50,6 +50,8 @@ def __init_zhipuai(self, config: CONFIG): assert config.zhipuai_api_key zhipuai.api_key = config.zhipuai_api_key openai.api_key = zhipuai.api_key # due to use openai sdk, set the api_key but it will't be used. + if config.openai_proxy: + openai.proxy = config.openai_proxy def _const_kwargs(self, messages: list[dict]) -> dict: kwargs = {"model": self.model, "prompt": messages, "temperature": 0.3} diff --git a/tests/metagpt/provider/test_zhipuai_api.py b/tests/metagpt/provider/test_zhipuai_api.py index 4684e8887e..dc8b63cc3b 100644 --- a/tests/metagpt/provider/test_zhipuai_api.py +++ b/tests/metagpt/provider/test_zhipuai_api.py @@ -35,3 +35,10 @@ async def test_zhipuai_acompletion(mocker): assert resp["code"] == 200 assert "chatglm-turbo" in resp["data"]["choices"][0]["content"] + +def test_zhipuai_proxy(mocker): + import openai + from metagpt.config import CONFIG + CONFIG.openai_proxy = 'http://127.0.0.1:8080' + _ = ZhiPuAIGPTAPI() + assert openai.proxy == CONFIG.openai_proxy