From f9519ca417f9ae72c8814c70d44de35bcc1be587 Mon Sep 17 00:00:00 2001 From: yzlin Date: Wed, 31 Jan 2024 00:39:57 +0800 Subject: [PATCH] change ways of using config --- metagpt/tools/libs/gpt_v_generator.py | 10 +++++----- metagpt/tools/libs/sd_engine.py | 8 ++++---- metagpt/tools/web_browser_engine_playwright.py | 5 ++++- tests/mock/mock_llm.py | 3 ++- 4 files changed, 15 insertions(+), 11 deletions(-) diff --git a/metagpt/tools/libs/gpt_v_generator.py b/metagpt/tools/libs/gpt_v_generator.py index adc3b1051..e079a8eef 100644 --- a/metagpt/tools/libs/gpt_v_generator.py +++ b/metagpt/tools/libs/gpt_v_generator.py @@ -33,12 +33,12 @@ Now, please generate the corresponding webpage code including HTML, CSS and Java @register_tool(tool_type=ToolTypeEnum.IMAGE2WEBPAGE.value) class GPTvGenerator: def __init__(self): - from metagpt.config import CONFIG + from metagpt.config2 import config - OPENAI_API_BASE = CONFIG.OPENAI_BASE_URL - API_KEY = CONFIG.OPENAI_API_KEY - MODEL = CONFIG.OPENAI_VISION_MODEL - MAX_TOKENS = CONFIG.VISION_MAX_TOKENS + OPENAI_API_BASE = config.llm.base_url + API_KEY = config.llm.api_key + MODEL = config.OPENAI_VISION_MODEL + MAX_TOKENS = config.VISION_MAX_TOKENS self.api_key = API_KEY self.api_base = OPENAI_API_BASE self.model = MODEL diff --git a/metagpt/tools/libs/sd_engine.py b/metagpt/tools/libs/sd_engine.py index 794758f77..47b0da7e9 100644 --- a/metagpt/tools/libs/sd_engine.py +++ b/metagpt/tools/libs/sd_engine.py @@ -55,11 +55,11 @@ default_negative_prompt = "(easynegative:0.8),black, dark,Low resolution" @register_tool(tool_type=ToolTypeEnum.STABLE_DIFFUSION.value) class SDEngine: def __init__(self, sd_url=""): - from metagpt.config import CONFIG + from metagpt.config2 import config # Initialize the SDEngine with configuration - self.sd_url = sd_url if sd_url else CONFIG.get("SD_URL") - self.sd_t2i_url = f"{self.sd_url}{CONFIG.get('SD_T2I_API')}" + self.sd_url = sd_url if sd_url else config.get("SD_URL") + self.sd_t2i_url = f"{self.sd_url}{config.get('SD_T2I_API')}" # Define default payload settings for SD API self.payload = payload logger.info(self.sd_t2i_url) @@ -82,7 +82,7 @@ class SDEngine: return self.payload def save(self, imgs, save_name=""): - save_dir = CONFIG.workspace_path / SD_OUTPUT_FILE_REPO + save_dir = config.workspace_path / SD_OUTPUT_FILE_REPO if not save_dir.exists(): save_dir.mkdir(parents=True, exist_ok=True) batch_decode_base64_to_image(imgs, str(save_dir), save_name=save_name) diff --git a/metagpt/tools/web_browser_engine_playwright.py b/metagpt/tools/web_browser_engine_playwright.py index f8dabd5ac..7c33da923 100644 --- a/metagpt/tools/web_browser_engine_playwright.py +++ b/metagpt/tools/web_browser_engine_playwright.py @@ -10,7 +10,6 @@ from typing import Literal from playwright.async_api import async_playwright -from metagpt.config2 import config from metagpt.logs import logger from metagpt.utils.parse_html import WebPage @@ -30,6 +29,10 @@ class PlaywrightWrapper: launch_kwargs: dict | None = None, **kwargs, ) -> None: + from metagpt.config2 import ( + config, # avoid circular import error when importing tools" + ) + self.browser_type = browser_type launch_kwargs = launch_kwargs or {} if config.proxy and "proxy" not in launch_kwargs: diff --git a/tests/mock/mock_llm.py b/tests/mock/mock_llm.py index 3671e8fb7..e2fff214f 100644 --- a/tests/mock/mock_llm.py +++ b/tests/mock/mock_llm.py @@ -2,12 +2,13 @@ import json from typing import Optional, Union from metagpt.config2 import config +from metagpt.configs.llm_config import LLMType from metagpt.logs import log_llm_stream, logger from metagpt.provider.azure_openai_api import AzureOpenAILLM from metagpt.provider.openai_api import OpenAILLM from metagpt.schema import Message -OriginalLLM = OpenAILLM if not config.openai_api_type else AzureOpenAILLM +OriginalLLM = OpenAILLM if config.llm.api_type == LLMType.OPENAI else AzureOpenAILLM class MockLLM(OriginalLLM):