From 118ab8ac8208c4e243ddde3ed1e01dbe8a5c5686 Mon Sep 17 00:00:00 2001 From: shenchucheng Date: Sat, 23 Dec 2023 21:56:19 +0800 Subject: [PATCH] add options to disable llm provider check --- config/config.yaml | 1 + metagpt/config.py | 4 +++- metagpt/llm.py | 7 ++++++- 3 files changed, 10 insertions(+), 2 deletions(-) diff --git a/config/config.yaml b/config/config.yaml index ab4d49f5d..5025a4977 100644 --- a/config/config.yaml +++ b/config/config.yaml @@ -141,3 +141,4 @@ TIMEOUT: 60 # Timeout for llm invocation #REDIS_PASSWORD: "YOUR_REDIS_PASSWORD" #REDIS_DB: "YOUR_REDIS_DB_INDEX, str, 0-based" +# DISABLE_LLM_PROVIDER_CHECK: false diff --git a/metagpt/config.py b/metagpt/config.py index 222254ac7..1ce12216d 100644 --- a/metagpt/config.py +++ b/metagpt/config.py @@ -138,7 +138,9 @@ class Config(metaclass=Singleton): self.gemini_api_key = self._get("GEMINI_API_KEY") self.ollama_api_base = self._get("OLLAMA_API_BASE") self.ollama_api_model = self._get("OLLAMA_API_MODEL") - # _ = self.get_default_llm_provider_enum() + + if not self._get("DISABLE_LLM_PROVIDER_CHECK"): + _ = self.get_default_llm_provider_enum() # self.openai_base_url = self._get("OPENAI_BASE_URL") self.openai_proxy = self._get("OPENAI_PROXY") or self.global_proxy diff --git a/metagpt/llm.py b/metagpt/llm.py index 8763642f0..f1cb98dae 100644 --- a/metagpt/llm.py +++ b/metagpt/llm.py @@ -6,6 +6,8 @@ @File : llm.py """ +from typing import Optional + from metagpt.config import CONFIG, LLMProviderEnum from metagpt.provider.base_gpt_api import BaseGPTAPI from metagpt.provider.human_provider import HumanProvider @@ -14,6 +16,9 @@ from metagpt.provider.llm_provider_registry import LLM_REGISTRY _ = HumanProvider() # Avoid pre-commit error -def LLM(provider: LLMProviderEnum = CONFIG.get_default_llm_provider_enum()) -> BaseGPTAPI: +def LLM(provider: Optional[LLMProviderEnum] = None) -> BaseGPTAPI: """get the default llm provider""" + if provider is None: + provider = CONFIG.get_default_llm_provider_enum() + return LLM_REGISTRY.get_provider(provider)