diff --git a/src/crewai/llm.py b/src/crewai/llm.py index 98b0bc855..ef8746fd5 100644 --- a/src/crewai/llm.py +++ b/src/crewai/llm.py @@ -133,6 +133,7 @@ class LLM: logprobs: Optional[int] = None, top_logprobs: Optional[int] = None, base_url: Optional[str] = None, + api_base: Optional[str] = None, api_version: Optional[str] = None, api_key: Optional[str] = None, callbacks: List[Any] = [], @@ -152,6 +153,7 @@ class LLM: self.logprobs = logprobs self.top_logprobs = top_logprobs self.base_url = base_url + self.api_base = api_base self.api_version = api_version self.api_key = api_key self.callbacks = callbacks @@ -232,7 +234,8 @@ class LLM: "seed": self.seed, "logprobs": self.logprobs, "top_logprobs": self.top_logprobs, - "api_base": self.base_url, + "api_base": self.api_base, + "base_url": self.base_url, "api_version": self.api_version, "api_key": self.api_key, "stream": False, diff --git a/src/crewai/utilities/llm_utils.py b/src/crewai/utilities/llm_utils.py index 13230edf6..cfd7e98de 100644 --- a/src/crewai/utilities/llm_utils.py +++ b/src/crewai/utilities/llm_utils.py @@ -101,8 +101,18 @@ def _llm_via_environment_or_fallback() -> Optional[LLM]: callbacks: List[Any] = [] # Optional base URL from env - api_base = os.environ.get("OPENAI_API_BASE") or os.environ.get("OPENAI_BASE_URL") - if api_base: + base_url = ( + os.environ.get("BASE_URL") + or os.environ.get("OPENAI_API_BASE") + or os.environ.get("OPENAI_BASE_URL") + ) + + api_base = os.environ.get("API_BASE") or os.environ.get("AZURE_API_BASE") + + # Synchronize base_url and api_base if one is populated and the other is not + if base_url and not api_base: + api_base = base_url + elif api_base and not base_url: base_url = api_base # Initialize llm_params dictionary @@ -115,6 +125,7 @@ def _llm_via_environment_or_fallback() -> Optional[LLM]: "timeout": timeout, "api_key": api_key, "base_url": base_url, + "api_base": api_base, "api_version": api_version, "presence_penalty": presence_penalty, "frequency_penalty": frequency_penalty,