Open AI env var fix (#2384)
This commit is contained in:
@@ -29,7 +29,7 @@ iconType: "solid"
|
|||||||
Config values are applied in the following order of precedence (from highest to lowest):
|
Config values are applied in the following order of precedence (from highest to lowest):
|
||||||
|
|
||||||
1. Values explicitly set in the `config` object/dictionary
|
1. Values explicitly set in the `config` object/dictionary
|
||||||
2. Environment variables (e.g., `OPENAI_API_KEY`, `OPENAI_API_BASE`)
|
2. Environment variables (e.g., `OPENAI_API_KEY`, `OPENAI_BASE_URL`)
|
||||||
3. Default values defined in the LLM implementation
|
3. Default values defined in the LLM implementation
|
||||||
|
|
||||||
This means that values specified in the `config` will override corresponding environment variables, which in turn override default values.
|
This means that values specified in the `config` will override corresponding environment variables, which in turn override default values.
|
||||||
|
|||||||
@@ -1,4 +1,5 @@
|
|||||||
import os
|
import os
|
||||||
|
import warnings
|
||||||
from typing import Optional
|
from typing import Optional
|
||||||
|
|
||||||
from chromadb.utils.embedding_functions import OpenAIEmbeddingFunction
|
from chromadb.utils.embedding_functions import OpenAIEmbeddingFunction
|
||||||
@@ -16,7 +17,18 @@ class OpenAIEmbedder(BaseEmbedder):
|
|||||||
self.config.model = "text-embedding-ada-002"
|
self.config.model = "text-embedding-ada-002"
|
||||||
|
|
||||||
api_key = self.config.api_key or os.environ["OPENAI_API_KEY"]
|
api_key = self.config.api_key or os.environ["OPENAI_API_KEY"]
|
||||||
api_base = self.config.api_base or os.environ.get("OPENAI_API_BASE")
|
api_base = (
|
||||||
|
self.config.api_base
|
||||||
|
or os.environ.get("OPENAI_API_BASE")
|
||||||
|
or os.getenv("OPENAI_BASE_URL")
|
||||||
|
or "https://api.openai.com/v1"
|
||||||
|
)
|
||||||
|
if os.environ.get("OPENAI_API_BASE"):
|
||||||
|
warnings.warn(
|
||||||
|
"The environment variable 'OPENAI_API_BASE' is deprecated and will be removed in the 0.1.140. "
|
||||||
|
"Please use 'OPENAI_BASE_URL' instead.",
|
||||||
|
DeprecationWarning
|
||||||
|
)
|
||||||
|
|
||||||
if api_key is None and os.getenv("OPENAI_ORGANIZATION") is None:
|
if api_key is None and os.getenv("OPENAI_ORGANIZATION") is None:
|
||||||
raise ValueError("OPENAI_API_KEY or OPENAI_ORGANIZATION environment variables not provided") # noqa:E501
|
raise ValueError("OPENAI_API_KEY or OPENAI_ORGANIZATION environment variables not provided") # noqa:E501
|
||||||
|
|||||||
@@ -1,5 +1,6 @@
|
|||||||
import json
|
import json
|
||||||
import os
|
import os
|
||||||
|
import warnings
|
||||||
from typing import Any, Callable, Dict, Optional, Type, Union
|
from typing import Any, Callable, Dict, Optional, Type, Union
|
||||||
|
|
||||||
from langchain.callbacks.streaming_stdout import StreamingStdOutCallbackHandler
|
from langchain.callbacks.streaming_stdout import StreamingStdOutCallbackHandler
|
||||||
@@ -58,7 +59,19 @@ class OpenAILlm(BaseLlm):
|
|||||||
"model_kwargs": config.model_kwargs or {},
|
"model_kwargs": config.model_kwargs or {},
|
||||||
}
|
}
|
||||||
api_key = config.api_key or os.environ["OPENAI_API_KEY"]
|
api_key = config.api_key or os.environ["OPENAI_API_KEY"]
|
||||||
base_url = config.base_url or os.environ.get("OPENAI_API_BASE", None)
|
base_url = (
|
||||||
|
config.base_url
|
||||||
|
or os.getenv("OPENAI_API_BASE")
|
||||||
|
or os.getenv("OPENAI_BASE_URL")
|
||||||
|
or "https://api.openai.com/v1"
|
||||||
|
)
|
||||||
|
if os.environ.get("OPENAI_API_BASE"):
|
||||||
|
warnings.warn(
|
||||||
|
"The environment variable 'OPENAI_API_BASE' is deprecated and will be removed in the 0.1.140. "
|
||||||
|
"Please use 'OPENAI_BASE_URL' instead.",
|
||||||
|
DeprecationWarning
|
||||||
|
)
|
||||||
|
|
||||||
if config.top_p:
|
if config.top_p:
|
||||||
kwargs["top_p"] = config.top_p
|
kwargs["top_p"] = config.top_p
|
||||||
if config.default_headers:
|
if config.default_headers:
|
||||||
|
|||||||
@@ -1,4 +1,5 @@
|
|||||||
import os
|
import os
|
||||||
|
import warnings
|
||||||
from typing import Literal, Optional
|
from typing import Literal, Optional
|
||||||
|
|
||||||
from openai import OpenAI
|
from openai import OpenAI
|
||||||
@@ -15,7 +16,19 @@ class OpenAIEmbedding(EmbeddingBase):
|
|||||||
self.config.embedding_dims = self.config.embedding_dims or 1536
|
self.config.embedding_dims = self.config.embedding_dims or 1536
|
||||||
|
|
||||||
api_key = self.config.api_key or os.getenv("OPENAI_API_KEY")
|
api_key = self.config.api_key or os.getenv("OPENAI_API_KEY")
|
||||||
base_url = self.config.openai_base_url or os.getenv("OPENAI_API_BASE")
|
base_url = (
|
||||||
|
self.config.openai_base_url
|
||||||
|
or os.getenv("OPENAI_API_BASE")
|
||||||
|
or os.getenv("OPENAI_BASE_URL")
|
||||||
|
or "https://api.openai.com/v1"
|
||||||
|
)
|
||||||
|
if os.environ.get("OPENAI_API_BASE"):
|
||||||
|
warnings.warn(
|
||||||
|
"The environment variable 'OPENAI_API_BASE' is deprecated and will be removed in the 0.1.80. "
|
||||||
|
"Please use 'OPENAI_BASE_URL' instead.",
|
||||||
|
DeprecationWarning
|
||||||
|
)
|
||||||
|
|
||||||
self.client = OpenAI(api_key=api_key, base_url=base_url)
|
self.client = OpenAI(api_key=api_key, base_url=base_url)
|
||||||
|
|
||||||
def embed(self, text, memory_action: Optional[Literal["add", "search", "update"]] = None):
|
def embed(self, text, memory_action: Optional[Literal["add", "search", "update"]] = None):
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
import json
|
|
||||||
import os
|
import os
|
||||||
|
import warnings
|
||||||
from typing import Dict, List, Optional
|
from typing import Dict, List, Optional
|
||||||
|
|
||||||
from openai import OpenAI
|
from openai import OpenAI
|
||||||
@@ -24,7 +24,19 @@ class OpenAILLM(LLMBase):
|
|||||||
)
|
)
|
||||||
else:
|
else:
|
||||||
api_key = self.config.api_key or os.getenv("OPENAI_API_KEY")
|
api_key = self.config.api_key or os.getenv("OPENAI_API_KEY")
|
||||||
base_url = self.config.openai_base_url or os.getenv("OPENAI_API_BASE") or "https://api.openai.com/v1"
|
base_url = (
|
||||||
|
self.config.openai_base_url
|
||||||
|
or os.getenv("OPENAI_API_BASE")
|
||||||
|
or os.getenv("OPENAI_BASE_URL")
|
||||||
|
or "https://api.openai.com/v1"
|
||||||
|
)
|
||||||
|
if os.environ.get("OPENAI_API_BASE"):
|
||||||
|
warnings.warn(
|
||||||
|
"The environment variable 'OPENAI_API_BASE' is deprecated and will be removed in the 0.1.80. "
|
||||||
|
"Please use 'OPENAI_BASE_URL' instead.",
|
||||||
|
DeprecationWarning
|
||||||
|
)
|
||||||
|
|
||||||
self.client = OpenAI(api_key=api_key, base_url=base_url)
|
self.client = OpenAI(api_key=api_key, base_url=base_url)
|
||||||
|
|
||||||
def _parse_response(self, response, tools):
|
def _parse_response(self, response, tools):
|
||||||
|
|||||||
Reference in New Issue
Block a user