From 39037dd17cf21fa5a0e69bc9d1bce1322da242ba Mon Sep 17 00:00:00 2001 From: kennymckormick Date: Tue, 19 Mar 2024 20:39:28 +0800 Subject: [PATCH] support load_env --- .env | 7 +++++++ .gitignore | 2 +- requirements.txt | 1 + run.py | 1 + vlmeval/evaluate/misc.py | 2 ++ vlmeval/smp/misc.py | 21 +++++++++++++++++++++ 6 files changed, 33 insertions(+), 1 deletion(-) create mode 100644 .env diff --git a/.env b/.env new file mode 100644 index 00000000..f2fdd44d --- /dev/null +++ b/.env @@ -0,0 +1,7 @@ +# Development Setting +INTERNAL= +ALLES= +DASHSCOPE_API_KEY= +GOOGLE_API_KEY= +OPENAI_API_KEY= +OPENAI_API_BASE= diff --git a/.gitignore b/.gitignore index 6ea7b919..ef21ec3c 100644 --- a/.gitignore +++ b/.gitignore @@ -120,7 +120,7 @@ celerybeat.pid *.sage.py # Environments -.env +# .env .venv env/ venv/ diff --git a/requirements.txt b/requirements.txt index 83350f42..ffe0011f 100644 --- a/requirements.txt +++ b/requirements.txt @@ -11,6 +11,7 @@ pandas>=1.5.3 pillow portalocker pycocoevalcap +python-dotenv requests rich seaborn diff --git a/run.py b/run.py index 12687034..0358fef8 100644 --- a/run.py +++ b/run.py @@ -144,4 +144,5 @@ def main(): if __name__ == '__main__': + load_env() main() diff --git a/vlmeval/evaluate/misc.py b/vlmeval/evaluate/misc.py index 423dce13..d900d7f3 100644 --- a/vlmeval/evaluate/misc.py +++ b/vlmeval/evaluate/misc.py @@ -1,10 +1,12 @@ import os from vlmeval.api import OpenAIWrapper, OpenAIWrapperInternal +from vlmeval.smp import load_env INTERNAL = os.environ.get('INTERNAL', 0) def build_judge(version, **kwargs): + load_env() model_map = { 'gpt-4-turbo': 'gpt-4-1106-preview', 'gpt-4-0613': 'gpt-4-0613', diff --git a/vlmeval/smp/misc.py b/vlmeval/smp/misc.py index 2a6fa7fc..dfe953c6 100644 --- a/vlmeval/smp/misc.py +++ b/vlmeval/smp/misc.py @@ -147,3 +147,24 @@ def run_command(cmd): if isinstance(cmd, str): cmd = cmd.split() return subprocess.check_output(cmd) + +def load_env(): + try: + import vlmeval + except ImportError: + warnings.warn('VLMEval is not installed. Failed to import environment variables from .env file. ') + return + pth = osp.realpath(vlmeval.__path__) + pth = osp.join('../.env') + pth = osp.realpath(pth) + if not osp.exists(pth): + warnings.warn(f'Did not detect the .env file at {pth}, failed to load. ') + return + + from dotenv import dotenv_values + values = dotenv_values(pth) + for k, v in values.items(): + if v is not None and len(v): + os.environ[k] = v + print(f'API Keys successfully loaded from {pth}') + return