From 50c78e471419083d7fac42ca8ee7e8a553a421bc Mon Sep 17 00:00:00 2001 From: Zhichao Date: Thu, 12 Sep 2024 11:21:25 +0800 Subject: [PATCH 1/3] add OPENAI_API_KEY to e2b env --- vision_agent/utils/execute.py | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/vision_agent/utils/execute.py b/vision_agent/utils/execute.py index c2e0e652..d0a713cc 100644 --- a/vision_agent/utils/execute.py +++ b/vision_agent/utils/execute.py @@ -690,9 +690,11 @@ def new_instance( ) -> CodeInterpreter: if not code_sandbox_runtime: code_sandbox_runtime = os.getenv("CODE_SANDBOX_RUNTIME", "local") + openai_api_key = os.getenv("OPENAI_API_KEY", "") + envs = {"OPENAI_API_KEY": openai_api_key} if openai_api_key else None if code_sandbox_runtime == "e2b": instance: CodeInterpreter = E2BCodeInterpreter( - timeout=_SESSION_TIMEOUT, remote_path=remote_path + timeout=_SESSION_TIMEOUT, remote_path=remote_path, envs=envs ) elif code_sandbox_runtime == "local": instance = LocalCodeInterpreter( From 49a74d64e909d83c2ffb5657acf4ca82423055c2 Mon Sep 17 00:00:00 2001 From: Zhichao Date: Thu, 12 Sep 2024 14:43:07 +0800 Subject: [PATCH 2/3] add anthropic key --- vision_agent/utils/execute.py | 17 +++++++++++++++-- 1 file changed, 15 insertions(+), 2 deletions(-) diff --git a/vision_agent/utils/execute.py b/vision_agent/utils/execute.py index d0a713cc..79048a8d 100644 --- a/vision_agent/utils/execute.py +++ b/vision_agent/utils/execute.py @@ -690,9 +690,8 @@ def new_instance( ) -> CodeInterpreter: if not code_sandbox_runtime: code_sandbox_runtime = os.getenv("CODE_SANDBOX_RUNTIME", "local") - openai_api_key = os.getenv("OPENAI_API_KEY", "") - envs = {"OPENAI_API_KEY": openai_api_key} if openai_api_key else None if code_sandbox_runtime == "e2b": + envs = _get_e2b_env() instance: CodeInterpreter = E2BCodeInterpreter( timeout=_SESSION_TIMEOUT, remote_path=remote_path, envs=envs ) @@ -707,6 +706,20 @@ def new_instance( return instance +def _get_e2b_env() -> Dict[str, str] | None: + openai_api_key = os.getenv("OPENAI_API_KEY", "") + anthropic_api_key = os.getenv("ANTHROPIC_API_KEY", "") + if openai_api_key or anthropic_api_key: + envs = {} + if openai_api_key: + envs["OPENAI_API_KEY"] = openai_api_key + if anthropic_api_key: + envs["ANTHROPIC_API_KEY"] = anthropic_api_key + else: + envs = None + return envs + + def _parse_local_code_interpreter_outputs(outputs: List[Dict[str, Any]]) -> Execution: """Parse notebook cell outputs to Execution object. Output types: https://nbformat.readthedocs.io/en/latest/format_description.html#code-cell-outputs From 462684a17d6dc2a50821b1842c7c89a172d00e41 Mon Sep 17 00:00:00 2001 From: Zhichao Date: Thu, 12 Sep 2024 14:49:54 +0800 Subject: [PATCH 3/3] fix type --- vision_agent/utils/execute.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/vision_agent/utils/execute.py b/vision_agent/utils/execute.py index 79048a8d..65e9fea9 100644 --- a/vision_agent/utils/execute.py +++ b/vision_agent/utils/execute.py @@ -706,7 +706,7 @@ def new_instance( return instance -def _get_e2b_env() -> Dict[str, str] | None: +def _get_e2b_env() -> Union[Dict[str, str], None]: openai_api_key = os.getenv("OPENAI_API_KEY", "") anthropic_api_key = os.getenv("ANTHROPIC_API_KEY", "") if openai_api_key or anthropic_api_key: